void FSimpleElementCollector::DrawBatchedElements(FRHICommandList& RHICmdList, const FSceneView& View, FTexture2DRHIRef DepthTexture, EBlendModeFilter::Type Filter) const { // Mobile HDR does not execute post process, so does not need to render flipped const bool bNeedToSwitchVerticalAxis = RHINeedsToSwitchVerticalAxis(View.GetShaderPlatform()) && !bIsMobileHDR; // Draw the batched elements. BatchedElements.Draw( RHICmdList, View.GetFeatureLevel(), bNeedToSwitchVerticalAxis, View.ViewProjectionMatrix, View.ViewRect.Width(), View.ViewRect.Height(), View.Family->EngineShowFlags.HitProxies, 1.0f, &View, DepthTexture, Filter ); }
static bool IsReflectionEnvironmentActive(const FSceneView& View) { FScene* Scene = (FScene*)View.Family->Scene; // LPV & Screenspace Reflections : Reflection Environment active if either LPV (assumed true if this was called), Reflection Captures or SSR active bool IsReflectingEnvironment = View.Family->EngineShowFlags.ReflectionEnvironment; bool HasReflectionCaptures = (Scene->ReflectionSceneData.RegisteredReflectionCaptures.Num() > 0); bool HasSSR = View.Family->EngineShowFlags.ScreenSpaceReflections; return (Scene->GetFeatureLevel() == ERHIFeatureLevel::SM5 && IsReflectingEnvironment && (HasReflectionCaptures || HasSSR) && !IsAnyForwardShadingEnabled(View.GetShaderPlatform())); }
bool IsAmbientCubemapPassRequired(const FSceneView& View) { FScene* Scene = (FScene*)View.Family->Scene; return View.FinalPostProcessSettings.ContributingCubemaps.Num() != 0 && !IsAnyForwardShadingEnabled(View.GetShaderPlatform()); }