diff options
author | OmarSquircleArt <omar.squircleart@gmail.com> | 2019-08-30 18:23:04 +0300 |
---|---|---|
committer | OmarSquircleArt <omar.squircleart@gmail.com> | 2019-08-30 18:28:57 +0300 |
commit | 8cd0da88e55a0c0f88297a5f0f770eb40acc6219 (patch) | |
tree | 585b9bcc07ce392c6164ac0230d56d617ac051ca /source/blender/gpu/intern/gpu_material_library.h | |
parent | ac646bc20dafe176c1b84ee5beddf980aba11358 (diff) |
GPU: Split gpu_shader_material into multiple files.
This patch continue the efforts to split the `gpu_shader_material` file
started in D5569.
Dependency resolution is now recursive. Each shading node gets its own
file. Additionally, some utility files are added to be shared between
files, like `math_util`, `color_util`, and `hash`. Some files are always
included because they may be used in the execution function, like
`world_normals`.
Some glsl functions appeared to be unused, so they were removed, like
`output_node`, `bits_to_01`, and `exp_blender`. Other functions have
been renamed to be more general and get used as utils, like `texco_norm`
which became `vector_normalize`.
A lot of the opengl tests fails, but those same tests also fail in
master, so this is probably unrelated to this patch.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D5616
Diffstat (limited to 'source/blender/gpu/intern/gpu_material_library.h')
-rw-r--r-- | source/blender/gpu/intern/gpu_material_library.h | 628 |
1 files changed, 618 insertions, 10 deletions
diff --git a/source/blender/gpu/intern/gpu_material_library.h b/source/blender/gpu/intern/gpu_material_library.h index 7160a56a60e..99a71094753 100644 --- a/source/blender/gpu/intern/gpu_material_library.h +++ b/source/blender/gpu/intern/gpu_material_library.h @@ -31,19 +31,627 @@ typedef struct GPUMaterialLibrary { char *code; - char *dependencies[8]; + struct GPUMaterialLibrary *dependencies[8]; } GPUMaterialLibrary; -extern char datatoc_gpu_shader_material_glsl[]; +extern char datatoc_gpu_shader_material_add_shader_glsl[]; +extern char datatoc_gpu_shader_material_ambient_occlusion_glsl[]; +extern char datatoc_gpu_shader_material_anisotropic_glsl[]; +extern char datatoc_gpu_shader_material_attribute_glsl[]; +extern char datatoc_gpu_shader_material_background_glsl[]; +extern char datatoc_gpu_shader_material_bevel_glsl[]; +extern char datatoc_gpu_shader_material_blackbody_glsl[]; +extern char datatoc_gpu_shader_material_bright_contrast_glsl[]; +extern char datatoc_gpu_shader_material_bump_glsl[]; +extern char datatoc_gpu_shader_material_camera_glsl[]; +extern char datatoc_gpu_shader_material_cell_noise_glsl[]; +extern char datatoc_gpu_shader_material_clamp_glsl[]; +extern char datatoc_gpu_shader_material_color_ramp_glsl[]; +extern char datatoc_gpu_shader_material_color_util_glsl[]; +extern char datatoc_gpu_shader_material_combine_hsv_glsl[]; +extern char datatoc_gpu_shader_material_combine_rgb_glsl[]; +extern char datatoc_gpu_shader_material_combine_xyz_glsl[]; +extern char datatoc_gpu_shader_material_diffuse_glsl[]; +extern char datatoc_gpu_shader_material_displacement_glsl[]; +extern char datatoc_gpu_shader_material_eevee_specular_glsl[]; +extern char datatoc_gpu_shader_material_emission_glsl[]; +extern char datatoc_gpu_shader_material_fractal_noise_glsl[]; +extern char datatoc_gpu_shader_material_fresnel_glsl[]; +extern char datatoc_gpu_shader_material_gamma_glsl[]; +extern char datatoc_gpu_shader_material_geometry_glsl[]; +extern char datatoc_gpu_shader_material_glass_glsl[]; +extern char datatoc_gpu_shader_material_glossy_glsl[]; +extern char datatoc_gpu_shader_material_hair_info_glsl[]; extern char datatoc_gpu_shader_material_hash_glsl[]; -extern char datatoc_gpu_shader_material_magic_glsl[]; -extern char datatoc_gpu_shader_material_white_noise_glsl[]; +extern char datatoc_gpu_shader_material_holdout_glsl[]; +extern char datatoc_gpu_shader_material_hue_sat_val_glsl[]; +extern char datatoc_gpu_shader_material_invert_glsl[]; +extern char datatoc_gpu_shader_material_layer_weight_glsl[]; +extern char datatoc_gpu_shader_material_light_falloff_glsl[]; +extern char datatoc_gpu_shader_material_light_path_glsl[]; +extern char datatoc_gpu_shader_material_mapping_glsl[]; +extern char datatoc_gpu_shader_material_map_range_glsl[]; +extern char datatoc_gpu_shader_material_math_glsl[]; +extern char datatoc_gpu_shader_material_math_util_glsl[]; +extern char datatoc_gpu_shader_material_mix_rgb_glsl[]; +extern char datatoc_gpu_shader_material_mix_shader_glsl[]; +extern char datatoc_gpu_shader_material_noise_glsl[]; +extern char datatoc_gpu_shader_material_normal_glsl[]; +extern char datatoc_gpu_shader_material_normal_map_glsl[]; +extern char datatoc_gpu_shader_material_object_info_glsl[]; +extern char datatoc_gpu_shader_material_output_material_glsl[]; +extern char datatoc_gpu_shader_material_output_world_glsl[]; +extern char datatoc_gpu_shader_material_particle_info_glsl[]; +extern char datatoc_gpu_shader_material_principled_glsl[]; +extern char datatoc_gpu_shader_material_refraction_glsl[]; +extern char datatoc_gpu_shader_material_rgb_curves_glsl[]; +extern char datatoc_gpu_shader_material_rgb_to_bw_glsl[]; +extern char datatoc_gpu_shader_material_separate_hsv_glsl[]; +extern char datatoc_gpu_shader_material_separate_rgb_glsl[]; +extern char datatoc_gpu_shader_material_separate_xyz_glsl[]; +extern char datatoc_gpu_shader_material_set_glsl[]; +extern char datatoc_gpu_shader_material_shader_to_rgba_glsl[]; +extern char datatoc_gpu_shader_material_squeeze_glsl[]; +extern char datatoc_gpu_shader_material_subsurface_scattering_glsl[]; +extern char datatoc_gpu_shader_material_tangent_glsl[]; +extern char datatoc_gpu_shader_material_tex_brick_glsl[]; +extern char datatoc_gpu_shader_material_tex_checker_glsl[]; +extern char datatoc_gpu_shader_material_tex_environment_glsl[]; +extern char datatoc_gpu_shader_material_tex_gradient_glsl[]; +extern char datatoc_gpu_shader_material_tex_image_glsl[]; +extern char datatoc_gpu_shader_material_tex_magic_glsl[]; +extern char datatoc_gpu_shader_material_tex_musgrave_glsl[]; +extern char datatoc_gpu_shader_material_tex_noise_glsl[]; +extern char datatoc_gpu_shader_material_tex_sky_glsl[]; +extern char datatoc_gpu_shader_material_texture_coordinates_glsl[]; +extern char datatoc_gpu_shader_material_tex_voronoi_glsl[]; +extern char datatoc_gpu_shader_material_tex_wave_glsl[]; +extern char datatoc_gpu_shader_material_tex_white_noise_glsl[]; +extern char datatoc_gpu_shader_material_toon_glsl[]; +extern char datatoc_gpu_shader_material_translucent_glsl[]; +extern char datatoc_gpu_shader_material_transparent_glsl[]; +extern char datatoc_gpu_shader_material_uv_map_glsl[]; +extern char datatoc_gpu_shader_material_vector_curves_glsl[]; +extern char datatoc_gpu_shader_material_vector_displacement_glsl[]; +extern char datatoc_gpu_shader_material_vector_math_glsl[]; +extern char datatoc_gpu_shader_material_velvet_glsl[]; +extern char datatoc_gpu_shader_material_volume_absorption_glsl[]; +extern char datatoc_gpu_shader_material_volume_info_glsl[]; +extern char datatoc_gpu_shader_material_volume_principled_glsl[]; +extern char datatoc_gpu_shader_material_volume_scatter_glsl[]; +extern char datatoc_gpu_shader_material_wireframe_glsl[]; +extern char datatoc_gpu_shader_material_world_normals_glsl[]; -static GPUMaterialLibrary gpu_material_libraries[] = { - {datatoc_gpu_shader_material_hash_glsl, {NULL}}, - {datatoc_gpu_shader_material_glsl, {datatoc_gpu_shader_material_hash_glsl, NULL}}, - {datatoc_gpu_shader_material_magic_glsl, {NULL}}, - {datatoc_gpu_shader_material_white_noise_glsl, {datatoc_gpu_shader_material_hash_glsl, NULL}}, - {NULL, {NULL}}}; +static GPUMaterialLibrary gpu_shader_material_math_util_library = { + .code = datatoc_gpu_shader_material_math_util_glsl, + .dependencies = {NULL}, +}; +static GPUMaterialLibrary gpu_shader_material_color_util_library = { + .code = datatoc_gpu_shader_material_color_util_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_hash_library = { + .code = datatoc_gpu_shader_material_hash_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_noise_library = { + .code = datatoc_gpu_shader_material_noise_glsl, + .dependencies = {&gpu_shader_material_math_util_library, + &gpu_shader_material_hash_library, + NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_fractal_noise_library = { + .code = datatoc_gpu_shader_material_fractal_noise_glsl, + .dependencies = {&gpu_shader_material_noise_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_cell_noise_library = { + .code = datatoc_gpu_shader_material_cell_noise_glsl, + .dependencies = {&gpu_shader_material_math_util_library, + &gpu_shader_material_hash_library, + NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_add_shader_library = { + .code = datatoc_gpu_shader_material_add_shader_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_ambient_occlusion_library = { + .code = datatoc_gpu_shader_material_ambient_occlusion_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_glossy_library = { + .code = datatoc_gpu_shader_material_glossy_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_anisotropic_library = { + .code = datatoc_gpu_shader_material_anisotropic_glsl, + .dependencies = {&gpu_shader_material_glossy_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_attribute_library = { + .code = datatoc_gpu_shader_material_attribute_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_background_library = { + .code = datatoc_gpu_shader_material_background_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_bevel_library = { + .code = datatoc_gpu_shader_material_bevel_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_blackbody_library = { + .code = datatoc_gpu_shader_material_blackbody_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_bright_contrast_library = { + .code = datatoc_gpu_shader_material_bright_contrast_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_bump_library = { + .code = datatoc_gpu_shader_material_bump_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_camera_library = { + .code = datatoc_gpu_shader_material_camera_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_clamp_library = { + .code = datatoc_gpu_shader_material_clamp_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_color_ramp_library = { + .code = datatoc_gpu_shader_material_color_ramp_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_combine_hsv_library = { + .code = datatoc_gpu_shader_material_combine_hsv_glsl, + .dependencies = {&gpu_shader_material_color_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_combine_rgb_library = { + .code = datatoc_gpu_shader_material_combine_rgb_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_combine_xyz_library = { + .code = datatoc_gpu_shader_material_combine_xyz_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_diffuse_library = { + .code = datatoc_gpu_shader_material_diffuse_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_displacement_library = { + .code = datatoc_gpu_shader_material_displacement_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_eevee_specular_library = { + .code = datatoc_gpu_shader_material_eevee_specular_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_emission_library = { + .code = datatoc_gpu_shader_material_emission_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_fresnel_library = { + .code = datatoc_gpu_shader_material_fresnel_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_gamma_library = { + .code = datatoc_gpu_shader_material_gamma_glsl, + .dependencies = {&gpu_shader_material_math_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tangent_library = { + .code = datatoc_gpu_shader_material_tangent_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_geometry_library = { + .code = datatoc_gpu_shader_material_geometry_glsl, + .dependencies = {&gpu_shader_material_tangent_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_glass_library = { + .code = datatoc_gpu_shader_material_glass_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_hair_info_library = { + .code = datatoc_gpu_shader_material_hair_info_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_holdout_library = { + .code = datatoc_gpu_shader_material_holdout_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_hue_sat_val_library = { + .code = datatoc_gpu_shader_material_hue_sat_val_glsl, + .dependencies = {&gpu_shader_material_color_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_invert_library = { + .code = datatoc_gpu_shader_material_invert_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_layer_weight_library = { + .code = datatoc_gpu_shader_material_layer_weight_glsl, + .dependencies = {&gpu_shader_material_fresnel_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_light_falloff_library = { + .code = datatoc_gpu_shader_material_light_falloff_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_light_path_library = { + .code = datatoc_gpu_shader_material_light_path_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_mapping_library = { + .code = datatoc_gpu_shader_material_mapping_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_map_range_library = { + .code = datatoc_gpu_shader_material_map_range_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_math_library = { + .code = datatoc_gpu_shader_material_math_glsl, + .dependencies = {&gpu_shader_material_math_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_mix_rgb_library = { + .code = datatoc_gpu_shader_material_mix_rgb_glsl, + .dependencies = {&gpu_shader_material_color_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_mix_shader_library = { + .code = datatoc_gpu_shader_material_mix_shader_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_normal_library = { + .code = datatoc_gpu_shader_material_normal_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_normal_map_library = { + .code = datatoc_gpu_shader_material_normal_map_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_object_info_library = { + .code = datatoc_gpu_shader_material_object_info_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_output_material_library = { + .code = datatoc_gpu_shader_material_output_material_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_output_world_library = { + .code = datatoc_gpu_shader_material_output_world_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_particle_info_library = { + .code = datatoc_gpu_shader_material_particle_info_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_principled_library = { + .code = datatoc_gpu_shader_material_principled_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_refraction_library = { + .code = datatoc_gpu_shader_material_refraction_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_rgb_curves_library = { + .code = datatoc_gpu_shader_material_rgb_curves_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_rgb_to_bw_library = { + .code = datatoc_gpu_shader_material_rgb_to_bw_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_separate_hsv_library = { + .code = datatoc_gpu_shader_material_separate_hsv_glsl, + .dependencies = {&gpu_shader_material_color_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_separate_rgb_library = { + .code = datatoc_gpu_shader_material_separate_rgb_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_separate_xyz_library = { + .code = datatoc_gpu_shader_material_separate_xyz_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_set_library = { + .code = datatoc_gpu_shader_material_set_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_shader_to_rgba_library = { + .code = datatoc_gpu_shader_material_shader_to_rgba_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_squeeze_library = { + .code = datatoc_gpu_shader_material_squeeze_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_subsurface_scattering_library = { + .code = datatoc_gpu_shader_material_subsurface_scattering_glsl, + .dependencies = {&gpu_shader_material_diffuse_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_brick_library = { + .code = datatoc_gpu_shader_material_tex_brick_glsl, + .dependencies = {&gpu_shader_material_math_util_library, + &gpu_shader_material_hash_library, + NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_checker_library = { + .code = datatoc_gpu_shader_material_tex_checker_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_environment_library = { + .code = datatoc_gpu_shader_material_tex_environment_glsl, + .dependencies = {&gpu_shader_material_math_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_gradient_library = { + .code = datatoc_gpu_shader_material_tex_gradient_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_image_library = { + .code = datatoc_gpu_shader_material_tex_image_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_magic_library = { + .code = datatoc_gpu_shader_material_tex_magic_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_musgrave_library = { + .code = datatoc_gpu_shader_material_tex_musgrave_glsl, + .dependencies = {&gpu_shader_material_noise_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_noise_library = { + .code = datatoc_gpu_shader_material_tex_noise_glsl, + .dependencies = {&gpu_shader_material_fractal_noise_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_sky_library = { + .code = datatoc_gpu_shader_material_tex_sky_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_texture_coordinates_library = { + .code = datatoc_gpu_shader_material_texture_coordinates_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_voronoi_library = { + .code = datatoc_gpu_shader_material_tex_voronoi_glsl, + .dependencies = {&gpu_shader_material_math_util_library, + &gpu_shader_material_cell_noise_library, + NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_wave_library = { + .code = datatoc_gpu_shader_material_tex_wave_glsl, + .dependencies = {&gpu_shader_material_fractal_noise_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_tex_white_noise_library = { + .code = datatoc_gpu_shader_material_tex_white_noise_glsl, + .dependencies = {&gpu_shader_material_hash_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_toon_library = { + .code = datatoc_gpu_shader_material_toon_glsl, + .dependencies = {&gpu_shader_material_diffuse_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_translucent_library = { + .code = datatoc_gpu_shader_material_translucent_glsl, + .dependencies = {&gpu_shader_material_diffuse_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_transparent_library = { + .code = datatoc_gpu_shader_material_transparent_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_uv_map_library = { + .code = datatoc_gpu_shader_material_uv_map_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_vector_curves_library = { + .code = datatoc_gpu_shader_material_vector_curves_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_vector_displacement_library = { + .code = datatoc_gpu_shader_material_vector_displacement_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_vector_math_library = { + .code = datatoc_gpu_shader_material_vector_math_glsl, + .dependencies = {&gpu_shader_material_math_util_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_velvet_library = { + .code = datatoc_gpu_shader_material_velvet_glsl, + .dependencies = {&gpu_shader_material_diffuse_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_volume_absorption_library = { + .code = datatoc_gpu_shader_material_volume_absorption_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_volume_info_library = { + .code = datatoc_gpu_shader_material_volume_info_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_volume_principled_library = { + .code = datatoc_gpu_shader_material_volume_principled_glsl, + .dependencies = {&gpu_shader_material_blackbody_library, NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_volume_scatter_library = { + .code = datatoc_gpu_shader_material_volume_scatter_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_wireframe_library = { + .code = datatoc_gpu_shader_material_wireframe_glsl, + .dependencies = {NULL}, +}; + +static GPUMaterialLibrary gpu_shader_material_world_normals_library = { + .code = datatoc_gpu_shader_material_world_normals_glsl, + .dependencies = {&gpu_shader_material_texture_coordinates_library, NULL}, +}; + +static GPUMaterialLibrary *gpu_material_libraries[] = { + &gpu_shader_material_math_util_library, + &gpu_shader_material_color_util_library, + &gpu_shader_material_hash_library, + &gpu_shader_material_noise_library, + &gpu_shader_material_fractal_noise_library, + &gpu_shader_material_cell_noise_library, + &gpu_shader_material_add_shader_library, + &gpu_shader_material_ambient_occlusion_library, + &gpu_shader_material_glossy_library, + &gpu_shader_material_anisotropic_library, + &gpu_shader_material_attribute_library, + &gpu_shader_material_background_library, + &gpu_shader_material_bevel_library, + &gpu_shader_material_blackbody_library, + &gpu_shader_material_bright_contrast_library, + &gpu_shader_material_bump_library, + &gpu_shader_material_camera_library, + &gpu_shader_material_clamp_library, + &gpu_shader_material_color_ramp_library, + &gpu_shader_material_combine_hsv_library, + &gpu_shader_material_combine_rgb_library, + &gpu_shader_material_combine_xyz_library, + &gpu_shader_material_diffuse_library, + &gpu_shader_material_displacement_library, + &gpu_shader_material_eevee_specular_library, + &gpu_shader_material_emission_library, + &gpu_shader_material_fresnel_library, + &gpu_shader_material_gamma_library, + &gpu_shader_material_tangent_library, + &gpu_shader_material_geometry_library, + &gpu_shader_material_glass_library, + &gpu_shader_material_hair_info_library, + &gpu_shader_material_holdout_library, + &gpu_shader_material_hue_sat_val_library, + &gpu_shader_material_invert_library, + &gpu_shader_material_layer_weight_library, + &gpu_shader_material_light_falloff_library, + &gpu_shader_material_light_path_library, + &gpu_shader_material_mapping_library, + &gpu_shader_material_map_range_library, + &gpu_shader_material_math_library, + &gpu_shader_material_mix_rgb_library, + &gpu_shader_material_mix_shader_library, + &gpu_shader_material_normal_library, + &gpu_shader_material_normal_map_library, + &gpu_shader_material_object_info_library, + &gpu_shader_material_output_material_library, + &gpu_shader_material_output_world_library, + &gpu_shader_material_particle_info_library, + &gpu_shader_material_principled_library, + &gpu_shader_material_refraction_library, + &gpu_shader_material_rgb_curves_library, + &gpu_shader_material_rgb_to_bw_library, + &gpu_shader_material_separate_hsv_library, + &gpu_shader_material_separate_rgb_library, + &gpu_shader_material_separate_xyz_library, + &gpu_shader_material_set_library, + &gpu_shader_material_shader_to_rgba_library, + &gpu_shader_material_squeeze_library, + &gpu_shader_material_subsurface_scattering_library, + &gpu_shader_material_tex_brick_library, + &gpu_shader_material_tex_checker_library, + &gpu_shader_material_tex_environment_library, + &gpu_shader_material_tex_gradient_library, + &gpu_shader_material_tex_image_library, + &gpu_shader_material_tex_magic_library, + &gpu_shader_material_tex_musgrave_library, + &gpu_shader_material_tex_noise_library, + &gpu_shader_material_tex_sky_library, + &gpu_shader_material_texture_coordinates_library, + &gpu_shader_material_tex_voronoi_library, + &gpu_shader_material_tex_wave_library, + &gpu_shader_material_tex_white_noise_library, + &gpu_shader_material_toon_library, + &gpu_shader_material_translucent_library, + &gpu_shader_material_transparent_library, + &gpu_shader_material_uv_map_library, + &gpu_shader_material_vector_curves_library, + &gpu_shader_material_vector_displacement_library, + &gpu_shader_material_vector_math_library, + &gpu_shader_material_velvet_library, + &gpu_shader_material_volume_absorption_library, + &gpu_shader_material_volume_info_library, + &gpu_shader_material_volume_principled_library, + &gpu_shader_material_volume_scatter_library, + &gpu_shader_material_wireframe_library, + &gpu_shader_material_world_normals_library, + NULL}; #endif |