Hallo,
ich habs jetzt mal versucht, aber ich kriegs einfach nicht auf die Reihe.
Das Herzstück ist folgender Teil:
Code: glTranslatef(0, 0, -2); glDisable(GL_TEXTURE_2D); glDisable(GL_BLEND); glEnable(GL_TEXTURE_SHADER_NV); for i:= 0 to 2 do for j:= 0 to 2 do matrot[i, j]:= 1.0; //die verwendung einer Rotationsmatrix hab ich aus einem NVidia - Sample, //wie kann ich sie unten bei den glMultiTexCoords weglassen, wenn //ich nur ein einfaches Quad von vorne hab? //(Erstmal will ich keine Bewegung einbauen) glEnable(GL_TEXTURE_SHADER_NV); glActiveTextureARB(GL_TEXTURE0_ARB); glBindTexture(GL_TEXTURE_2D, NormalMap); glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_TEXTURE_2D); glActiveTextureARB(GL_TEXTURE3_ARB); glBindTexture(GL_TEXTURE_CUBE_MAP_ARB, CubeMap); glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV); glTexEnvi(GL_TEXTURE_SHADER_NV, GL_PREVIOUS_TEXTURE_INPUT_NV, GL_TEXTURE0_ARB); glEnable(GL_TEXTURE_2D); glColor4f(1, 1, 1, 1); glBegin(GL_QUADS); glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0,0); glMultiTexCoord4fARB(GL_TEXTURE3_ARB, matRot[2,0], matRot[2,1], matRot[2,2], 1); glVertex2f(-1,-1); glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 1,0); glMultiTexCoord4fARB(GL_TEXTURE3_ARB, matRot[2,0], matRot[2,1], matRot[2,2], 1); glVertex2f( 1,-1); glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 1,1); glMultiTexCoord4fARB(GL_TEXTURE3_ARB, matRot[2,0], matRot[2,1], matRot[2,2], 1); glVertex2f( 1, 1); glMultiTexCoord2fARB(GL_TEXTURE0_ARB, 0,1); glMultiTexCoord4fARB(GL_TEXTURE3_ARB, matRot[2,0], matRot[2,1], matRot[2,2], 1); glVertex2f(-1, 1); glEnd;
Es wird eigentlich nur die Normalmap angezeigt.
Den Shader lade ich halt so normal beim Init.
Danke,
La_Boda
|