Blender V5.0
SkyMultipleScattering Class Reference

Public Member Functions

 SkyMultipleScattering (const float air_density, const float aerosol_density, const float ozone_density)
float4 get_transmittance (const float cos_theta, const float normalized_altitude) const
float4 get_inscattering (const float3 sun_dir, const float3 ray_origin, const float3 ray_dir, const float t_d) const
void precompute_lut ()

Protected Member Functions

void get_atmosphere_collision_coefficients (const float altitude, float4 &aerosol_absorption, float4 &aerosol_scattering, float4 &molecular_absorption, float4 &molecular_scattering) const
float4 lookup_multiscattering (float cos_theta, float normalized_height, float d) const
float4 lookup_transmittance (const float cos_theta, const float normalized_altitude) const
float4 lookup_transmittance_at_ground (const float cos_theta) const
float4 lookup_transmittance_to_sun (const float normalized_altitude) const

Protected Attributes

float4 transmittance_lut [TRANSMITTANCE_RES_Y][TRANSMITTANCE_RES_X]
float air_density
float aerosol_density
float ozone_density

Detailed Description

Definition at line 122 of file sky_multiple_scattering.cpp.

Constructor & Destructor Documentation

◆ SkyMultipleScattering()

SkyMultipleScattering::SkyMultipleScattering ( const float air_density,
const float aerosol_density,
const float ozone_density )
inline

Definition at line 124 of file sky_multiple_scattering.cpp.

References aerosol_density, air_density, and ozone_density.

Member Function Documentation

◆ get_atmosphere_collision_coefficients()

void SkyMultipleScattering::get_atmosphere_collision_coefficients ( const float altitude,
float4 & aerosol_absorption,
float4 & aerosol_scattering,
float4 & molecular_absorption,
float4 & molecular_scattering ) const
inlineprotected

◆ get_inscattering()

◆ get_transmittance()

float4 SkyMultipleScattering::get_transmittance ( const float cos_theta,
const float normalized_altitude ) const
inline

◆ lookup_multiscattering()

float4 SkyMultipleScattering::lookup_multiscattering ( float cos_theta,
float normalized_height,
float d ) const
inlineprotected

◆ lookup_transmittance()

float4 SkyMultipleScattering::lookup_transmittance ( const float cos_theta,
const float normalized_altitude ) const
inlineprotected

◆ lookup_transmittance_at_ground()

float4 SkyMultipleScattering::lookup_transmittance_at_ground ( const float cos_theta) const
inlineprotected

◆ lookup_transmittance_to_sun()

float4 SkyMultipleScattering::lookup_transmittance_to_sun ( const float normalized_altitude) const
inlineprotected

◆ precompute_lut()

void SkyMultipleScattering::precompute_lut ( )
inline

Member Data Documentation

◆ aerosol_density

float SkyMultipleScattering::aerosol_density
protected

◆ air_density

float SkyMultipleScattering::air_density
protected

◆ ozone_density

float SkyMultipleScattering::ozone_density
protected

◆ transmittance_lut


The documentation for this class was generated from the following file: