iluminacion - opengl ejemplos c++
identificador "" no está definido (1)
Estoy codificando una aplicación de prueba 3D OpenGL, tengo una función configurada así:
Shader::Shader(const std::string& fileName)
{
program = glCreateProgram();
shaders[0] = CreateShader(LoadShader(fileName + ".vs"), GL_VERTEX_SHADER);
shaders[1] = CreateShader(LoadShader(fileName + ".fs"), GL_FRAGMENT_SHADER);
for (unsigned int i=0; i < NUM_SHADERS; i++)
glAttachShader(program, shaders[1]);
glBindAttribLocation(program, 0, "position");
glLinkProgram(program);
}
Sin embargo, cuando intento declarar shaders[0] = CreateShader(LoadShader(fileName + ".vs"), GL_VERTEX SHADER);
Me aparece el error: el identificador "shaders" no está definido , ¿cómo puedo solucionarlo?
Olvidaste #include "shader.h"
. Esto solucionará tu problema.
Supongo que estás trabajando en algo similar a https://github.com/BennyQBD/ModernOpenGLTutorial . Aquí está la declaración para m_shaders
https://github.com/BennyQBD/ModernOpenGLTutorial/blob/master/shader.h#L29 . Está utilizando shaders
lugar.