|
|
|
@@ -223,6 +223,9 @@ errorret_t shaderSetTextureGL(
|
|
|
|
|
"Only one texture supported in legacy opengl."
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// glActiveTexture(GL_TEXTURE0);
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
if(texture == NULL) {
|
|
|
|
|
glDisable(GL_TEXTURE_2D);
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
@@ -233,9 +236,23 @@ errorret_t shaderSetTextureGL(
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
|
glBindTexture(GL_TEXTURE_2D, texture->id);
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_PRIMARY_COLOR);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
assertNotNull(shader->definition, "Shader definition cannot be null");
|
|
|
|
|
assertNotNull(shader->definition->setTexture, "Shader cannot do textures.");
|
|
|
|
@@ -254,8 +271,46 @@ errorret_t shaderSetColorGL(
|
|
|
|
|
assertStrLenMin(name, 1, "Uniform name cannot be empty");
|
|
|
|
|
|
|
|
|
|
#ifdef DUSK_OPENGL_LEGACY
|
|
|
|
|
glColor4ub(color.r, color.g, color.b, color.a);
|
|
|
|
|
errorChain(errorGLCheck());
|
|
|
|
|
// if(color.a == 0) {
|
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// errorOk();
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// glActiveTexture(GL_TEXTURE1);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
// if(color.r == 255 && color.g == 255 && color.b == 255) {
|
|
|
|
|
// glDisable(GL_TEXTURE_2D);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// errorOk();
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// glEnable(GL_TEXTURE_2D);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glBindTexture(GL_TEXTURE_2D, TEXTURE_WHITE.id);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
|
|
|
|
|
// GLfloat tint[4] = {
|
|
|
|
|
// ((float_t)color.r) / 255.0f,
|
|
|
|
|
// ((float_t)color.g) / 255.0f,
|
|
|
|
|
// ((float_t)color.b) / 255.0f,
|
|
|
|
|
// ((float_t)color.a) / 255.0f
|
|
|
|
|
// };
|
|
|
|
|
// glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, tint);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_PREVIOUS);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_CONSTANT);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
// glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
|
|
|
|
|
// errorChain(errorGLCheck());
|
|
|
|
|
#else
|
|
|
|
|
GLint location;
|
|
|
|
|
errorChain(shaderParamGetLocationGL(shader, name, &location));
|
|
|
|
|