Normal maps

Started by
0 comments, last by Sunray 21 years, 1 month ago
Hi! I'm trying to implement normal-maps, i read this, http://tfpsly.planet-d.net/english/3d/pplight_bump.html I would be very happy if someone explained how to implement it Some test code i wrote
      
//...Enable GL_LIGHT0...


glActiveTextureARB(GL_TEXTURE0_ARB);
glEnable(GL_TEXTURE_2D);
 
//...Bind texture...

 
// I'm not sure about this

glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_COMBINE_EXT);
glTexEnvi(GL_TEXTURE_ENV,GL_RGB_SCALE_EXT,1);

glActiveTextureARB(GL_TEXTURE1_ARB);
glEnable(GL_TEXTURE_2D);
 
//...Bind normalmap...

 
// Taken from the URL. 0x8741 = GL_DOT3_RGBA_EXT (google)

glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_COMBINE_EXT);
glTexEnvi(GL_TEXTURE_ENV,GL_COMBINE_RGB_EXT, 0x8741);
glTexEnvi(GL_TEXTURE_ENV,GL_SOURCE1_RGB_EXT,GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV,GL_OPERAND1_RGB_EXT,GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV,GL_SOURCE0_RGB_EXT,GL_PREVIOUS_EXT);
glTexEnvi(GL_TEXTURE_ENV,GL_OPERAND0_RGB_EXT,GL_SRC_COLOR);

glBegin(GL_QUADS);
	glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0,0);
	glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,0);
	glNormal3f(0,1,0);
	glVertex3f(-30.0f, 0, -30.0f);

	glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0,12);
	glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,12);
	glNormal3f(0,1,0);
	glVertex3f(-30.0f, 0,  30.0f);

	glMultiTexCoord2fARB(GL_TEXTURE0_ARB,12,12);
	glMultiTexCoord2fARB(GL_TEXTURE1_ARB,12,12);
	glNormal3f(0,1,0);
	glVertex3f( 30.0f, 0,  30.0f);

	glMultiTexCoord2fARB(GL_TEXTURE0_ARB,12,0);
	glMultiTexCoord2fARB(GL_TEXTURE1_ARB,12,0);
	glNormal3f(0,1,0);
	glVertex3f( 30.0f, 0, -30.0f);
glEnd();

glActiveTextureARB(GL_TEXTURE1_ARB);
glDisable(GL_TEXTURE_2D);

glActiveTextureARB(GL_TEXTURE0_ARB);
glDisable(GL_TEXTURE_2D);
      
Cheers! [edited by - Sunray on March 7, 2003 6:25:44 AM] [edited by - Sunray on March 7, 2003 6:26:25 AM] [edited by - Sunray on March 7, 2003 6:26:45 AM]
[size="1"]Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots | http://sunray.cplusplus.se
Advertisement
My simple bump mapping tutorial is here.

http://users.ox.ac.uk/~univ1234

This topic is closed to new replies.

Advertisement