Base GPU Sky Generator¶
-
class BaseGpuSkyGenerator¶
Public Functions
-
BaseGpuSkyGenerator()¶
-
virtual ~BaseGpuSkyGenerator()¶
-
void Reset()¶
-
inline bool GetEnabled() const¶
Whether this GPU sky generator should be used to calculate the sky.”)
-
inline void SetEnabled(bool v)¶
-
virtual void RestoreDeviceObjects(crossplatform::RenderPlatform*)¶
Platform-dependent function called when initializing the Sky Generator.
-
virtual void InvalidateDeviceObjects()¶
Platform-dependent function called when uninitializing the Sky Generator.
-
virtual void RecompileShaders()¶
Platform-dependent function to reload the shaders - only use this for debug purposes.
-
inline virtual void SetDirectTargets(crossplatform::Texture **loss, crossplatform::Texture **insc, crossplatform::Texture **skyl, crossplatform::StructuredBuffer<vec4, crossplatform::BufferUsageHint::ONCE> **brt, crossplatform::Texture *light_t)¶
-
inline virtual bool CanPerformGPUGeneration() const¶
Return true if the derived class can make sky tables using the GPU.
-
float GetBrightness(int cycled_index) const¶
-
virtual void MakeLossAndInscatterTextures(crossplatform::DeviceContext &deviceContext, float4 wavelengthsNm, int cycled_index, simul::sky::AtmosphericScatteringInterface *skyInterface, const GpuSkyParameters &gpuSkyParameters, const GpuSkyAtmosphereParameters &gpuSkyAtmosphereParameters, const GpuSkyInfraredParameters &gpuSkyInfraredParameters)¶
-
void MakeLossAndInscatterTextures(crossplatform::DeviceContext &deviceContext, sky::float4 wavelengthsNm, simul::sky::AtmosphericScatteringInterface *skyInterface, const sky::GpuSkyParameters &p, const sky::GpuSkyAtmosphereParameters &a, const sky::GpuSkyInfraredParameters &ir, int &texIndex, crossplatform::Texture *loss, crossplatform::Texture *insc, crossplatform::Texture *skyl, crossplatform::StructuredBuffer<vec4, crossplatform::BufferUsageHint::ONCE> *skyBrightness, int cycled_index)¶
-
inline crossplatform::Texture *GetOpticalDepthTexture()¶
-
inline crossplatform::Texture *GetDensityTexture()¶
-
BaseGpuSkyGenerator()¶
-
struct GpuTexGenStats¶
Subclassed by simul::sky::GpuSkyParameters
-
struct GpuMoon¶
-
struct GpuPhysicalSkyParameters¶
-
struct GpuColourTextureSpec¶
-
struct GpuSkyParameters : public simul::sky::GpuTexGenStats¶
Public Members
-
float blendToColours¶
-
float brightnessPower¶
-
GpuPhysicalSkyParameters physical¶
-
GpuColourTextureSpec colour¶
-
float blendToColours¶
-
struct GpuSkyAtmosphereParameters¶
-
struct GpuSkyInfraredParameters¶