MCPcopy Create free account
hub / github.com/carbonengine/trinity / PopulatePerFrameData

Method PopulatePerFrameData

trinity/Tr2VolumetricsRenderer.cpp:1047–1071  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1045}
1046
1047void Tr2VolumetricsRenderer::PopulatePerFrameData( FroxelPerFrameData& data )
1048{
1049 float maxDistance = m_gameBackClip;
1050 float maxDistanceVisibility = exp( -m_froxelFogSettings.thickness.value );
1051 float baseDensity = m_froxelFogSettings.thickness.value / maxDistance;
1052
1053 float environmentG = -std::clamp( m_froxelFogSettings.environmentDirectionality.value, 0.001f, 0.999f );
1054
1055
1056 auto fogColor = m_froxelFogSettings.fogColor.value;
1057 data.FogColor = Vector3( fogColor.r, fogColor.g, fogColor.b );
1058 data.BackgroundVisibility = std::clamp( m_froxelFogSettings.backgroundVisibility.value, 0.0f, 1.0f );
1059
1060 data.BaseDensity = baseDensity;
1061 data.MaxDistance = maxDistance;
1062 data.MaxDistanceVisibility = maxDistanceVisibility;
1063 data.EnvironmentIntensity = m_froxelFogSettings.environmentIntensity.value;
1064
1065 data.EnvironmentG = environmentG;
1066
1067 for( int32_t i = 0; i < m_planets.size(); i++ )
1068 {
1069 data.planets[i] = m_planets[i];
1070 }
1071}
1072
1073void Tr2VolumetricsRenderer::SetQuality( Tr2VolumerticQuality quality )
1074{

Callers 1

Calls 2

sizeMethod · 0.80
Vector3Class · 0.70

Tested by

no test coverage detected