diff -uNr glaxium_0.5.old/myship.cpp glaxium_0.5/myship.cpp --- glaxium_0.5.old/myship.cpp 2002-10-13 01:16:16 +0400 +++ glaxium_0.5/myship.cpp 2003-06-10 06:52:48 +0400 @@ -215,64 +215,7 @@ } - if (GLvar->bNVExtension) { - list_ = glGenLists(3); - glNewList(list_,GL_COMPILE); - { - glCombinerParameteriNV(GL_NUM_GENERAL_COMBINERS_NV,2); - - glCombinerInputNV(GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_A_NV, GL_PRIMARY_COLOR_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_B_NV, GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerOutputNV(GL_COMBINER0_NV, GL_RGB, GL_SPARE0_NV, GL_DISCARD_NV, GL_DISCARD_NV, GL_NONE, GL_NONE, GL_FALSE, GL_FALSE, GL_TRUE); - - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SECONDARY_COLOR_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_B_NV, GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerOutputNV(GL_COMBINER1_NV, GL_RGB, GL_SPARE1_NV, GL_DISCARD_NV, GL_DISCARD_NV, GL_SCALE_BY_TWO_NV, GL_NONE, GL_FALSE, GL_FALSE, GL_TRUE); - - glFinalCombinerInputNV(GL_VARIABLE_A_NV, GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_RGB); - glFinalCombinerInputNV(GL_VARIABLE_B_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glFinalCombinerInputNV(GL_VARIABLE_C_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glFinalCombinerInputNV(GL_VARIABLE_D_NV, GL_SPARE1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - - glFinalCombinerInputNV(GL_VARIABLE_G_NV, GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_ALPHA); - - glActiveTextureARB(GL_TEXTURE0_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_myship); - - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_NORMAL_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - glTranslatef(.13,0,0); - glEnable(GL_REGISTER_COMBINERS_NV); - - glActiveTextureARB(GL_TEXTURE1_ARB); - glEnable(GL_TEXTURE_2D); - - glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); - glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_galaxy); - glEnable(GL_TEXTURE_GEN_S); - glEnable(GL_TEXTURE_GEN_T); - glVertexPointer(3,GL_FLOAT,32,myship_meshes); - glNormalPointer(GL_FLOAT,32,myship_meshes+3); - glTexCoordPointer(2,GL_FLOAT,32,myship_meshes+6); - glDrawArrays(GL_TRIANGLES,0,391*3+2); - - glDisable(GL_REGISTER_COMBINERS_NV); - - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_NORMAL_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); - - glActiveTextureARB(GL_TEXTURE1_ARB); - glDisable(GL_TEXTURE_2D); - glDisable(GL_TEXTURE_GEN_S); - glDisable(GL_TEXTURE_GEN_T); - - glActiveTextureARB(GL_TEXTURE0_ARB); - } - glEndList(); - } else { + { list_ = glGenLists(4); glNewList(list_,GL_COMPILE); { diff -uNr glaxium_0.5.old/scene.cpp glaxium_0.5/scene.cpp --- glaxium_0.5.old/scene.cpp 2002-10-10 16:57:58 +0400 +++ glaxium_0.5/scene.cpp 2003-06-10 06:53:58 +0400 @@ -408,338 +408,7 @@ glAlphaFunc(GL_GREATER, .15); */ float vertexX,vertexZ, vertexY; -#if defined( GL_REGISTER_COMBINERS_NV) && defined(GL_VERTEX_PROGRAM_NV) - if (GLvar->bNVExtension && GLvar->details!=0) { - glEnable(GL_LIGHTING); - glActiveTextureARB(GL_TEXTURE1_ARB); - glEnable(GL_TEXTURE_2D); - glActiveTextureARB(GL_TEXTURE0_ARB); - glEnable(GL_TEXTURE_2D); - glCombinerParameterfvNV(GL_CONSTANT_COLOR0_NV,halfMul); - glCombinerParameterfvNV(GL_CONSTANT_COLOR1_NV,halfAdd); - - - if (GLvar->m_nRegisterCombiners>2) { - glCombinerParameteriNV(GL_NUM_GENERAL_COMBINERS_NV,3); - glCombinerInputNV(GL_COMBINER2_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER2_NV, GL_RGB, GL_VARIABLE_B_NV, GL_SECONDARY_COLOR_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerOutputNV(GL_COMBINER2_NV, GL_RGB, GL_SECONDARY_COLOR_NV, GL_DISCARD_NV, GL_DISCARD_NV, GL_NONE, GL_NONE, GL_FALSE, GL_FALSE, GL_FALSE); - } else { - glCombinerParameteriNV(GL_NUM_GENERAL_COMBINERS_NV,2); - } - - glCombinerInputNV(GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_A_NV, GL_PRIMARY_COLOR_NV, GL_EXPAND_NORMAL_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER0_NV, GL_RGB, GL_VARIABLE_B_NV, GL_TEXTURE1_ARB, GL_EXPAND_NORMAL_NV, GL_RGB); - glCombinerOutputNV(GL_COMBINER0_NV, GL_RGB, GL_SPARE0_NV, GL_DISCARD_NV, GL_DISCARD_NV, GL_NONE, GL_NONE , GL_TRUE, GL_FALSE, GL_FALSE); - - - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_A_NV, GL_SPARE0_NV, GL_SIGNED_IDENTITY_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_B_NV, GL_CONSTANT_COLOR0_NV, GL_SIGNED_IDENTITY_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_C_NV, GL_ZERO, GL_UNSIGNED_INVERT_NV, GL_RGB); - glCombinerInputNV(GL_COMBINER1_NV, GL_RGB, GL_VARIABLE_D_NV, GL_CONSTANT_COLOR1_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glCombinerOutputNV(GL_COMBINER1_NV, GL_RGB, GL_DISCARD_NV, GL_DISCARD_NV, GL_SPARE0_NV, GL_NONE, GL_NONE, GL_FALSE, GL_FALSE, GL_FALSE); - - glFinalCombinerInputNV(GL_VARIABLE_A_NV, GL_FOG, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA); - glFinalCombinerInputNV(GL_VARIABLE_B_NV, GL_E_TIMES_F_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glFinalCombinerInputNV(GL_VARIABLE_C_NV, GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - - glFinalCombinerInputNV(GL_VARIABLE_D_NV, GL_SECONDARY_COLOR_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - - glFinalCombinerInputNV(GL_VARIABLE_E_NV, GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - glFinalCombinerInputNV(GL_VARIABLE_F_NV, GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB); - - glFinalCombinerInputNV(GL_VARIABLE_G_NV, GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA); - - - glEnable(GL_REGISTER_COMBINERS_NV); - - glEnable(GL_VERTEX_PROGRAM_NV); - glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1); - - - - for (i=0; i<15; i++) { - for (int j=-3;j<3;j++) { - - texture = aFloor[((i+floorOffset)%15)*6+j+3]; - textureMap = aFloorMap[((i+floorOffset)%15)*6+j+3]; - - glActiveTextureARB(GL_TEXTURE1_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_floorMap[textureMap]); - glActiveTextureARB(GL_TEXTURE0_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_floor[texture]); - - glBegin(GL_QUADS); - - vertexX = j*3.5; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(1,1); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = (i+1)*5-floorScrollOffset; - glTexCoord2f(0,1); - vertexY = 0; - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(0,0); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(1,0); - glVertex3f(vertexX, vertexY , vertexZ); - - glEnd(); - - } - } - - - glActiveTextureARB(GL_TEXTURE1_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_floorMap[1]); - glActiveTextureARB(GL_TEXTURE0_ARB); - - - glBindTexture(GL_TEXTURE_2D, GLvar->texture_border); - glBegin(GL_QUADS); - for (i=0; i<15; i++) { - int j=-4; - vertexX = j*3.5+2; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(.5,1); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = (i+1)*5-floorScrollOffset; - glTexCoord2f(.99,1); - vertexY = 0; - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(.99,0); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(0.5,0); - glVertex3f(vertexX, vertexY , vertexZ); - - - j=3 ; - vertexX = j*3.5; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(.99,1); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = (i+1)*5-floorScrollOffset; - glTexCoord2f(0.5,1); - vertexY = 0; - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(0.5,0); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glTexCoord2f(.99,0); - glVertex3f(vertexX, vertexY , vertexZ); - - - } - glEnd(); - - - - glActiveTextureARB(GL_TEXTURE1_ARB); - glDisable(GL_TEXTURE_2D); - glDisable(GL_VERTEX_PROGRAM_NV); - glDisable(GL_REGISTER_COMBINERS_NV); - glActiveTextureARB(GL_TEXTURE0_ARB); - - } else -#endif - if (GLvar->bEXTEnvDot3 && GLvar->details!=0) { - static float interpolateCoef[] = { .55,.55,.55,.55 }; - int oldFloor = 0; - int oldFloorMap = 0; - - glDisable(GL_LIGHTING); - glActiveTextureARB(GL_TEXTURE0_ARB); - glEnable(GL_TEXTURE_2D); - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_DOT3_RGB_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT, GL_TEXTURE); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT, GL_PRIMARY_COLOR_EXT); - - glActiveTextureARB(GL_TEXTURE1_ARB); - glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, interpolateCoef); - glEnable(GL_TEXTURE_2D); - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_INTERPOLATE_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT, GL_TEXTURE); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT, GL_PREVIOUS_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE2_RGB_EXT, GL_CONSTANT_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA_EXT, GL_REPLACE); - glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA_EXT, GL_TEXTURE); - - - for (i=0; i<15; i++) { - for (int j=-3;j<3;j++) { - - texture = aFloor[((i+floorOffset)%15)*6+j+3]; - textureMap = aFloorMap[((i+floorOffset)%15)*6+j+3]; - - if (GLvar->texture_floorMap[textureMap]!=oldFloorMap) { - oldFloorMap = GLvar->texture_floorMap[textureMap]; - glActiveTextureARB(GL_TEXTURE0_ARB); - glBindTexture(GL_TEXTURE_2D, oldFloorMap); - } - - if (GLvar->texture_floorMap[texture]!=oldFloor) { - oldFloor = GLvar->texture_floor[texture]; - glActiveTextureARB(GL_TEXTURE1_ARB); - glBindTexture(GL_TEXTURE_2D, oldFloor); - } - - - glBegin(GL_QUADS); - - vertexX = j*3.5; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,1,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,1); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = (i+1)*5-floorScrollOffset; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,1); - vertexY = 0; - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,1,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,1,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - glEnd(); - } - } - - glActiveTextureARB(GL_TEXTURE0_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_floorMap[1]); - glActiveTextureARB(GL_TEXTURE1_ARB); - glBindTexture(GL_TEXTURE_2D, GLvar->texture_border); - - glBegin(GL_QUADS); - for (i=0; i<15; i++) { - int j=-4; - vertexX = j*3.5+2; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,.5,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,.5,1); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = (i+1)*5-floorScrollOffset; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0.99,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0.99,1); - vertexY = 0; - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0.99,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0.99,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,.5,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,.5,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - - j=3 ; - vertexX = j*3.5; - vertexZ = (i+1)*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0.99,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0.99,1); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = (i+1)*5-floorScrollOffset; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,.5,1); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,.5,1); - vertexY = 0; - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5+2; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,.5,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,.5,0); - glTexCoord2f(0.5,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - - vertexX = j*3.5; - vertexZ = i*5-floorScrollOffset; - vertexY = 0; - glMultiTexCoord2fARB(GL_TEXTURE0_ARB,0.99,0); - glMultiTexCoord2fARB(GL_TEXTURE1_ARB,0.99,0); - glColor3fv(getDirection(vertexX, vertexY, vertexZ)); - glVertex3f(vertexX, vertexY , vertexZ); - } - glEnd(); - - - glActiveTextureARB(GL_TEXTURE1_ARB); - glDisable(GL_TEXTURE_2D); - glActiveTextureARB(GL_TEXTURE0_ARB); - glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); - - } else { + { // BASIC OPENGL RENDERING @@ -1500,59 +1169,6 @@ glMultiTexCoord2fARB=(PFNGLMULTITEXCOORD2FARBPROC)wglGetProcAddress("glMultiTexCoord2fARB"); #endif -#if defined( GL_REGISTER_COMBINERS_NV) && defined(GL_VERTEX_PROGRAM_NV) - if (GLvar->bNVExtension) { -#ifdef WIN32 - glCombinerParameteriNV=(PFNGLCOMBINERPARAMETERINVPROC)wglGetProcAddress("glCombinerParameteriNV"); - glCombinerInputNV=(PFNGLCOMBINERINPUTNVPROC)wglGetProcAddress("glCombinerInputNV"); - glCombinerOutputNV=(PFNGLCOMBINEROUTPUTNVPROC)wglGetProcAddress("glCombinerOutputNV"); - glFinalCombinerInputNV=(PFNGLFINALCOMBINERINPUTNVPROC)wglGetProcAddress("glFinalCombinerInputNV"); - glCombinerParameterfvNV=(PFNGLCOMBINERPARAMETERFVNVPROC)wglGetProcAddress("glCombinerParameterfvNV"); - glLoadProgramNV=(PFNGLLOADPROGRAMNVPROC )wglGetProcAddress("glLoadProgramNV"); - glBindProgramNV=(PFNGLBINDPROGRAMNVPROC)wglGetProcAddress("glBindProgramNV"); - glTrackMatrixNV=(PFNGLTRACKMATRIXNVPROC)wglGetProcAddress("glTrackMatrixNV"); - glProgramParameter4fNV=(PFNGLPROGRAMPARAMETER4FNVPROC)wglGetProcAddress("glProgramParameter4fNV"); -#else - glCombinerParameteriNV=(PFNGLCOMBINERPARAMETERINVPROC)glXGetProcAddressARB((const GLubyte *)"glCombinerParameteriNV"); - glCombinerInputNV=(PFNGLCOMBINERINPUTNVPROC)glXGetProcAddressARB((const GLubyte *)"glCombinerInputNV"); - glCombinerOutputNV=(PFNGLCOMBINEROUTPUTNVPROC)glXGetProcAddressARB((const GLubyte *)"glCombinerOutputNV"); - glFinalCombinerInputNV=(PFNGLFINALCOMBINERINPUTNVPROC)glXGetProcAddressARB((const GLubyte *)"glFinalCombinerInputNV"); - glCombinerParameterfvNV=(PFNGLCOMBINERPARAMETERFVNVPROC)glXGetProcAddressARB((const GLubyte *)"glCombinerParameterfvNV"); - glLoadProgramNV=(PFNGLLOADPROGRAMNVPROC )glXGetProcAddressARB((const GLubyte *)"glLoadProgramNV"); - glBindProgramNV=(PFNGLBINDPROGRAMNVPROC)glXGetProcAddressARB((const GLubyte *)"glBindProgramNV"); - glTrackMatrixNV=(PFNGLTRACKMATRIXNVPROC)glXGetProcAddressARB((const GLubyte *)"glTrackMatrixNV"); - glProgramParameter4fNV=(PFNGLPROGRAMPARAMETER4FNVPROC)glXGetProcAddressARB((const GLubyte *)"glProgramParameter4fNV"); -#endif - // enabled in when required - glDisable(GL_VERTEX_PROGRAM_NV); - //Now we enable VERTEX PROGRAMS. And Load it up. - glBindProgramNV(GL_VERTEX_PROGRAM_NV, 1); - glLoadProgramNV(GL_VERTEX_PROGRAM_NV, 1, strlen((char * ) floorShader), floorShader); - - //Load the Projection matrix into Vector Registers c[0]... - glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 0, GL_MODELVIEW_PROJECTION_NV, GL_IDENTITY_NV); - glTrackMatrixNV(GL_VERTEX_PROGRAM_NV, 4, GL_MODELVIEW, GL_INVERSE_TRANSPOSE_NV); - //Load the Light position into Vector Register c[8]. - // glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 8, posX, 2 , posZ, 1); // Light direction - glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 8, 0, 10 , 20, 1); // Light direction - // c[9].x : lumiere vaisseau - // FOG = dist * c[9].z + / c[9].y - // linear near = 40; far = 70; - // c[9].y : -40 - // c[9].z : 1/(fog far- fog near) = 1/30 = - // c[9].w : ambiant floor color (c[9].w,c[9].w,c[9].w); - glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 9, 3, -40 , 0.0333333, .25); // Constant - // c[10] - glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 10, .5, 0.5 , .5, 1); // Constant for bump map... - // c[11] : camera position - glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 11, 1,1,1,1); - // c[12] : fog for secondary color - glProgramParameter4fNV(GL_VERTEX_PROGRAM_NV, 12, -.2 - , 0, 0, 0); - - - } -#endif } /* diff -uNr glaxium_0.5.old/variables.cpp glaxium_0.5/variables.cpp --- glaxium_0.5.old/variables.cpp 2002-10-18 01:53:00 +0400 +++ glaxium_0.5/variables.cpp 2003-06-10 06:49:12 +0400 @@ -169,8 +169,8 @@ rotateMyShip=0.0f; delay =0; bShadows=true; - bNVExtension = isExtensionSupported("GL_NV_register_combiners") && isExtensionSupported("GL_NV_vertex_program"); - bEXTEnvDot3 = isExtensionSupported("GL_EXT_texture_env_dot3")&& isExtensionSupported("GL_EXT_texture_env_combine"); + bNVExtension = false; + bEXTEnvDot3 = false; bARBCubeMap = isExtensionSupported("GL_ARB_texture_cube_map"); details = 0; // Number of teture unit