62 glActiveTexture(GL_TEXTURE0);
63 glBindTexture(GL_TEXTURE_2D,
texture_.gl_id);
65 GL_TEXTURE_2D, 0, GL_RGBA16F, texture_width, texture_height, 0, GL_RGBA, GL_HALF_FLOAT, 0);
68 glBindTexture(GL_TEXTURE_2D, 0);
86 glBindBuffer(GL_PIXEL_UNPACK_BUFFER,
texture_.gl_pbo_id);
87 glBufferData(GL_PIXEL_UNPACK_BUFFER, size_in_bytes, 0, GL_DYNAMIC_DRAW);
88 glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
197 glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
201 glActiveTexture(GL_TEXTURE0);
202 glBindTexture(GL_TEXTURE_2D,
texture_.gl_id);
206 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
209 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
217 GLuint vertex_array_object;
218 glGenVertexArrays(1, &vertex_array_object);
219 glBindVertexArray(vertex_array_object);
224 glEnableVertexAttribArray(texcoord_attribute);
225 glEnableVertexAttribArray(position_attribute);
227 glVertexAttribPointer(
228 texcoord_attribute, 2, GL_FLOAT, GL_FALSE, 4 *
sizeof(
float), (
const GLvoid *)0);
229 glVertexAttribPointer(position_attribute,
234 (
const GLvoid *)(
sizeof(
float) * 2));
236 glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
238 glBindBuffer(GL_ARRAY_BUFFER, 0);
239 glBindTexture(GL_TEXTURE_2D, 0);
241 glDeleteVertexArrays(1, &vertex_array_object);
312 LOG(ERROR) <<
"Error creating texture.";
317 glActiveTexture(GL_TEXTURE0);
318 glBindTexture(GL_TEXTURE_2D,
texture_.gl_id);
319 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
320 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
321 glBindTexture(GL_TEXTURE_2D, 0);
324 glGenBuffers(1, &
texture_.gl_pbo_id);
326 LOG(ERROR) <<
"Error creating texture pixel buffer object.";