You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
This special Mie/Ray only luts are only generated if nedeed (start distance are not 0 on the cloud ocmponent). Measured on console with some cloud material Off - CameraVolumeLUT 0.08 ms - Some Cloud Tracing 4.39 ms On - CameraVolumeLUT 0.09 ms - Some Cloud Tracing 4.40 ms => Almost no impact on CameraVolumeLUT compute => cost of luts sampling when tracing material seems hiden in the tracing/marching cost noise. => More memory used in game: double buffered ray/mie rgba fp16 volumes are 2*2*(32*32*16)*4*2 = 512KB) #preflight https://horde.devtools.epicgames.com/job/6357d631ae33b04ec12fc07f #preflight https://horde.devtools.epicgames.com/job/63580224e456a68082adc4dc #rb Jian.Ru, Ben.Woodhouse #ushell-cherrypick of 22747354 by Sebastien.Hillaire #ushell-cherrypick of 22749809 by Sebastien.Hillaire [CL 22861302 by sebastien hillaire in ue5-main branch]
41 lines
2.0 KiB
C++
41 lines
2.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
FVolumetricCloudSceneProxy implementation.
|
|
=============================================================================*/
|
|
|
|
#include "VolumetricCloudProxy.h"
|
|
#include "Components/VolumetricCloudComponent.h"
|
|
|
|
|
|
|
|
FVolumetricCloudSceneProxy::FVolumetricCloudSceneProxy(const UVolumetricCloudComponent* InComponent)
|
|
: LayerBottomAltitudeKm(InComponent->LayerBottomAltitude)
|
|
, LayerHeightKm(InComponent->LayerHeight)
|
|
, TracingStartMaxDistance(InComponent->TracingStartMaxDistance)
|
|
, TracingMaxDistanceMode(uint8(InComponent->TracingMaxDistanceMode))
|
|
, TracingMaxDistance(InComponent->TracingMaxDistance)
|
|
, PlanetRadiusKm(InComponent->PlanetRadius)
|
|
, GroundAlbedo(InComponent->GroundAlbedo)
|
|
, bUsePerSampleAtmosphericLightTransmittance(InComponent->bUsePerSampleAtmosphericLightTransmittance)
|
|
, SkyLightCloudBottomOcclusion(InComponent->SkyLightCloudBottomOcclusion)
|
|
, ViewSampleCountScale(InComponent->ViewSampleCountScale)
|
|
, ReflectionViewSampleCountScale(InComponent->ReflectionViewSampleCountScaleValue)
|
|
, ShadowViewSampleCountScale(InComponent->ShadowViewSampleCountScale)
|
|
, ShadowReflectionViewSampleCountScale(InComponent->ShadowReflectionViewSampleCountScaleValue)
|
|
, ShadowTracingDistance(InComponent->ShadowTracingDistance)
|
|
, StopTracingTransmittanceThreshold(InComponent->StopTracingTransmittanceThreshold)
|
|
, AerialPespectiveMieScatteringStartDistance(InComponent->AerialPespectiveMieScatteringStartDistance)
|
|
, AerialPespectiveMieScatteringFadeDistance(InComponent->AerialPespectiveMieScatteringFadeDistance)
|
|
, AerialPespectiveRayleighScatteringStartDistance(InComponent->AerialPespectiveRayleighScatteringStartDistance)
|
|
, AerialPespectiveRayleighScatteringFadeDistance(InComponent->AerialPespectiveRayleighScatteringFadeDistance)
|
|
, CloudVolumeMaterial(InComponent->Material)
|
|
{
|
|
}
|
|
|
|
FVolumetricCloudSceneProxy::~FVolumetricCloudSceneProxy()
|
|
{
|
|
}
|
|
|
|
|