MCPcopy Create free account
hub / github.com/InteractiveComputerGraphics/SPlisHSPlasH / createAndLinkProgram

Method createAndLinkProgram

GUI/OpenGL/Shader.cpp:55–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53
54
55void Shader::createAndLinkProgram()
56{
57 m_program = glCreateProgram ();
58 for (unsigned char i = 0; i < 3; i++)
59 {
60 if (m_shaders[i] != 0)
61 glAttachShader(m_program, m_shaders[i]);
62 }
63
64 GLint status;
65 glLinkProgram (m_program);
66 glGetProgramiv (m_program, GL_LINK_STATUS, &status);
67 if (status == GL_TRUE)
68 m_initialized = true;
69 else
70 {
71 GLint infoLogLength;
72
73 glGetProgramiv (m_program, GL_INFO_LOG_LENGTH, &infoLogLength);
74 GLchar *infoLog= new GLchar[infoLogLength];
75 glGetProgramInfoLog (m_program, infoLogLength, NULL, infoLog);
76 std::cerr << "Link log: " << infoLog << std::endl;
77 delete [] infoLog;
78 }
79
80 for (unsigned char i = 0; i < 3; i++)
81 glDeleteShader(m_shaders[i]);
82}
83
84void Shader::destroy()
85{

Callers 6

initShadersMethod · 0.80
createShaderMethod · 0.80
createShaderMethod · 0.80
initShadersMethod · 0.80
createShaderMethod · 0.80
initShadersMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected