Hey, ich hab grade gemerkt, dass die Methode wie ich sie verwende (aus nem Tutorial) 2 Texturen überblenden zu lassen bei eingeschaltetem depth test nicht funktioniert (ist ja auch logisch weils 2x die gleiche position ist).
Gibts ne Elegantere Art das zu lösen als ich es tue, sodass der Depth test anbleiben kann? (außer die dreiecke an leicht andere Positionen zu verschieben)
Grüße
Gibts ne Elegantere Art das zu lösen als ich es tue, sodass der Depth test anbleiben kann? (außer die dreiecke an leicht andere Positionen zu verschieben)
Java:
//glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glViewport(0, 0, 800, 600);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45, 800 / 600, 0.1f, 1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glTranslatef(0, 0 , -6f);
while(!Display.isCloseRequested()){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0,2,8,
0,0,0,
0,1,0);
glPushMatrix();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
glColor4f(1,1,1,0.5f);
t1.bind();
glBindTexture(GL_TEXTURE_2D, t1.getTextureID());
glBegin(GL_TRIANGLES);
glTexCoord3f(-1,-1, 0); glVertex3f(-1,-1,0);
glTexCoord3f(1,-1, 0); glVertex3f(1,-1,0);
glTexCoord3f(0,1, 0); glVertex3f(0,1,0);
glEnd();
t2.bind();
glBindTexture(GL_TEXTURE_2D, t2.getTextureID());
glBegin(GL_TRIANGLES);
glTexCoord3f(-1,-1, 0); glVertex3f(-1,-1,0);
glTexCoord3f(1,-1, 0); glVertex3f(1,-1,0);
glTexCoord3f(0,1, 0); glVertex3f(0,1,0);
glEnd();
Grüße
Zuletzt bearbeitet: