本文整理汇总了C++中Entity::GetCastShadow方法的典型用法代码示例。如果您正苦于以下问题:C++ Entity::GetCastShadow方法的具体用法?C++ Entity::GetCastShadow怎么用?C++ Entity::GetCastShadow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Entity
的用法示例。
在下文中一共展示了Entity::GetCastShadow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Enter
//------------------------------------------------------------------------------------
void Scene::Enter()
{
g_env.pSceneMgr->ClearScene();
if(!m_bSetup)
{
m_setupFunc(this);
m_bSetup = true;
}
// Compute and store the scene aabb
m_sceneAABB.SetNull();
m_sceneShadowCasterAABB.SetNull();
m_sceneShadowReceiverAABB.SetNull();
for (size_t i=0; i<m_lstEntity.size(); ++i)
{
Entity* pEntity = m_lstEntity[i];
pEntity->UpdateAABB();
m_sceneAABB.Merge(pEntity->GetWorldAABB());
if (pEntity->GetCastShadow())
{
m_sceneShadowCasterAABB.Merge(pEntity->GetWorldAABB());
}
m_sceneShadowReceiverAABB.Merge(pEntity->GetWorldAABB());
}
m_enterFunc(this);
}
示例2: RenderPipline
//-------------------------------------------------------------------------------
void SceneManager::RenderPipline(uint32 phaseFlag, Material* pMaterial)
{
//================================================================================
/// Render sky
//================================================================================
if (m_pSky && phaseFlag&eRenderPhase_Sky)
{
m_pSky->Render();
}
//================================================================================
/// Render terrain
//================================================================================
if (m_pTerrain && phaseFlag&eRenderPhase_Terrain)
{
m_pTerrain->Render(pMaterial);
}
else if (m_pTerrain && phaseFlag&eRenderPhase_ShadowMap)
{
m_pTerrain->Render(m_pTerrain->GetShadowMaterial());
}
//================================================================================
/// Render SSAO map
//================================================================================
if (phaseFlag & eRenderPhase_SSAO)
{
m_pSSAO->Update();
// Make use of early-Z
D3D11_DEPTH_STENCIL_DESC& depthDesc = m_pRenderSystem->GetDepthStencilDesc();
depthDesc.DepthFunc = D3D11_COMPARISON_EQUAL;
depthDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO;
m_pRenderSystem->SetDepthStencelState(depthDesc);
}
//================================================================================
/// Render entities
//================================================================================
Scene::EntityList& lstEntity = m_pCurScene->GetEntityList();
if (phaseFlag & eRenderPhase_Solid)
{
for (size_t i=0; i<lstEntity.size(); ++i)
{
lstEntity[i]->Render(pMaterial);
}
}
else if (phaseFlag & eRenderPhase_ShadowMap)
{
for (size_t i=0; i<lstEntity.size(); ++i)
{
Entity* ent = lstEntity[i];
if(ent->GetCastShadow())
ent->Render();
}
}
if (phaseFlag & eRenderPhase_SSAO)
{
D3D11_DEPTH_STENCIL_DESC& depthDesc = m_pRenderSystem->GetDepthStencilDesc();
depthDesc.DepthFunc = D3D11_COMPARISON_LESS;
depthDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL;
m_pRenderSystem->SetDepthStencelState(depthDesc);
}
//================================================================================
/// Render water
//================================================================================
if (m_pWater && phaseFlag&eRenderPhase_Water)
{
m_pWater->Render();
}
//================================================================================
/// Render UI
//================================================================================
if (phaseFlag & eRenderPhase_UI)
{
D3D11_DEPTH_STENCIL_DESC& depthDesc = m_pRenderSystem->GetDepthStencilDesc();
depthDesc.DepthEnable = FALSE;
depthDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ZERO;
m_pRenderSystem->SetDepthStencelState(depthDesc);
char szBuf[64];
sprintf_s(szBuf, sizeof(szBuf), "lastFPS : %f", g_env.pFrameStat->lastFPS);
m_pRenderSystem->DrawText(szBuf, IPOINT(10,10), Neo::SColor::YELLOW);
// Debug RT
if (m_debugRT == eDebugRT_SSAO)
{
m_pDebugRTMesh->Render();
}
else if (m_debugRT == eDebugRT_ShadowMap)
{
m_pDebugRTMesh->Render();
}
depthDesc.DepthEnable = TRUE;
//.........这里部分代码省略.........