if(advanced) { glEnable(GL_FOG); /* //The one below is these two multiplied glActiveTextureARB(GL_TEXTURE0_ARB); glEnable(GL_TEXTURE_2D); glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE); glBindTexture(GL_TEXTURE_2D, terrain.shaddowMap_tex_id); glActiveTextureARB(GL_TEXTURE1_ARB); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, terrain.colorMap_tex_id); */ //Detta funkar istället för dem 2 styckena ovan glActiveTextureARB(GL_TEXTURE0_ARB); glEnable(GL_TEXTURE_2D); glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE); glBindTexture(GL_TEXTURE_2D, terrain.single_texture_id); glActiveTextureARB(GL_TEXTURE2_ARB); glEnable(GL_TEXTURE_2D); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB); glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2); glBindTexture(GL_TEXTURE_2D, terrain.worleyMap_tex_id); glMatrixMode(GL_TEXTURE); // Reset the current matrix and apply our chosen scale value glLoadIdentity(); glScalef(DetailScale, DetailScale, 1); glMatrixMode(GL_MODELVIEW); glActiveTextureARB(GL_TEXTURE3_ARB); glEnable(GL_TEXTURE_2D); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB); //glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 1); glTexEnvi(GL_TEXTURE_ENV, GL_RGB_SCALE_ARB, 2); glBindTexture(GL_TEXTURE_2D, terrain.worleyMap_tex_id); glMatrixMode(GL_TEXTURE); // Reset the current matrix and apply our chosen scale value glLoadIdentity(); glScalef(DetailScale/10.0f, DetailScale/10.0f, 1); glMatrixMode(GL_MODELVIEW); } else glBindTexture( GL_TEXTURE_2D, terrain.single_texture_id);