tornavis/source/blender/gpu/shaders/material
Hoshinova 0b11c591ec Nodes: Merge Musgrave node into Noise node
This path merges the Musgrave and Noise Texture nodes into a single
combined Noise Texture node. The reasoning is that both nodes
intrinsically do the same thing, which is the layering of Perlin noise
derivatives to produce fractal noise. So the patch de-duplicates code
and unifies the use of fractal noise for the end use.

Since the Noise node had a Distortion input and a Color output, while
the Musgrave node did not, those are now available to the Musgrave types
as new functionalities.

The Dimension input of the Musgrave node is analogous to the Roughness
input of the Noise node, so both inputs were unified to follow the same
behavior of the Roughness input, which is arguable more intuitive to
control. Similarly, the Detail input was slightly different across both
nodes, since the Noise node evaluated one extra layer of noise. This was
also unified to follow the behavior of the Noise node.

The patch, coincidentally fixes an unreported bug causing repeated
output for certain noise types and another floating precision bug
#112180.

The versioning code implemented with this patch ensures backward
compatibility for both the Musgrave and Noise Texture nodes. When
opening older Blender files in Blender 4.1 the output of both nodes are
guaranteed to always be exactly identical to that of Blender files
created before the nodes were merged in all cases.

Forward compatibility with Blender 4.0 is implemented by #114236.
Forward compatibility with Blender 3.6 LTS is implemented by #115015.

Pull Request: #111187
2023-11-18 09:40:44 +01:00
..
gpu_shader_material_add_shader.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_ambient_occlusion.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_attribute.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_background.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_bevel.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_blackbody.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_bright_contrast.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_bump.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_camera.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_clamp.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_combine_color.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_combine_hsv.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_combine_rgb.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_combine_xyz.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_diffuse.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_displacement.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_eevee_specular.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_emission.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_fractal_noise.glsl Nodes: Merge Musgrave node into Noise node 2023-11-18 09:40:44 +01:00
gpu_shader_material_fractal_voronoi.glsl Fix #113235: Voronoi GLSL Shaders On Legacy Intel 2023-10-24 14:49:09 +02:00
gpu_shader_material_fresnel.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_gamma.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_geometry.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_glass.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_glossy.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_hair.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_hair_info.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_holdout.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_hue_sat_val.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_invert.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_layer_weight.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_light_falloff.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_light_path.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_map_range.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_mapping.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_mix_color.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_mix_shader.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_noise.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_normal.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_normal_map.glsl Fix #114524: EEVEE-Next: Wrong normal map node result 2023-11-07 18:58:31 +01:00
gpu_shader_material_object_info.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_output_aov.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_output_material.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_output_world.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_particle_info.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_point_info.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_principled.glsl Merge branch 'blender-v4.0-release' into main 2023-11-06 19:13:18 +01:00
gpu_shader_material_refraction.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_rgb_to_bw.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_separate_color.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_separate_hsv.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_separate_rgb.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_separate_xyz.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_set.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_shader_to_rgba.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_sheen.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_squeeze.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_subsurface_scattering.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tangent.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_tex_brick.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tex_checker.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tex_environment.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tex_gradient.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tex_image.glsl Cleanup: correct spelling, comments 2023-08-29 15:55:09 +10:00
gpu_shader_material_tex_magic.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_tex_noise.glsl Nodes: Merge Musgrave node into Noise node 2023-11-18 09:40:44 +01:00
gpu_shader_material_tex_sky.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_tex_voronoi.glsl License headers: manually integrate existing copyright into SPDX text 2023-08-24 10:57:19 +10:00
gpu_shader_material_tex_wave.glsl Nodes: Merge Musgrave node into Noise node 2023-11-18 09:40:44 +01:00
gpu_shader_material_tex_white_noise.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_texture_coordinates.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_toon.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_transform_utils.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_translucent.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_transparent.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_uv_map.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_vector_displacement.glsl Revert changes from main commits that were merged into blender-v4.0-release 2023-10-30 21:40:35 +01:00
gpu_shader_material_vector_math.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_vector_rotate.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_vertex_color.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_volume_absorption.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_volume_principled.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_volume_scatter.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_voronoi.glsl License headers: manually integrate existing copyright into SPDX text 2023-08-24 10:57:19 +10:00
gpu_shader_material_wavelength.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_wireframe.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00
gpu_shader_material_world_normals.glsl License headers: add SPDX licenses for '*.glsl' files 2023-08-24 10:57:03 +10:00