FBoundShaderStateInput TDistortionMeshDrawingPolicy<DistortMeshPolicy>::GetBoundShaderStateInput(ERHIFeatureLevel::Type InFeatureLevel) { FPixelShaderRHIParamRef PixelShaderRHIRef = NULL; if (bOverrideWithShaderComplexity) { check(!bInitializeOffsets); //later TShaderMapRef<FShaderComplexityAccumulatePixelShader> ShaderComplexityAccumulatePixelShader(GetGlobalShaderMap(InFeatureLevel)); //later PixelShaderRHIRef = ShaderComplexityAccumulatePixelShader->GetPixelShader(); } if (bInitializeOffsets) { //later PixelShaderRHIRef = InitializePixelShader->GetPixelShader(); } else { PixelShaderRHIRef = DistortPixelShader->GetPixelShader(); } return FBoundShaderStateInput( FMeshDrawingPolicy::GetVertexDeclaration(), VertexShader->GetVertexShader(), GETSAFERHISHADER_HULL(HullShader), GETSAFERHISHADER_DOMAIN(DomainShader), PixelShaderRHIRef, FGeometryShaderRHIRef()); }
/** * Create bound shader state using the vertex decl from the mesh draw policy * as well as the shaders needed to draw the mesh * @return new bound shader state object */ FBoundShaderStateInput FDepthDrawingPolicy::GetBoundShaderStateInput(ERHIFeatureLevel::Type InFeatureLevel) { return FBoundShaderStateInput( FMeshDrawingPolicy::GetVertexDeclaration(), VertexShader->GetVertexShader(), GETSAFERHISHADER_HULL(HullShader), GETSAFERHISHADER_DOMAIN(DomainShader), bNeedsPixelShader ? PixelShader->GetPixelShader() : NULL, NULL); }
/** * Create bound shader state using the vertex decl from the mesh draw policy * as well as the shaders needed to draw the mesh * @return new bound shader state object */ FBoundShaderStateRHIRef FDepthDrawingPolicy::CreateBoundShaderState() { return RHICreateBoundShaderState( FMeshDrawingPolicy::GetVertexDeclaration(), VertexShader->GetVertexShader(), GETSAFERHISHADER_HULL(HullShader), GETSAFERHISHADER_DOMAIN(DomainShader), bNeedsPixelShader ? PixelShader->GetPixelShader() : NULL, NULL); }
FBoundShaderStateInput FVelocityDrawingPolicy::GetBoundShaderStateInput(ERHIFeatureLevel::Type InFeatureLevel) { return FBoundShaderStateInput( FMeshDrawingPolicy::GetVertexDeclaration(), VertexShader->GetVertexShader(), GETSAFERHISHADER_HULL(HullShader), GETSAFERHISHADER_DOMAIN(DomainShader), PixelShader->GetPixelShader(), FGeometryShaderRHIRef()); }