本文整理汇总了C++中CLight::Enabled方法的典型用法代码示例。如果您正苦于以下问题:C++ CLight::Enabled方法的具体用法?C++ CLight::Enabled怎么用?C++ CLight::Enabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CLight
的用法示例。
在下文中一共展示了CLight::Enabled方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Render
void CShader_Deferred::Render()
{
glEnable(GL_BLEND);
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
// Set shader
GetGame()->GetRenderSystem()->SetShader(GetGame()->GetRenderSystem()->GetShader("deferred"));
// Enable positions
glEnableVertexAttribArray(0);
if (GetGame()->GetGLSLVersion() == GLSL_VERSION_130)
{
glBindAttribLocation(GetID(), 0, "vertexPos_MS");
glBindAttribLocation(GetID(), 1, "vertexTexCoords");
}
glBindBuffer(GL_ARRAY_BUFFER, GetGame()->GetRenderSystem()->GetScreenQuad());
glVertexAttribPointer(
0,
2,
GL_FLOAT,
GL_FALSE,
0,
(void*)0
);
// Enable UVs
glEnableVertexAttribArray(1);
glBindBuffer(GL_ARRAY_BUFFER, GetGame()->GetRenderSystem()->GetScreenUVs());
glVertexAttribPointer(
1,
2,
GL_FLOAT,
GL_FALSE,
0,
(void*)0
);
for (unsigned int i = 0; i < GetGame()->GetSceneManager()->GetLightCount(); i++)
{
CLight* light = GetGame()->GetSceneManager()->GetLight(i);
if (light->Enabled())
{
GetGame()->GetRenderSystem()->SetCurLight(light);
Update();
glDrawArrays(GL_TRIANGLES, 0, 8);
}
}
// Clean up
glDisableVertexAttribArray(0);
glDisableVertexAttribArray(1);
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDisable(GL_BLEND);
}