Exemplo n.º 1
0
void DirectxEngine::RenderSceneMap(const IScene& scene, float timer)
{
    m_data->sceneTarget.SetActive(m_data->context);

    RenderTerrain(scene);
    RenderShadows();
    RenderMeshes(scene);
    RenderWater(scene, timer);
    RenderEmitters(scene);
}
Exemplo n.º 2
0
    void DX11Pipeline::GeometryStage(const RenderQueue& renderQueue)
    {
        mGBuffer.BindForGeometryStage(mDSV);

		mTerrainPass.Render( renderQueue.mTerrains );

		mGBuffer.BindForRendering();

        // static meshes
		const auto staticBeginIndex = renderQueue.mCamera.mStaticMeshesBegin;
		const auto staticEndIndex = renderQueue.mCamera.mStaticMeshesEnd;
		const auto& staticMeshesContainer = renderQueue.mRenderData.mStaticMeshes;
		mGBuffer.BindForStaticPass();
		RenderMeshes(renderQueue, staticMeshesContainer, staticBeginIndex, staticEndIndex);
        
        // animated meshes
        const auto animatedBeginIndex = renderQueue.mCamera.mAnimatedMeshesBegin;
		const auto animatedEndIndex = renderQueue.mCamera.mAnimatedMeshesEnd;
		const auto& animatedMeshesContainer = renderQueue.mRenderData.mAnimatedMeshes;
		mGBuffer.BindForAnimatedPass();
		RenderMeshes(renderQueue, animatedMeshesContainer, animatedBeginIndex, animatedEndIndex);
    }