diff options
author | Jeroen Bakker <jeroen@blender.org> | 2022-01-17 16:45:22 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2022-01-17 16:46:32 +0300 |
commit | 9d3f35a0bf1bf5776363bfd61d53a7c85b5827a4 (patch) | |
tree | 595fe492f09aea9f97049339385f7966ac02f0e1 /source/blender/draw/CMakeLists.txt | |
parent | edee5a947b7ea3e1324aa334a22c7c9bbf47f5f7 (diff) |
Revert "Revert "GPUShaderCreateInfo for interface abstraction""
This reverts commit edee5a947b7ea3e1324aa334a22c7c9bbf47f5f7.
Fixes compilation error (Missing file BLI_float2.hh)
Diffstat (limited to 'source/blender/draw/CMakeLists.txt')
-rw-r--r-- | source/blender/draw/CMakeLists.txt | 558 |
1 files changed, 296 insertions, 262 deletions
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt index 7b55981ba6b..8dd7e3d7dbf 100644 --- a/source/blender/draw/CMakeLists.txt +++ b/source/blender/draw/CMakeLists.txt @@ -212,6 +212,7 @@ set(SRC intern/draw_manager_profiling.h intern/draw_manager_testing.h intern/draw_manager_text.h + intern/draw_shader_shared.h intern/draw_shader.h intern/draw_subdivision.h intern/draw_texture_pool.h @@ -233,6 +234,7 @@ set(SRC engines/image/image_space_node.hh engines/workbench/workbench_engine.h engines/workbench/workbench_private.h + engines/workbench/workbench_shader_shared.h engines/select/select_engine.h engines/select/select_private.h engines/overlay/overlay_engine.h @@ -245,268 +247,300 @@ set(LIB bf_windowmanager ) -data_to_c_simple(engines/eevee/shaders/ambient_occlusion_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/background_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/common_uniforms_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/common_utiltex_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lights_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_geom.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_grid_fill_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lookdev_world_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_eval_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_eval_diffuse_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_eval_glossy_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_eval_refraction_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_eval_translucent_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/closure_type_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_bloom_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_bokeh_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_downsample_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_filter_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_flatten_tiles_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_gather_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_reduce_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_resolve_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_dof_setup_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_reflection_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_reflection_resolve_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_reflection_trace_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_downsample_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_downsample_cube_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_gtao_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_velocity_resolve_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_velocity_tile_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_minmaxz_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_mist_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_motion_blur_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_subsurface_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_translucency_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/effect_temporal_aa.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_geom.glsl SRC) -data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/object_motion_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/object_motion_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/prepass_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/prepass_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/shadow_accum_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/shadow_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/shadow_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/bsdf_lut_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/btdf_lut_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/bsdf_common_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/irradiance_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/octahedron_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/cubemap_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/bsdf_sampling_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/random_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/raytrace_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/renderpass_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/renderpass_postprocess_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/cryptomatte_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/ltc_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/ssr_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/surface_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/surface_geom.glsl SRC) -data_to_c_simple(engines/eevee/shaders/surface_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/surface_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/update_noise_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_accum_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_lib.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_geom.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_vert.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_resolve_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_scatter_frag.glsl SRC) -data_to_c_simple(engines/eevee/shaders/volumetric_integration_frag.glsl SRC) - -data_to_c_simple(engines/workbench/shaders/workbench_cavity_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_common_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_composite_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_curvature_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_data_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_cavity_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_dof_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_outline_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_effect_taa_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_image_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_matcap_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_material_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_merge_infront_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_prepass_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_prepass_hair_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_prepass_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_shader_interface_lib.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_shadow_caps_geom.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_shadow_debug_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_shadow_geom.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_shadow_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_transparent_accum_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_transparent_resolve_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_volume_frag.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_volume_vert.glsl SRC) -data_to_c_simple(engines/workbench/shaders/workbench_world_light_lib.glsl SRC) - -data_to_c_simple(intern/shaders/common_colormanagement_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_globals_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_pointcloud_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_hair_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_hair_refine_vert.glsl SRC) -data_to_c_simple(intern/shaders/common_hair_refine_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_math_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_math_geom_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_view_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_fxaa_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_smaa_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_fullscreen_vert.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_custom_data_interp_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_ibo_lines_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_ibo_tris_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_lib.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_normals_accumulate_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_normals_finalize_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_patch_evaluation_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_vbo_edge_fac_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_vbo_edituv_strech_angle_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_vbo_edituv_strech_area_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_vbo_lnor_comp.glsl SRC) -data_to_c_simple(intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl SRC) - -data_to_c_simple(engines/gpencil/shaders/gpencil_frag.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_vert.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_frag.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_vert.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_common_lib.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_layer_blend_frag.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_mask_invert_frag.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_frag.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_vert.glsl SRC) -data_to_c_simple(engines/gpencil/shaders/gpencil_vfx_frag.glsl SRC) - -data_to_c_simple(engines/select/shaders/selection_id_3D_vert.glsl SRC) -data_to_c_simple(engines/select/shaders/selection_id_frag.glsl SRC) - -data_to_c_simple(engines/basic/shaders/conservative_depth_geom.glsl SRC) -data_to_c_simple(engines/basic/shaders/depth_vert.glsl SRC) -data_to_c_simple(engines/basic/shaders/depth_frag.glsl SRC) - -data_to_c_simple(engines/overlay/shaders/common_overlay_lib.glsl SRC) -data_to_c_simple(engines/overlay/shaders/antialiasing_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/antialiasing_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_dof_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_dof_solid_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_envelope_outline_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_shape_outline_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_shape_outline_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_shape_solid_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_shape_solid_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_shape_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_sphere_outline_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_stick_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_stick_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_wire_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/armature_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/background_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/clipbound_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/depth_only_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_curve_handle_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_curve_handle_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_curve_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_curve_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_gpencil_canvas_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_gpencil_guide_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_gpencil_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_lattice_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_lattice_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_common_lib.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_normal_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_skin_root_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_mesh_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_particle_strand_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_particle_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_edges_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_edges_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_edges_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_verts_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_verts_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_faces_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_face_dots_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_image_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_image_mask_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_stretching_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/edit_uv_tiled_image_borders_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_groundline_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_lightprobe_grid_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_loose_point_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_loose_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_wire_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/extra_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/facing_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/facing_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/grid_background_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/grid_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/grid_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/image_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/image_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/motion_path_line_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/motion_path_line_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/motion_path_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/outline_detect_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/outline_prepass_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/outline_prepass_geom.glsl SRC) -data_to_c_simple(engines/overlay/shaders/outline_prepass_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_face_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_point_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_texture_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_texture_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_vertcol_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_vertcol_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_weight_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_weight_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/paint_wire_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/particle_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/particle_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/sculpt_mask_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/sculpt_mask_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/volume_velocity_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/volume_gridlines_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/wireframe_vert.glsl SRC) -data_to_c_simple(engines/overlay/shaders/wireframe_frag.glsl SRC) -data_to_c_simple(engines/overlay/shaders/xray_fade_frag.glsl SRC) - -data_to_c_simple(engines/image/shaders/engine_image_frag.glsl SRC) -data_to_c_simple(engines/image/shaders/engine_image_vert.glsl SRC) +set(GLSL_SRC + engines/eevee/shaders/ambient_occlusion_lib.glsl + engines/eevee/shaders/background_vert.glsl + engines/eevee/shaders/common_uniforms_lib.glsl + engines/eevee/shaders/common_utiltex_lib.glsl + engines/eevee/shaders/lights_lib.glsl + engines/eevee/shaders/lightprobe_lib.glsl + engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl + engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl + engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl + engines/eevee/shaders/lightprobe_geom.glsl + engines/eevee/shaders/lightprobe_vert.glsl + engines/eevee/shaders/lightprobe_cube_display_frag.glsl + engines/eevee/shaders/lightprobe_cube_display_vert.glsl + engines/eevee/shaders/lightprobe_grid_display_frag.glsl + engines/eevee/shaders/lightprobe_grid_display_vert.glsl + engines/eevee/shaders/lightprobe_grid_fill_frag.glsl + engines/eevee/shaders/lightprobe_planar_display_frag.glsl + engines/eevee/shaders/lightprobe_planar_display_vert.glsl + engines/eevee/shaders/lookdev_world_frag.glsl + engines/eevee/shaders/closure_eval_lib.glsl + engines/eevee/shaders/closure_eval_diffuse_lib.glsl + engines/eevee/shaders/closure_eval_glossy_lib.glsl + engines/eevee/shaders/closure_eval_refraction_lib.glsl + engines/eevee/shaders/closure_eval_translucent_lib.glsl + engines/eevee/shaders/closure_type_lib.glsl + engines/eevee/shaders/effect_bloom_frag.glsl + engines/eevee/shaders/effect_dof_bokeh_frag.glsl + engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl + engines/eevee/shaders/effect_dof_downsample_frag.glsl + engines/eevee/shaders/effect_dof_filter_frag.glsl + engines/eevee/shaders/effect_dof_flatten_tiles_frag.glsl + engines/eevee/shaders/effect_dof_gather_frag.glsl + engines/eevee/shaders/effect_dof_lib.glsl + engines/eevee/shaders/effect_dof_reduce_frag.glsl + engines/eevee/shaders/effect_dof_resolve_frag.glsl + engines/eevee/shaders/effect_dof_scatter_frag.glsl + engines/eevee/shaders/effect_dof_scatter_vert.glsl + engines/eevee/shaders/effect_dof_setup_frag.glsl + engines/eevee/shaders/effect_reflection_lib.glsl + engines/eevee/shaders/effect_reflection_resolve_frag.glsl + engines/eevee/shaders/effect_reflection_trace_frag.glsl + engines/eevee/shaders/effect_downsample_frag.glsl + engines/eevee/shaders/effect_downsample_cube_frag.glsl + engines/eevee/shaders/effect_gtao_frag.glsl + engines/eevee/shaders/effect_velocity_resolve_frag.glsl + engines/eevee/shaders/effect_velocity_tile_frag.glsl + engines/eevee/shaders/effect_minmaxz_frag.glsl + engines/eevee/shaders/effect_mist_frag.glsl + engines/eevee/shaders/effect_motion_blur_frag.glsl + engines/eevee/shaders/effect_subsurface_frag.glsl + engines/eevee/shaders/effect_translucency_frag.glsl + engines/eevee/shaders/effect_temporal_aa.glsl + engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl + engines/eevee/shaders/lightprobe_planar_downsample_geom.glsl + engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl + engines/eevee/shaders/object_motion_frag.glsl + engines/eevee/shaders/object_motion_vert.glsl + engines/eevee/shaders/prepass_frag.glsl + engines/eevee/shaders/prepass_vert.glsl + engines/eevee/shaders/shadow_accum_frag.glsl + engines/eevee/shaders/shadow_frag.glsl + engines/eevee/shaders/shadow_vert.glsl + engines/eevee/shaders/bsdf_lut_frag.glsl + engines/eevee/shaders/btdf_lut_frag.glsl + engines/eevee/shaders/bsdf_common_lib.glsl + engines/eevee/shaders/irradiance_lib.glsl + engines/eevee/shaders/octahedron_lib.glsl + engines/eevee/shaders/cubemap_lib.glsl + engines/eevee/shaders/bsdf_sampling_lib.glsl + engines/eevee/shaders/random_lib.glsl + engines/eevee/shaders/raytrace_lib.glsl + engines/eevee/shaders/renderpass_lib.glsl + engines/eevee/shaders/renderpass_postprocess_frag.glsl + engines/eevee/shaders/cryptomatte_frag.glsl + engines/eevee/shaders/ltc_lib.glsl + engines/eevee/shaders/ssr_lib.glsl + engines/eevee/shaders/surface_frag.glsl + engines/eevee/shaders/surface_geom.glsl + engines/eevee/shaders/surface_lib.glsl + engines/eevee/shaders/surface_vert.glsl + engines/eevee/shaders/update_noise_frag.glsl + engines/eevee/shaders/volumetric_accum_frag.glsl + engines/eevee/shaders/volumetric_lib.glsl + engines/eevee/shaders/volumetric_frag.glsl + engines/eevee/shaders/volumetric_geom.glsl + engines/eevee/shaders/volumetric_vert.glsl + engines/eevee/shaders/volumetric_resolve_frag.glsl + engines/eevee/shaders/volumetric_scatter_frag.glsl + engines/eevee/shaders/volumetric_integration_frag.glsl + + engines/workbench/shaders/workbench_cavity_lib.glsl + engines/workbench/shaders/workbench_common_lib.glsl + engines/workbench/shaders/workbench_composite_frag.glsl + engines/workbench/shaders/workbench_curvature_lib.glsl + engines/workbench/shaders/workbench_data_lib.glsl + engines/workbench/shaders/workbench_effect_cavity_frag.glsl + engines/workbench/shaders/workbench_effect_dof_frag.glsl + engines/workbench/shaders/workbench_effect_outline_frag.glsl + engines/workbench/shaders/workbench_effect_smaa_frag.glsl + engines/workbench/shaders/workbench_effect_smaa_vert.glsl + engines/workbench/shaders/workbench_effect_taa_frag.glsl + engines/workbench/shaders/workbench_image_lib.glsl + engines/workbench/shaders/workbench_matcap_lib.glsl + engines/workbench/shaders/workbench_material_lib.glsl + engines/workbench/shaders/workbench_merge_infront_frag.glsl + engines/workbench/shaders/workbench_prepass_frag.glsl + engines/workbench/shaders/workbench_prepass_hair_vert.glsl + engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl + engines/workbench/shaders/workbench_prepass_vert.glsl + engines/workbench/shaders/workbench_shader_interface_lib.glsl + engines/workbench/shaders/workbench_shadow_caps_geom.glsl + engines/workbench/shaders/workbench_shadow_debug_frag.glsl + engines/workbench/shaders/workbench_shadow_geom.glsl + engines/workbench/shaders/workbench_shadow_vert.glsl + engines/workbench/shaders/workbench_transparent_accum_frag.glsl + engines/workbench/shaders/workbench_transparent_resolve_frag.glsl + engines/workbench/shaders/workbench_volume_frag.glsl + engines/workbench/shaders/workbench_volume_vert.glsl + engines/workbench/shaders/workbench_world_light_lib.glsl + + engines/workbench/workbench_shader_shared.h + + intern/shaders/common_colormanagement_lib.glsl + intern/shaders/common_globals_lib.glsl + intern/shaders/common_pointcloud_lib.glsl + intern/shaders/common_hair_lib.glsl + intern/shaders/common_hair_refine_vert.glsl + intern/shaders/common_hair_refine_comp.glsl + intern/shaders/common_math_lib.glsl + intern/shaders/common_math_geom_lib.glsl + intern/shaders/common_view_lib.glsl + intern/shaders/common_fxaa_lib.glsl + intern/shaders/common_smaa_lib.glsl + intern/shaders/common_fullscreen_vert.glsl + + intern/shaders/common_subdiv_custom_data_interp_comp.glsl + intern/shaders/common_subdiv_ibo_lines_comp.glsl + intern/shaders/common_subdiv_ibo_tris_comp.glsl + intern/shaders/common_subdiv_lib.glsl + intern/shaders/common_subdiv_normals_accumulate_comp.glsl + intern/shaders/common_subdiv_normals_finalize_comp.glsl + intern/shaders/common_subdiv_patch_evaluation_comp.glsl + intern/shaders/common_subdiv_vbo_edge_fac_comp.glsl + intern/shaders/common_subdiv_vbo_edituv_strech_angle_comp.glsl + intern/shaders/common_subdiv_vbo_edituv_strech_area_comp.glsl + intern/shaders/common_subdiv_vbo_lnor_comp.glsl + intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl + + intern/draw_shader_shared.h + + engines/gpencil/shaders/gpencil_frag.glsl + engines/gpencil/shaders/gpencil_vert.glsl + engines/gpencil/shaders/gpencil_antialiasing_frag.glsl + engines/gpencil/shaders/gpencil_antialiasing_vert.glsl + engines/gpencil/shaders/gpencil_common_lib.glsl + engines/gpencil/shaders/gpencil_layer_blend_frag.glsl + engines/gpencil/shaders/gpencil_mask_invert_frag.glsl + engines/gpencil/shaders/gpencil_depth_merge_frag.glsl + engines/gpencil/shaders/gpencil_depth_merge_vert.glsl + engines/gpencil/shaders/gpencil_vfx_frag.glsl + + engines/select/shaders/selection_id_3D_vert.glsl + engines/select/shaders/selection_id_frag.glsl + + engines/basic/shaders/conservative_depth_geom.glsl + engines/basic/shaders/depth_vert.glsl + engines/basic/shaders/depth_frag.glsl + + engines/overlay/shaders/common_overlay_lib.glsl + engines/overlay/shaders/antialiasing_frag.glsl + engines/overlay/shaders/antialiasing_vert.glsl + engines/overlay/shaders/armature_dof_vert.glsl + engines/overlay/shaders/armature_dof_solid_frag.glsl + engines/overlay/shaders/armature_envelope_outline_vert.glsl + engines/overlay/shaders/armature_envelope_solid_frag.glsl + engines/overlay/shaders/armature_envelope_solid_vert.glsl + engines/overlay/shaders/armature_shape_outline_geom.glsl + engines/overlay/shaders/armature_shape_outline_vert.glsl + engines/overlay/shaders/armature_shape_solid_frag.glsl + engines/overlay/shaders/armature_shape_solid_vert.glsl + engines/overlay/shaders/armature_shape_wire_vert.glsl + engines/overlay/shaders/armature_sphere_outline_vert.glsl + engines/overlay/shaders/armature_sphere_solid_frag.glsl + engines/overlay/shaders/armature_sphere_solid_vert.glsl + engines/overlay/shaders/armature_stick_frag.glsl + engines/overlay/shaders/armature_stick_vert.glsl + engines/overlay/shaders/armature_wire_frag.glsl + engines/overlay/shaders/armature_wire_vert.glsl + engines/overlay/shaders/background_frag.glsl + engines/overlay/shaders/clipbound_vert.glsl + engines/overlay/shaders/depth_only_vert.glsl + engines/overlay/shaders/edit_curve_handle_geom.glsl + engines/overlay/shaders/edit_curve_handle_vert.glsl + engines/overlay/shaders/edit_curve_point_vert.glsl + engines/overlay/shaders/edit_curve_wire_vert.glsl + engines/overlay/shaders/edit_gpencil_canvas_vert.glsl + engines/overlay/shaders/edit_gpencil_guide_vert.glsl + engines/overlay/shaders/edit_gpencil_vert.glsl + engines/overlay/shaders/edit_lattice_point_vert.glsl + engines/overlay/shaders/edit_lattice_wire_vert.glsl + engines/overlay/shaders/edit_mesh_common_lib.glsl + engines/overlay/shaders/edit_mesh_facefill_frag.glsl + engines/overlay/shaders/edit_mesh_facefill_vert.glsl + engines/overlay/shaders/edit_mesh_frag.glsl + engines/overlay/shaders/edit_mesh_geom.glsl + engines/overlay/shaders/edit_mesh_normal_vert.glsl + engines/overlay/shaders/edit_mesh_analysis_frag.glsl + engines/overlay/shaders/edit_mesh_analysis_vert.glsl + engines/overlay/shaders/edit_mesh_skin_root_vert.glsl + engines/overlay/shaders/edit_mesh_vert.glsl + engines/overlay/shaders/edit_particle_strand_vert.glsl + engines/overlay/shaders/edit_particle_point_vert.glsl + engines/overlay/shaders/edit_uv_edges_vert.glsl + engines/overlay/shaders/edit_uv_edges_geom.glsl + engines/overlay/shaders/edit_uv_edges_frag.glsl + engines/overlay/shaders/edit_uv_verts_vert.glsl + engines/overlay/shaders/edit_uv_verts_frag.glsl + engines/overlay/shaders/edit_uv_faces_vert.glsl + engines/overlay/shaders/edit_uv_face_dots_vert.glsl + engines/overlay/shaders/edit_uv_image_vert.glsl + engines/overlay/shaders/edit_uv_image_mask_frag.glsl + engines/overlay/shaders/edit_uv_stretching_vert.glsl + engines/overlay/shaders/edit_uv_tiled_image_borders_vert.glsl + engines/overlay/shaders/extra_frag.glsl + engines/overlay/shaders/extra_vert.glsl + engines/overlay/shaders/extra_groundline_vert.glsl + engines/overlay/shaders/extra_lightprobe_grid_vert.glsl + engines/overlay/shaders/extra_loose_point_frag.glsl + engines/overlay/shaders/extra_loose_point_vert.glsl + engines/overlay/shaders/extra_point_vert.glsl + engines/overlay/shaders/extra_wire_frag.glsl + engines/overlay/shaders/extra_wire_vert.glsl + engines/overlay/shaders/facing_frag.glsl + engines/overlay/shaders/facing_vert.glsl + engines/overlay/shaders/grid_background_frag.glsl + engines/overlay/shaders/grid_frag.glsl + engines/overlay/shaders/grid_vert.glsl + engines/overlay/shaders/image_vert.glsl + engines/overlay/shaders/image_frag.glsl + engines/overlay/shaders/motion_path_line_geom.glsl + engines/overlay/shaders/motion_path_line_vert.glsl + engines/overlay/shaders/motion_path_point_vert.glsl + engines/overlay/shaders/outline_detect_frag.glsl + engines/overlay/shaders/outline_prepass_frag.glsl + engines/overlay/shaders/outline_prepass_geom.glsl + engines/overlay/shaders/outline_prepass_vert.glsl + engines/overlay/shaders/paint_face_vert.glsl + engines/overlay/shaders/paint_point_vert.glsl + engines/overlay/shaders/paint_texture_frag.glsl + engines/overlay/shaders/paint_texture_vert.glsl + engines/overlay/shaders/paint_vertcol_frag.glsl + engines/overlay/shaders/paint_vertcol_vert.glsl + engines/overlay/shaders/paint_weight_frag.glsl + engines/overlay/shaders/paint_weight_vert.glsl + engines/overlay/shaders/paint_wire_vert.glsl + engines/overlay/shaders/particle_vert.glsl + engines/overlay/shaders/particle_frag.glsl + engines/overlay/shaders/sculpt_mask_vert.glsl + engines/overlay/shaders/sculpt_mask_frag.glsl + engines/overlay/shaders/volume_velocity_vert.glsl + engines/overlay/shaders/volume_gridlines_vert.glsl + engines/overlay/shaders/wireframe_vert.glsl + engines/overlay/shaders/wireframe_frag.glsl + engines/overlay/shaders/xray_fade_frag.glsl + + engines/image/shaders/engine_image_frag.glsl + engines/image/shaders/engine_image_vert.glsl +) + +set(GLSL_C) +foreach(GLSL_FILE ${GLSL_SRC}) + data_to_c_simple(${GLSL_FILE} GLSL_C) +endforeach() + +blender_add_lib(bf_draw_shaders "${GLSL_C}" "" "" "") + +list(APPEND LIB + bf_draw_shaders +) + +set(GLSL_SOURCE_CONTENT "") +foreach(GLSL_FILE ${GLSL_SRC}) + get_filename_component(GLSL_FILE_NAME ${GLSL_FILE} NAME) + string(REPLACE "." "_" GLSL_FILE_NAME_UNDERSCORES ${GLSL_FILE_NAME}) + string(APPEND GLSL_SOURCE_CONTENT "SHADER_SOURCE\(datatoc_${GLSL_FILE_NAME_UNDERSCORES}, \"${GLSL_FILE_NAME}\"\)\n") +endforeach() + +set(glsl_source_list_file "${CMAKE_CURRENT_BINARY_DIR}/glsl_draw_source_list.h") +file(GENERATE OUTPUT ${glsl_source_list_file} CONTENT "${GLSL_SOURCE_CONTENT}") +list(APPEND SRC ${glsl_source_list_file}) +list(APPEND INC ${CMAKE_CURRENT_BINARY_DIR}) + +target_include_directories(bf_draw_shaders PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) list(APPEND INC ) |