Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/volumetric_lib.glsl
| Show First 20 Lines • Show All 180 Lines • ▼ Show 20 Lines | #ifdef IRRADIANCE_HL2 | ||||
| irradiance += ir_data.cubesides[0] + ir_data.cubesides[1] + ir_data.cubesides[2]; | irradiance += ir_data.cubesides[0] + ir_data.cubesides[1] + ir_data.cubesides[2]; | ||||
| irradiance *= 0.16666666; /* 1/6 */ | irradiance *= 0.16666666; /* 1/6 */ | ||||
| return irradiance; | return irradiance; | ||||
| #else | #else | ||||
| return vec3(0.0); | return vec3(0.0); | ||||
| #endif | #endif | ||||
| } | } | ||||
| uniform sampler3D inScattering; | |||||
| uniform sampler3D inTransmittance; | |||||
| void volumetric_resolve(vec2 frag_uvs, | void volumetric_resolve(vec2 frag_uvs, | ||||
| float frag_depth, | float frag_depth, | ||||
| out vec3 transmittance, | out vec3 transmittance, | ||||
| out vec3 scattering) | out vec3 scattering) | ||||
| { | { | ||||
| vec3 volume_cos = ndc_to_volume(vec3(frag_uvs, frag_depth)); | vec3 volume_cos = ndc_to_volume(vec3(frag_uvs, frag_depth)); | ||||
| scattering = texture(inScattering, volume_cos).rgb; | scattering = texture(inScattering, volume_cos).rgb; | ||||
| transmittance = texture(inTransmittance, volume_cos).rgb; | transmittance = texture(inTransmittance, volume_cos).rgb; | ||||
| } | } | ||||