|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| class | SkyMultipleScattering |
Functions | |
| float | molecular_phase_function (const float cos_theta) |
| float | aerosol_phase_function (const float cos_theta) |
| float4 | get_molecular_scattering_coefficient (const float h) |
| float4 | get_molecular_absorption_coefficient (const float h) |
| float | get_aerosol_density (const float h) |
| float3 | spectral_to_xyz (const float4 L) |
| void | SKY_multiple_scattering_precompute_texture (float *pixels, int stride, int width, int height, float sun_elevation, float altitude, float air_density, float aerosol_density, float ozone_density) |
| void | SKY_multiple_scattering_precompute_sun (float sun_elevation, float angular_diameter, float altitude, float air_density, float aerosol_density, float ozone_density, float r_pixel_bottom[3], float r_pixel_top[3]) |
| float | SKY_earth_intersection_angle (float altitude) |
Definition at line 88 of file sky_multiple_scattering.cpp.
References cos_theta(), G, M_1_4PI_F, SQR_G, and sqrtf.
Referenced by SkyMultipleScattering::get_inscattering().
Definition at line 106 of file sky_multiple_scattering.cpp.
References AEROSOL_BACKGROUND_DENSITY, AEROSOL_BASE_DENSITY, AEROSOL_HEIGHT_SCALE, and expf.
Referenced by SkyMultipleScattering::get_atmosphere_collision_coefficients().
Definition at line 99 of file sky_multiple_scattering.cpp.
References expf, fmaxf, logf, OZONE_ABSORPTION_CROSS_SECTION, OZONE_MEAN_DOBSON, and sqr.
Referenced by SkyMultipleScattering::get_atmosphere_collision_coefficients().
Definition at line 94 of file sky_multiple_scattering.cpp.
References expf, MOLECULAR_SCATTERING_COEFFICIENT_BASE, and powf.
Referenced by SkyMultipleScattering::get_atmosphere_collision_coefficients().
Definition at line 83 of file sky_multiple_scattering.cpp.
References cos_theta(), RAYLEIGH_PHASE_SCALE, and sqr.
Referenced by SkyMultipleScattering::get_inscattering().
Definition at line 397 of file sky_multiple_scattering.cpp.
References asinf, EARTH_RADIUS, and M_PI_2_F.
Referenced by sky_texture_precompute_nishita().
| void SKY_multiple_scattering_precompute_sun | ( | float | sun_elevation, |
| float | angular_diameter, | ||
| float | altitude, | ||
| float | air_density, | ||
| float | aerosol_density, | ||
| float | ozone_density, | ||
| float | r_pixel_bottom[3], | ||
| float | r_pixel_top[3] ) |
Definition at line 360 of file sky_multiple_scattering.cpp.
References ATMOSPHERE_THICKNESS, clamp(), cosf, SkyMultipleScattering::get_transmittance(), M_2PI_F, M_PI_2_F, spectral_to_xyz(), SUN_SPECTRAL_IRRADIANCE, top, float3::x, float3::y, and float3::z.
Referenced by SkyTextureNode::get_sun_average_radiance(), and sky_texture_precompute_nishita().
| void SKY_multiple_scattering_precompute_texture | ( | float * | pixels, |
| int | stride, | ||
| int | width, | ||
| int | height, | ||
| float | sun_elevation, | ||
| float | altitude, | ||
| float | air_density, | ||
| float | aerosol_density, | ||
| float | ozone_density ) |
Definition at line 302 of file sky_multiple_scattering.cpp.
References ATMOSPHERE_RADIUS, begin(), clamp(), copysignf, cosf, EARTH_RADIUS, SkyMultipleScattering::get_inscattering(), L, l, M_2PI_F, M_PI_2_F, make_float2, make_float3(), SkyMultipleScattering::precompute_lut(), ray_sphere_intersection(), sinf, SKY_parallel_for(), spectral_to_xyz(), sqr, sun_direction(), float2::x, float3::x, x, float2::y, float3::y, y, and float3::z.
Referenced by SkyLoader::load_pixels(), and blender::nodes::node_shader_tex_sky_cc::node_shader_gpu_tex_sky().
Definition at line 112 of file sky_multiple_scattering.cpp.
References i, L, make_float3(), and SPECTRAL_XYZ.
Referenced by SKY_multiple_scattering_precompute_sun(), and SKY_multiple_scattering_precompute_texture().
|
static |
Definition at line 68 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_atmosphere_collision_coefficients().
|
static |
Definition at line 73 of file sky_multiple_scattering.cpp.
Referenced by get_aerosol_density().
|
static |
Definition at line 72 of file sky_multiple_scattering.cpp.
Referenced by get_aerosol_density().
|
static |
Definition at line 74 of file sky_multiple_scattering.cpp.
Referenced by get_aerosol_density().
|
static |
Definition at line 70 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_atmosphere_collision_coefficients().
|
static |
Definition at line 51 of file sky_multiple_scattering.cpp.
Referenced by atmosphere_intersection(), SkyMultipleScattering::get_transmittance(), and SKY_multiple_scattering_precompute_texture().
|
static |
Definition at line 50 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_inscattering(), and SKY_multiple_scattering_precompute_sun().
|
static |
Definition at line 48 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_inscattering(), SkyMultipleScattering::get_transmittance(), SkyMultipleScattering::lookup_multiscattering(), ray_optical_depth(), single_scattering(), SKY_earth_intersection_angle(), SKY_multiple_scattering_precompute_texture(), SKY_single_scattering_precompute_texture(), sun_radiation(), and surface_intersection().
|
static |
Definition at line 45 of file sky_multiple_scattering.cpp.
|
static |
Definition at line 41 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::lookup_multiscattering().
|
static |
Definition at line 54 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_inscattering().
|
static |
Definition at line 62 of file sky_multiple_scattering.cpp.
Referenced by get_molecular_scattering_coefficient().
|
static |
Definition at line 64 of file sky_multiple_scattering.cpp.
Referenced by get_molecular_absorption_coefficient().
|
static |
Definition at line 67 of file sky_multiple_scattering.cpp.
Referenced by get_molecular_absorption_coefficient().
Definition at line 42 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::lookup_multiscattering().
Definition at line 43 of file sky_multiple_scattering.cpp.
Referenced by molecular_phase_function().
|
static |
Definition at line 76 of file sky_multiple_scattering.cpp.
Referenced by spectral_to_xyz().
Definition at line 46 of file sky_multiple_scattering.cpp.
Referenced by aerosol_phase_function(), and phase_mie().
|
static |
Definition at line 61 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_inscattering(), and SKY_multiple_scattering_precompute_sun().
|
static |
Definition at line 57 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::lookup_transmittance(), SkyMultipleScattering::lookup_transmittance_at_ground(), SkyMultipleScattering::lookup_transmittance_to_sun(), and SkyMultipleScattering::precompute_lut().
|
static |
Definition at line 58 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::lookup_transmittance(), SkyMultipleScattering::lookup_transmittance_to_sun(), and SkyMultipleScattering::precompute_lut().
|
static |
Definition at line 53 of file sky_multiple_scattering.cpp.
Referenced by SkyMultipleScattering::get_transmittance().