MCPcopy Create free account
hub / github.com/OpenKinect/libfreenect2 / build

Method build

src/opengl_depth_packet_processor.cpp:178–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176 }
177
178 void build()
179 {
180 GLint status;
181
182 gl()->glCompileShader(vertex_shader);
183 gl()->glGetShaderiv(vertex_shader, GL_COMPILE_STATUS, &status);
184
185 if(status != GL_TRUE)
186 {
187 gl()->glGetShaderInfoLog(vertex_shader, sizeof(error_buffer), NULL, error_buffer);
188
189 LOG_ERROR << "failed to compile vertex shader!" << std::endl << error_buffer;
190 }
191
192 gl()->glCompileShader(fragment_shader);
193
194 gl()->glGetShaderiv(fragment_shader, GL_COMPILE_STATUS, &status);
195 if(status != GL_TRUE)
196 {
197 gl()->glGetShaderInfoLog(fragment_shader, sizeof(error_buffer), NULL, error_buffer);
198
199 LOG_ERROR << "failed to compile fragment shader!" << std::endl << error_buffer;
200 }
201
202 program = gl()->glCreateProgram();
203 gl()->glAttachShader(program, vertex_shader);
204 gl()->glAttachShader(program, fragment_shader);
205
206 for(FragDataMap::iterator it = frag_data_map_.begin(); it != frag_data_map_.end(); ++it)
207 {
208 gl()->glBindFragDataLocation(program, it->second, it->first.c_str());
209 }
210
211 gl()->glLinkProgram(program);
212
213 gl()->glGetProgramiv(program, GL_LINK_STATUS, &status);
214
215 if(status != GL_TRUE)
216 {
217 gl()->glGetProgramInfoLog(program, sizeof(error_buffer), NULL, error_buffer);
218 LOG_ERROR << "failed to link shader program!" << std::endl << error_buffer;
219 }
220 CHECKGL();
221 }
222
223 GLint getAttributeLocation(const std::string& name)
224 {

Callers 3

buildProgramMethod · 0.45
initializeMethod · 0.45
buildProgramMethod · 0.45

Calls 2

beginMethod · 0.80
endMethod · 0.80

Tested by

no test coverage detected