OpenGL Belnding
-
hallo zusammen,
ich schreibe gerade eine 3d-anwendung mit opengl und wollte blending integrieren, ich hab unter anderem folgende einsellungen vorgenommen:
glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDepthMask( FALSE ); glDepthFunc(GL_LEQUAL);dann an anderer stelle das material gesetzt und gerendert:
this->_material_amb_diff_front[0] = 5.0f; this->_material_amb_diff_front[1]= 1.0f; this->_material_amb_diff_front[2]= 0.0f; this->_material_amb_diff_front[3] = .66f;// ...
wenn ich blending usw. ausgeschaltet hab wir alles normal gerendert so wies sein soll, aber mit blending hat mein objekt komische "dreieck-fehler" (Bild: http://w3studi.informatik.uni-stuttgart.de/~friedrho/goblet.jpg ). Weiss vielleicht einer woran das liegt ?
Danke schonmal
Gruss Heiko
-
durch die Kompression kann man nicht so toll unterscheiden was ein Fehler ist und was durch die verlustbehaftete Kompression entstanden ist - eine Wireframe Model dazu bzw. ein alternativ Bild ohne Kompression könnte weiterhelfen
-
Jedenfalls musst du die Dreiecke selbst in der Tiefe sortieren, sowie Z-Buffer und Backface Culling deaktivieren.
Bye, TGGC
-
ok ich hab jetzt mal backface culling deaktiviert, allerdings dachte ich dass ich den zbuffer aktiviert lassen kann wenn ich "glDepthMask( FALSE )" setze ???
also muss ich praktisch die dreiecke selber sortieren und dann zeichnen ?hier hab ich nochmal n deutlicheres bild: http://w3studi.informatik.uni-stuttgart.de/~friedrho/goblet2.bmp