本文整理汇总了C++中Context::ClearDepthBuffer方法的典型用法代码示例。如果您正苦于以下问题:C++ Context::ClearDepthBuffer方法的具体用法?C++ Context::ClearDepthBuffer怎么用?C++ Context::ClearDepthBuffer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Context
的用法示例。
在下文中一共展示了Context::ClearDepthBuffer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
void Render(double time)
{
const GLfloat clear_color[4] = {0.8f, 0.8f, 0.7f, 0.0f};
gl.ClearColorBuffer(0, clear_color);
gl.ClearDepthBuffer(1.0f);
//
// set the matrix for camera orbiting the origin
camera_matrix.Set(
CamMatrixf::Orbiting(
Vec3f(),
3.5,
Degrees(time * 15),
Degrees(SineWave(time / 6.3) * 45)
)
);
model_matrix.Set(
ModelMatrixf::Translation(-1.0, 0.0, 0.0) *
ModelMatrixf::RotationZ(Degrees(time * 180))
);
cube_instr.Draw(cube_indices);
model_matrix.Set(
ModelMatrixf::Translation(+1.0, 0.0, 0.0) *
ModelMatrixf::RotationY(Degrees(time * 90))
);
cube_instr.Draw(cube_indices);
}
示例2: RenderFrameShadowMap
void RenderFrameShadowMap(
const Vec3f& light_position,
const Mat4f& torus_matrix,
const Mat4f& light_proj_matrix
)
{
frame_shadow_fbo.Bind(Framebuffer::Target::Draw);
gl.Viewport(shadow_tex_side, shadow_tex_side);
gl.ClearDepthBuffer(1.0f);
gl.CullFace(Face::Back);
transf_prog.camera_matrix.Set(light_proj_matrix);
transf_prog.camera_position.Set(light_position);
// Render the torus' frame
transf_prog.model_matrix.Set(torus_matrix);
shadow_pp.Bind();
gl.Enable(Capability::PolygonOffsetFill);
torus.Draw(
[](GLuint phase) -> bool
{
return (phase <= 3);
}
);
gl.Disable(Capability::PolygonOffsetFill);
}