void Process( const FProcessBasePassMeshParameters& Parameters, const LightMapPolicyType& LightMapPolicy, const typename LightMapPolicyType::ElementDataType& LightMapElementData ) const { FScene::EBasePassDrawListType DrawType = FScene::EBasePass_Default; if (StaticMesh->IsMasked()) { DrawType = FScene::EBasePass_Masked; } // Find the appropriate draw list for the static mesh based on the light-map policy type. TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType> >& DrawList = Scene->GetForwardShadingBasePassDrawList<LightMapPolicyType>(DrawType); // Add the static mesh to the draw list. DrawList.AddMesh( StaticMesh, typename TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType>::ElementDataType(LightMapElementData), TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType>( StaticMesh->VertexFactory, StaticMesh->MaterialRenderProxy, *Parameters.Material, LightMapPolicy, Parameters.BlendMode, Parameters.TextureMode ) ); }
void Process( FRHICommandList& RHICmdList, const FProcessBasePassMeshParameters& Parameters, const LightMapPolicyType& LightMapPolicy, const typename LightMapPolicyType::ElementDataType& LightMapElementData ) const { FScene::EBasePassDrawListType DrawType = FScene::EBasePass_Default; if (StaticMesh->IsMasked(Parameters.FeatureLevel)) { DrawType = FScene::EBasePass_Masked; } if (Scene) { // Find the appropriate draw list for the static mesh based on the light-map policy type. TStaticMeshDrawList<TBasePassDrawingPolicy<LightMapPolicyType> >& DrawList = Scene->GetBasePassDrawList<LightMapPolicyType>(DrawType); // Add the static mesh to the draw list. DrawList.AddMesh( StaticMesh, typename TBasePassDrawingPolicy<LightMapPolicyType>::ElementDataType(LightMapElementData), TBasePassDrawingPolicy<LightMapPolicyType>( StaticMesh->VertexFactory, StaticMesh->MaterialRenderProxy, *Parameters.Material, Parameters.FeatureLevel, LightMapPolicy, Parameters.BlendMode, Parameters.TextureMode, Parameters.ShadingModel != MSM_Unlit && Scene->SkyLight && Scene->SkyLight->bWantsStaticShadowing && !Scene->SkyLight->bHasStaticLighting, IsTranslucentBlendMode(Parameters.BlendMode) && Scene->HasAtmosphericFog(), /* bOverrideWithShaderComplexity = */ false, /* bInAllowGlobalFog = */ false, /* bInEnableEditorPrimitiveDepthTest = */ false, /* bInEnableReceiveDecalOutput = */ true ), Scene->GetFeatureLevel() ); } }
void Process( FRHICommandList& RHICmdList, const FProcessBasePassMeshParameters& Parameters, const LightMapPolicyType& LightMapPolicy, const typename LightMapPolicyType::ElementDataType& LightMapElementData ) const { FScene::EBasePassDrawListType DrawType = FScene::EBasePass_Default; if (StaticMesh->IsMasked(Parameters.FeatureLevel)) { DrawType = FScene::EBasePass_Masked; } // Find the appropriate draw list for the static mesh based on the light-map policy type. TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType> >& DrawList = Scene->GetForwardShadingBasePassDrawList<LightMapPolicyType>(DrawType); ERHIFeatureLevel::Type FeatureLevel = Scene->GetFeatureLevel(); // Add the static mesh to the draw list. DrawList.AddMesh( StaticMesh, typename TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType>::ElementDataType(LightMapElementData), TBasePassForForwardShadingDrawingPolicy<LightMapPolicyType>( StaticMesh->VertexFactory, StaticMesh->MaterialRenderProxy, *Parameters.Material, LightMapPolicy, Parameters.BlendMode, Parameters.TextureMode, Parameters.ShadingModel != MSM_Unlit && Scene && Scene->ShouldRenderSkylight(), false, FeatureLevel ), FeatureLevel ); }