Fix #147782: Workbench alpha imprecision
Regression from 1c41815c4d.
The log2/exp2 round-trip can cause imprecisions, which are especially
notable with the alpha channel.
This removes the round-trip conversion for the alpha channel.
Pull Request: https://projects.blender.org/blender/blender/pulls/148218
This commit is contained in:
@@ -38,7 +38,7 @@ void main()
|
|||||||
}
|
}
|
||||||
out_color /= taa_accumulated_weight;
|
out_color /= taa_accumulated_weight;
|
||||||
/* Exit log2 space used for Anti-aliasing. */
|
/* Exit log2 space used for Anti-aliasing. */
|
||||||
out_color = exp2(out_color) - 1.0f;
|
out_color.rgb = exp2(out_color.rgb) - 1.0f;
|
||||||
|
|
||||||
/* Avoid float precision issue. */
|
/* Avoid float precision issue. */
|
||||||
if (out_color.a > 0.999f) {
|
if (out_color.a > 0.999f) {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ void main()
|
|||||||
/* Clamp infinite inputs (See #112211). */
|
/* Clamp infinite inputs (See #112211). */
|
||||||
color = clamp(color, float4(0.0f), float4(1e10f));
|
color = clamp(color, float4(0.0f), float4(1e10f));
|
||||||
/* Use log2 space to avoid highlights creating too much aliasing. */
|
/* Use log2 space to avoid highlights creating too much aliasing. */
|
||||||
color = log2(color + 1.0f);
|
color.rgb = log2(color.rgb + 1.0f);
|
||||||
|
|
||||||
frag_color += color * samplesWeights[i];
|
frag_color += color * samplesWeights[i];
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
tests/files/render/camera/workbench_renders/camera_stereo_panoramic.png
(Stored with Git LFS)
BIN
tests/files/render/camera/workbench_renders/camera_stereo_panoramic.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/integrator/workbench_renders/complex_shadow_intersection.png
(Stored with Git LFS)
BIN
tests/files/render/integrator/workbench_renders/complex_shadow_intersection.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/integrator/workbench_renders/light_path_is_transmission_ray.png
(Stored with Git LFS)
BIN
tests/files/render/integrator/workbench_renders/light_path_is_transmission_ray.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/integrator/workbench_renders/light_path_portal_depth.png
(Stored with Git LFS)
BIN
tests/files/render/integrator/workbench_renders/light_path_portal_depth.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/light/workbench_renders/light_tree_bump_map.png
(Stored with Git LFS)
BIN
tests/files/render/light/workbench_renders/light_tree_bump_map.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/light/workbench_renders/triangle_light_sampling.png
(Stored with Git LFS)
BIN
tests/files/render/light/workbench_renders/triangle_light_sampling.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/light/workbench_renders/volume_zero_angle_distant_light.png
(Stored with Git LFS)
BIN
tests/files/render/light/workbench_renders/volume_zero_angle_distant_light.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/brick.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/brick.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/checker.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/checker.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/garbor.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/garbor.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/gradient.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/gradient.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/image.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/image.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/magic.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/magic.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/musgrave_fbm_36.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/musgrave_fbm_36.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/musgrave_hetero_terrain_36.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/musgrave_hetero_terrain_36.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/musgrave_hybrid_multifractal_36.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/musgrave_hybrid_multifractal_36.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/musgrave_ridged_multifractal_36.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/musgrave_ridged_multifractal_36.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/noise.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/noise.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/noise_lacunarity.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/noise_lacunarity.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_distace_to_edge.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_distace_to_edge.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_distace_to_edge_fractal.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_distace_to_edge_fractal.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_f1.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_f1.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_f1_fractal.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_f1_fractal.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_f2.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_f2.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_f2_fractal.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_f2_fractal.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_n_sphere_radius.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_n_sphere_radius.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_smooth_f1.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_smooth_f1.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/voronoi_smooth_f1_fractal.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/voronoi_smooth_f1_fractal.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_bands_saw.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_bands_saw.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_bands_sine.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_bands_sine.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_bands_triangle.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_bands_triangle.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_rings_saw.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_rings_saw.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_rings_sine.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_rings_sine.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/texture/workbench_renders/wave_rings_triangle.png
(Stored with Git LFS)
BIN
tests/files/render/texture/workbench_renders/wave_rings_triangle.png
(Stored with Git LFS)
Binary file not shown.
BIN
tests/files/render/volume/workbench_renders/volume_scatter_fournier-forand.png
(Stored with Git LFS)
BIN
tests/files/render/volume/workbench_renders/volume_scatter_fournier-forand.png
(Stored with Git LFS)
Binary file not shown.
Reference in New Issue
Block a user