Hi everyone,
i want to find out how unreal engine manages the scene and how it draws the objects. I found out, that the renderer gets a list of all components that have to be drawn. But I’m not really sure if there is any order in this list?!
And I have a question for transparent objects. In DeferredShadingRenderer.cpp i read this code:
// Draw translucency.
if (ViewFamily.EngineShowFlags.Translucency)
{
SCOPE_CYCLE_COUNTER(STAT_TranslucencyDrawTime);
RHICmdList.SetCurrentStat(GET_STATID(STAT_CLM_Translucency));
RenderTranslucency(RHICmdList);
ServiceLocalQueue();
if (ViewFamily.EngineShowFlags.Refraction)
{
// To apply refraction effect by distorting the scene color.
// After non separate translucency as that is considered at scene depth anyway
// It allows skybox translucency (set to non separate translucency) to be refracted.
RHICmdList.SetCurrentStat(GET_STATID(STAT_CLM_RenderDistortion));
RenderDistortion(RHICmdList);
ServiceLocalQueue();
}
RHICmdList.SetCurrentStat(GET_STATID(STAT_CLM_AfterTranslucency));
}
-
what does this :“ViewFamily” mean? which family?
-
is it right that unreal group all transparent object to one state like i read here?
RHICmdList.SetCurrentStat(GET_STATID(STAT_CLM_Translucency));
RenderTranslucency(RHICmdList);
ServiceLocalQueue(); -
where is the back to front order for transparent objects?
Would be great if anyone knows whats going on.