|
@@ -802,7 +802,7 @@ vec4 volumetric_fog_process(vec2 screen_uv, float z) {
|
|
|
fog_pos.z = pow(fog_pos.z, implementation_data.volumetric_fog_detail_spread);
|
|
|
}
|
|
|
|
|
|
- return texture(sampler3D(volumetric_fog_texture, DEFAULT_SAMPLER_LINEAR_CLAMP), fog_pos);
|
|
|
+ return texture(sampler3D(volumetric_fog_texture, SAMPLER_LINEAR_CLAMP), fog_pos);
|
|
|
}
|
|
|
|
|
|
vec4 fog_process(vec3 vertex) {
|
|
@@ -1379,10 +1379,10 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
|
|
|
if (uses_sh) {
|
|
|
uvw.z *= 4.0; //SH textures use 4 times more data
|
|
|
- vec3 lm_light_l0 = textureLod(sampler2DArray(lightmap_textures[ofs], DEFAULT_SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 0.0), 0.0).rgb;
|
|
|
- vec3 lm_light_l1n1 = textureLod(sampler2DArray(lightmap_textures[ofs], DEFAULT_SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 1.0), 0.0).rgb;
|
|
|
- vec3 lm_light_l1_0 = textureLod(sampler2DArray(lightmap_textures[ofs], DEFAULT_SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 2.0), 0.0).rgb;
|
|
|
- vec3 lm_light_l1p1 = textureLod(sampler2DArray(lightmap_textures[ofs], DEFAULT_SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 3.0), 0.0).rgb;
|
|
|
+ vec3 lm_light_l0 = textureLod(sampler2DArray(lightmap_textures[ofs], SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 0.0), 0.0).rgb;
|
|
|
+ vec3 lm_light_l1n1 = textureLod(sampler2DArray(lightmap_textures[ofs], SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 1.0), 0.0).rgb;
|
|
|
+ vec3 lm_light_l1_0 = textureLod(sampler2DArray(lightmap_textures[ofs], SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 2.0), 0.0).rgb;
|
|
|
+ vec3 lm_light_l1p1 = textureLod(sampler2DArray(lightmap_textures[ofs], SAMPLER_LINEAR_CLAMP), uvw + vec3(0.0, 0.0, 3.0), 0.0).rgb;
|
|
|
|
|
|
vec3 n = normalize(lightmaps.data[ofs].normal_xform * normal);
|
|
|
float en = lightmaps.data[ofs].exposure_normalization;
|
|
@@ -1399,7 +1399,7 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
- ambient_light += textureLod(sampler2DArray(lightmap_textures[ofs], DEFAULT_SAMPLER_LINEAR_CLAMP), uvw, 0.0).rgb * lightmaps.data[ofs].exposure_normalization;
|
|
|
+ ambient_light += textureLod(sampler2DArray(lightmap_textures[ofs], SAMPLER_LINEAR_CLAMP), uvw, 0.0).rgb * lightmaps.data[ofs].exposure_normalization;
|
|
|
}
|
|
|
}
|
|
|
#else
|
|
@@ -1519,18 +1519,18 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
vec2 base_coord = screen_uv;
|
|
|
vec2 closest_coord = base_coord;
|
|
|
#ifdef USE_MULTIVIEW
|
|
|
- float closest_ang = dot(normal, textureLod(sampler2DArray(normal_roughness_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(base_coord, ViewIndex), 0.0).xyz * 2.0 - 1.0);
|
|
|
+ float closest_ang = dot(normal, textureLod(sampler2DArray(normal_roughness_buffer, SAMPLER_LINEAR_CLAMP), vec3(base_coord, ViewIndex), 0.0).xyz * 2.0 - 1.0);
|
|
|
#else // USE_MULTIVIEW
|
|
|
- float closest_ang = dot(normal, textureLod(sampler2D(normal_roughness_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), base_coord, 0.0).xyz * 2.0 - 1.0);
|
|
|
+ float closest_ang = dot(normal, textureLod(sampler2D(normal_roughness_buffer, SAMPLER_LINEAR_CLAMP), base_coord, 0.0).xyz * 2.0 - 1.0);
|
|
|
#endif // USE_MULTIVIEW
|
|
|
|
|
|
for (int i = 0; i < 4; i++) {
|
|
|
const vec2 neighbors[4] = vec2[](vec2(-1, 0), vec2(1, 0), vec2(0, -1), vec2(0, 1));
|
|
|
vec2 neighbour_coord = base_coord + neighbors[i] * scene_data.screen_pixel_size;
|
|
|
#ifdef USE_MULTIVIEW
|
|
|
- float neighbour_ang = dot(normal, textureLod(sampler2DArray(normal_roughness_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(neighbour_coord, ViewIndex), 0.0).xyz * 2.0 - 1.0);
|
|
|
+ float neighbour_ang = dot(normal, textureLod(sampler2DArray(normal_roughness_buffer, SAMPLER_LINEAR_CLAMP), vec3(neighbour_coord, ViewIndex), 0.0).xyz * 2.0 - 1.0);
|
|
|
#else // USE_MULTIVIEW
|
|
|
- float neighbour_ang = dot(normal, textureLod(sampler2D(normal_roughness_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), neighbour_coord, 0.0).xyz * 2.0 - 1.0);
|
|
|
+ float neighbour_ang = dot(normal, textureLod(sampler2D(normal_roughness_buffer, SAMPLER_LINEAR_CLAMP), neighbour_coord, 0.0).xyz * 2.0 - 1.0);
|
|
|
#endif // USE_MULTIVIEW
|
|
|
if (neighbour_ang > closest_ang) {
|
|
|
closest_ang = neighbour_ang;
|
|
@@ -1545,11 +1545,11 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
}
|
|
|
|
|
|
#ifdef USE_MULTIVIEW
|
|
|
- vec4 buffer_ambient = textureLod(sampler2DArray(ambient_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(coord, ViewIndex), 0.0);
|
|
|
- vec4 buffer_reflection = textureLod(sampler2DArray(reflection_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(coord, ViewIndex), 0.0);
|
|
|
+ vec4 buffer_ambient = textureLod(sampler2DArray(ambient_buffer, SAMPLER_LINEAR_CLAMP), vec3(coord, ViewIndex), 0.0);
|
|
|
+ vec4 buffer_reflection = textureLod(sampler2DArray(reflection_buffer, SAMPLER_LINEAR_CLAMP), vec3(coord, ViewIndex), 0.0);
|
|
|
#else // USE_MULTIVIEW
|
|
|
- vec4 buffer_ambient = textureLod(sampler2D(ambient_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), coord, 0.0);
|
|
|
- vec4 buffer_reflection = textureLod(sampler2D(reflection_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), coord, 0.0);
|
|
|
+ vec4 buffer_ambient = textureLod(sampler2D(ambient_buffer, SAMPLER_LINEAR_CLAMP), coord, 0.0);
|
|
|
+ vec4 buffer_reflection = textureLod(sampler2D(reflection_buffer, SAMPLER_LINEAR_CLAMP), coord, 0.0);
|
|
|
#endif // USE_MULTIVIEW
|
|
|
|
|
|
ambient_light = mix(ambient_light, buffer_ambient.rgb, buffer_ambient.a);
|
|
@@ -1559,9 +1559,9 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
|
|
|
if (bool(implementation_data.ss_effects_flags & SCREEN_SPACE_EFFECTS_FLAGS_USE_SSAO)) {
|
|
|
#ifdef USE_MULTIVIEW
|
|
|
- float ssao = texture(sampler2DArray(ao_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(screen_uv, ViewIndex)).r;
|
|
|
+ float ssao = texture(sampler2DArray(ao_buffer, SAMPLER_LINEAR_CLAMP), vec3(screen_uv, ViewIndex)).r;
|
|
|
#else
|
|
|
- float ssao = texture(sampler2D(ao_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), screen_uv).r;
|
|
|
+ float ssao = texture(sampler2D(ao_buffer, SAMPLER_LINEAR_CLAMP), screen_uv).r;
|
|
|
#endif
|
|
|
ao = min(ao, ssao);
|
|
|
ao_light_affect = mix(ao_light_affect, max(ao_light_affect, implementation_data.ssao_light_affect), implementation_data.ssao_ao_affect);
|
|
@@ -1646,9 +1646,9 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
|
|
|
if (bool(implementation_data.ss_effects_flags & SCREEN_SPACE_EFFECTS_FLAGS_USE_SSIL)) {
|
|
|
#ifdef USE_MULTIVIEW
|
|
|
- vec4 ssil = textureLod(sampler2DArray(ssil_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), vec3(screen_uv, ViewIndex), 0.0);
|
|
|
+ vec4 ssil = textureLod(sampler2DArray(ssil_buffer, SAMPLER_LINEAR_CLAMP), vec3(screen_uv, ViewIndex), 0.0);
|
|
|
#else
|
|
|
- vec4 ssil = textureLod(sampler2D(ssil_buffer, DEFAULT_SAMPLER_LINEAR_CLAMP), screen_uv, 0.0);
|
|
|
+ vec4 ssil = textureLod(sampler2D(ssil_buffer, SAMPLER_LINEAR_CLAMP), screen_uv, 0.0);
|
|
|
#endif // USE_MULTIVIEW
|
|
|
ambient_light *= 1.0 - ssil.a;
|
|
|
ambient_light += ssil.rgb * albedo.rgb;
|
|
@@ -1932,7 +1932,7 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
vec4 trans_coord = directional_lights.data[i].shadow_matrix1 * trans_vertex;
|
|
|
trans_coord /= trans_coord.w;
|
|
|
|
|
|
- float shadow_z = textureLod(sampler2D(directional_shadow_atlas, DEFAULT_SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
+ float shadow_z = textureLod(sampler2D(directional_shadow_atlas, SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
shadow_z *= directional_lights.data[i].shadow_z_range.x;
|
|
|
float z = trans_coord.z * directional_lights.data[i].shadow_z_range.x;
|
|
|
|
|
@@ -1942,7 +1942,7 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
vec4 trans_coord = directional_lights.data[i].shadow_matrix2 * trans_vertex;
|
|
|
trans_coord /= trans_coord.w;
|
|
|
|
|
|
- float shadow_z = textureLod(sampler2D(directional_shadow_atlas, DEFAULT_SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
+ float shadow_z = textureLod(sampler2D(directional_shadow_atlas, SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
shadow_z *= directional_lights.data[i].shadow_z_range.y;
|
|
|
float z = trans_coord.z * directional_lights.data[i].shadow_z_range.y;
|
|
|
|
|
@@ -1952,7 +1952,7 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
vec4 trans_coord = directional_lights.data[i].shadow_matrix3 * trans_vertex;
|
|
|
trans_coord /= trans_coord.w;
|
|
|
|
|
|
- float shadow_z = textureLod(sampler2D(directional_shadow_atlas, DEFAULT_SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
+ float shadow_z = textureLod(sampler2D(directional_shadow_atlas, SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
shadow_z *= directional_lights.data[i].shadow_z_range.z;
|
|
|
float z = trans_coord.z * directional_lights.data[i].shadow_z_range.z;
|
|
|
|
|
@@ -1963,7 +1963,7 @@ void fragment_shader(in SceneData scene_data) {
|
|
|
vec4 trans_coord = directional_lights.data[i].shadow_matrix4 * trans_vertex;
|
|
|
trans_coord /= trans_coord.w;
|
|
|
|
|
|
- float shadow_z = textureLod(sampler2D(directional_shadow_atlas, DEFAULT_SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
+ float shadow_z = textureLod(sampler2D(directional_shadow_atlas, SAMPLER_LINEAR_CLAMP), trans_coord.xy, 0.0).r;
|
|
|
shadow_z *= directional_lights.data[i].shadow_z_range.w;
|
|
|
float z = trans_coord.z * directional_lights.data[i].shadow_z_range.w;
|
|
|
|