本文整理汇总了C++中operations::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ operations::clear方法的具体用法?C++ operations::clear怎么用?C++ operations::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类operations
的用法示例。
在下文中一共展示了operations::clear方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: render
void render(const example_state_view& state)
override
{
rad += radians_(0.5f*state.frame_duration().value());
current_buf = (current_buf+1)%2;
gl.uniform(
prog.light_pos,
vec3(cos(rad)*4, sin(rad)*4, 8)
);
gl.uniform(
prog.modelview,
matrix_rotation_x(rad*1)*
matrix_rotation_y(rad*2)*
matrix_rotation_z(rad*3)
);
// draw into the texture
gl.bind(GL.draw_framebuffer, rnd_tex.fbos[current_buf]);
gl.viewport(tex_side, tex_side);
GLfloat s = 0.5f;
gl.uniform(
prog.projection,
oglplus::matrix_perspective(-s,+s, -s,+s, 1.0f, 5)*
oglplus::matrix_translation(0,0,-2)
);
gl.clear(GL.color_buffer_bit|GL.depth_buffer_bit);
gl.draw_arrays(GL.triangles, 0, 6 * 2 * 3);
// draw on screen
gl.bind(GL.draw_framebuffer, default_framebuffer);
gl.viewport(state.width(), state.height());
gl.uniform(prog.cube_tex, GLint(current_buf));
GLfloat h = 0.55f;
GLfloat w = h*state.aspect();
gl.uniform(
prog.projection,
oglplus::matrix_perspective(-w,+w, -h,+h, 1, 3)*
oglplus::matrix_translation(0,0,-2)
);
gl.clear(GL.color_buffer_bit|GL.depth_buffer_bit);
gl.draw_arrays(GL.triangles, 0, 6 * 2 * 3);
}
示例2:
rendered_textures(GLsizei tex_side)
{
for(GLuint i=0; i<2u; ++i)
{
texture_name tex = texs[i];
gl.active_texture(GL.texture0+i);
gl.bind(GL.texture_2d, tex);
gl.texture_min_filter(GL.texture_2d, GL.linear);
gl.texture_mag_filter(GL.texture_2d, GL.linear);
gl.texture_image_2d(
GL.texture_2d,
0,
GL.rgb,
tex_side, tex_side,
0,
GL.rgb,
GL.unsigned_byte,
const_memory_block()
);
renderbuffer_name rbo = rbos[i];
gl.bind(GL.renderbuffer, rbo);
gl.renderbuffer_storage(
GL.renderbuffer,
GL.depth_component,
tex_side, tex_side
);
framebuffer_name fbo = fbos[i];
gl.bind(GL.draw_framebuffer, fbo);
gl.framebuffer_texture_2d(
GL.draw_framebuffer,
GL.color_attachment0,
GL.texture_2d,
tex, 0
);
gl.framebuffer_renderbuffer(
GL.draw_framebuffer,
GL.depth_attachment,
GL.renderbuffer,
rbo
);
gl.viewport(tex_side, tex_side);
gl.clear(GL.color_buffer_bit);
}
gl.bind(GL.draw_framebuffer, default_framebuffer);
gl.bind(GL.renderbuffer, no_renderbuffer);
}
示例3: render
void render(const example_state_view& state)
override
{
gl.use(erase_prog);
gl.disable(GL.depth_test);
background.use();
background.draw();
shp_turns += 0.1f*state.frame_duration().value();
gl.use(light_prog);
gl.uniform(
light_prog.modelview,
matrix_rotation_x(turns_(shp_turns)/1)*
matrix_rotation_y(turns_(shp_turns)/2)*
matrix_rotation_z(turns_(shp_turns)/3)
);
gl.clear(GL.depth_buffer_bit);
gl.enable(GL.depth_test);
shape.use();
shape.draw();
}
示例4: render
void render(const example_state_view& /*state*/)
override
{
gl.clear(GL.color_buffer_bit|GL.depth_buffer_bit);
cube.draw();
}