1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| // Use combiner texturing function
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
// RGB: Interpolate: result = Arg0*Arg2 + Arg1*(1 - Arg2)
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
// Set OpenGL to use the texture's color values for Arg0
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
// Set OpenGL to use incoming (base polygon) color values for Arg1
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_PRIMARY_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
// Tell OpenGL to use the texture's alpha values for Arg2
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE2_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_ALPHA);
// Alpha: Add
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_ADD); |
Partager