本文整理汇总了C++中Renderable::drawObject方法的典型用法代码示例。如果您正苦于以下问题:C++ Renderable::drawObject方法的具体用法?C++ Renderable::drawObject怎么用?C++ Renderable::drawObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Renderable
的用法示例。
在下文中一共展示了Renderable::drawObject方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: render
void PerPixelRenderer::render(Renderable& rend)
{
if(_released) {
DefaultRenderer::render(rend);
return;
}
glEnable(GL_TEXTURE_2D);
//render shadow map
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glMatrixMode(GL_PROJECTION);
glPushMatrix();
for(int i=0; i<MAX_LIGHTS; i++)
if(glIsEnabled(GL_LIGHT0+i)) {
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,_fboId[i]);
glViewport(0,0,_w*_shadowRatio,_h*_shadowRatio);
setupMatrices(i);
setTextureMatrix(i);
glCullFace(GL_FRONT);
beforeShadowDraw(i);
rend.drawObject();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,0);
afterShadowDraw(i);
}
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
//render scene
glViewport(0,0,_w,_h);
glColorMask(GL_TRUE,GL_TRUE,GL_TRUE,GL_TRUE);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
if(_showLight)drawLights();
if(_shaderDraw)_shaderDraw->begin();
beforeShadowRender(_shaderDraw);
glCullFace(GL_BACK);
rend.drawObject();
if(_shaderDraw)_shaderDraw->end();
}