# SPDX-License-Identifier: GPL-2.0-or-later # Copyright 2016 Blender Foundation. All rights reserved. set(INC . intern ../blenfont ../blenkernel ../blenlib ../blenloader ../blentranslation ../bmesh ../depsgraph ../editors/include ../editors/space_view3d ../functions ../gpu ../gpu/intern ../imbuf ../makesdna ../makesrna ../nodes ../render ../render/intern ../compositor/realtime_compositor ../windowmanager ../../../intern/atomic ../../../intern/clog ../../../intern/guardedalloc ../../../intern/opensubdiv # dna_type_offsets.h ${CMAKE_CURRENT_BINARY_DIR}/../makesdna/intern ${OPENSUBDIV_INCLUDE_DIRS} ) set(SRC intern/draw_cache.c intern/draw_cache_extract_mesh.cc intern/draw_cache_extract_mesh_render_data.cc intern/mesh_extractors/extract_mesh.cc intern/mesh_extractors/extract_mesh_ibo_edituv.cc intern/mesh_extractors/extract_mesh_ibo_fdots.cc intern/mesh_extractors/extract_mesh_ibo_lines.cc intern/mesh_extractors/extract_mesh_ibo_lines_adjacency.cc intern/mesh_extractors/extract_mesh_ibo_lines_paint_mask.cc intern/mesh_extractors/extract_mesh_ibo_points.cc intern/mesh_extractors/extract_mesh_ibo_tris.cc intern/mesh_extractors/extract_mesh_vbo_attributes.cc intern/mesh_extractors/extract_mesh_vbo_edge_fac.cc intern/mesh_extractors/extract_mesh_vbo_edit_data.cc intern/mesh_extractors/extract_mesh_vbo_edituv_data.cc intern/mesh_extractors/extract_mesh_vbo_edituv_stretch_angle.cc intern/mesh_extractors/extract_mesh_vbo_edituv_stretch_area.cc intern/mesh_extractors/extract_mesh_vbo_fdots_edituv_data.cc intern/mesh_extractors/extract_mesh_vbo_fdots_nor.cc intern/mesh_extractors/extract_mesh_vbo_fdots_pos.cc intern/mesh_extractors/extract_mesh_vbo_fdots_uv.cc intern/mesh_extractors/extract_mesh_vbo_lnor.cc intern/mesh_extractors/extract_mesh_vbo_mesh_analysis.cc intern/mesh_extractors/extract_mesh_vbo_orco.cc intern/mesh_extractors/extract_mesh_vbo_pos_nor.cc intern/mesh_extractors/extract_mesh_vbo_sculpt_data.cc intern/mesh_extractors/extract_mesh_vbo_select_idx.cc intern/mesh_extractors/extract_mesh_vbo_skin_roots.cc intern/mesh_extractors/extract_mesh_vbo_tan.cc intern/mesh_extractors/extract_mesh_vbo_uv.cc intern/mesh_extractors/extract_mesh_vbo_weights.cc intern/draw_attributes.cc intern/draw_cache_impl_curve.cc intern/draw_cache_impl_curves.cc intern/draw_cache_impl_gpencil.cc intern/draw_cache_impl_lattice.c intern/draw_cache_impl_mesh.cc intern/draw_cache_impl_particles.c intern/draw_cache_impl_pointcloud.cc intern/draw_cache_impl_subdivision.cc intern/draw_cache_impl_volume.cc intern/draw_color_management.cc intern/draw_command.cc intern/draw_common.c intern/draw_curves.cc intern/draw_debug.cc intern/draw_fluid.c intern/draw_hair.cc intern/draw_instance_data.c intern/draw_manager.c intern/draw_manager.cc intern/draw_manager_data.cc intern/draw_manager_exec.c intern/draw_manager_profiling.c intern/draw_manager_shader.c intern/draw_manager_text.cc intern/draw_manager_texture.c intern/draw_pbvh.cc intern/draw_pointcloud.cc intern/draw_select_buffer.c intern/draw_shader.cc intern/draw_texture_pool.cc intern/draw_view.c intern/draw_view_data.cc intern/draw_volume.cc intern/smaa_textures.c engines/basic/basic_engine.c engines/basic/basic_shader.c engines/compositor/compositor_engine.cc engines/image/image_engine.cc engines/image/image_shader.cc engines/eevee/eevee_bloom.c engines/eevee/eevee_cryptomatte.c engines/eevee/eevee_data.c engines/eevee/eevee_depth_of_field.c engines/eevee/eevee_effects.c engines/eevee/eevee_engine.c engines/eevee/eevee_lightcache.c engines/eevee/eevee_lightprobes.c engines/eevee/eevee_lights.c engines/eevee/eevee_lookdev.c engines/eevee/eevee_lut.c engines/eevee/eevee_lut_gen.c engines/eevee/eevee_materials.c engines/eevee/eevee_mist.c engines/eevee/eevee_motion_blur.c engines/eevee/eevee_occlusion.c engines/eevee/eevee_render.c engines/eevee/eevee_renderpasses.c engines/eevee/eevee_sampling.c engines/eevee/eevee_screen_raytrace.c engines/eevee/eevee_shaders.c engines/eevee/eevee_shaders_extra.cc engines/eevee/eevee_shadows.c engines/eevee/eevee_shadows_cascade.c engines/eevee/eevee_shadows_cube.c engines/eevee/eevee_subsurface.c engines/eevee/eevee_temporal_sampling.c engines/eevee/eevee_volumes.c engines/eevee_next/eevee_camera.cc engines/eevee_next/eevee_cryptomatte.cc engines/eevee_next/eevee_depth_of_field.cc engines/eevee_next/eevee_engine.cc engines/eevee_next/eevee_film.cc engines/eevee_next/eevee_hizbuffer.cc engines/eevee_next/eevee_instance.cc engines/eevee_next/eevee_light.cc engines/eevee_next/eevee_material.cc engines/eevee_next/eevee_motion_blur.cc engines/eevee_next/eevee_pipeline.cc engines/eevee_next/eevee_renderbuffers.cc engines/eevee_next/eevee_sampling.cc engines/eevee_next/eevee_shader.cc engines/eevee_next/eevee_sync.cc engines/eevee_next/eevee_velocity.cc engines/eevee_next/eevee_view.cc engines/eevee_next/eevee_world.cc engines/workbench/workbench_data.c engines/workbench/workbench_effect_antialiasing.c engines/workbench/workbench_effect_cavity.c engines/workbench/workbench_effect_dof.c engines/workbench/workbench_effect_outline.c engines/workbench/workbench_engine.c engines/workbench/workbench_materials.c engines/workbench/workbench_opaque.c engines/workbench/workbench_render.c engines/workbench/workbench_shader.cc engines/workbench/workbench_shadow.c engines/workbench/workbench_transparent.c engines/workbench/workbench_volume.c engines/external/external_engine.c engines/gpencil/gpencil_antialiasing.c engines/gpencil/gpencil_cache_utils.c engines/gpencil/gpencil_draw_data.c engines/gpencil/gpencil_engine.c engines/gpencil/gpencil_engine.h engines/gpencil/gpencil_render.c engines/gpencil/gpencil_shader.c engines/gpencil/gpencil_shader_fx.c engines/select/select_draw_utils.c engines/select/select_engine.c engines/overlay/overlay_antialiasing.cc engines/overlay/overlay_armature.cc engines/overlay/overlay_background.cc engines/overlay/overlay_edit_curve.cc engines/overlay/overlay_edit_curves.cc engines/overlay/overlay_edit_mesh.cc engines/overlay/overlay_edit_text.cc engines/overlay/overlay_edit_uv.cc engines/overlay/overlay_engine.cc engines/overlay/overlay_extra.cc engines/overlay/overlay_facing.cc engines/overlay/overlay_fade.cc engines/overlay/overlay_gpencil.cc engines/overlay/overlay_grid.cc engines/overlay/overlay_image.cc engines/overlay/overlay_lattice.cc engines/overlay/overlay_metaball.cc engines/overlay/overlay_mode_transfer.cc engines/overlay/overlay_motion_path.cc engines/overlay/overlay_outline.cc engines/overlay/overlay_paint.cc engines/overlay/overlay_particle.cc engines/overlay/overlay_sculpt.cc engines/overlay/overlay_sculpt_curves.cc engines/overlay/overlay_shader.cc engines/overlay/overlay_viewer_attribute.cc engines/overlay/overlay_volume.cc engines/overlay/overlay_wireframe.cc DRW_engine.h DRW_pbvh.h DRW_select_buffer.h intern/DRW_gpu_wrapper.hh intern/DRW_render.h intern/draw_attributes.h intern/draw_cache.h intern/draw_cache_extract.hh intern/draw_cache_impl.h intern/draw_cache_inline.h intern/draw_color_management.h intern/draw_command.hh intern/draw_common.h intern/draw_common_shader_shared.h intern/draw_curves_private.h intern/draw_debug.h intern/draw_debug.hh intern/draw_hair_private.h intern/draw_handle.hh intern/draw_instance_data.h intern/draw_manager.h intern/draw_manager.hh intern/draw_manager_profiling.h intern/draw_manager_testing.h intern/draw_manager_text.h intern/draw_pass.hh intern/draw_pbvh.h intern/draw_resource.cc intern/draw_resource.hh intern/draw_shader.h intern/draw_shader_shared.h intern/draw_state.h intern/draw_subdivision.h intern/draw_texture_pool.h intern/draw_view.cc intern/draw_view.h intern/draw_view.hh intern/draw_view_data.h intern/mesh_extractors/extract_mesh.hh intern/smaa_textures.h engines/basic/basic_engine.h engines/basic/basic_private.h engines/compositor/compositor_engine.h engines/eevee/eevee_engine.h engines/eevee/eevee_lightcache.h engines/eevee/eevee_lut.h engines/eevee/eevee_private.h engines/eevee_next/eevee_camera.hh engines/eevee_next/eevee_cryptomatte.hh engines/eevee_next/eevee_depth_of_field.hh engines/eevee_next/eevee_engine.h engines/eevee_next/eevee_film.hh engines/eevee_next/eevee_hizbuffer.hh engines/eevee_next/eevee_instance.hh engines/eevee_next/eevee_light.hh engines/eevee_next/eevee_material.hh engines/eevee_next/eevee_motion_blur.hh engines/eevee_next/eevee_pipeline.hh engines/eevee_next/eevee_renderbuffers.hh engines/eevee_next/eevee_sampling.hh engines/eevee_next/eevee_shader.hh engines/eevee_next/eevee_sync.hh engines/eevee_next/eevee_velocity.hh engines/eevee_next/eevee_view.hh engines/eevee_next/eevee_world.hh engines/external/external_engine.h engines/image/image_batches.hh engines/image/image_buffer_cache.hh engines/image/image_drawing_mode.hh engines/image/image_engine.h engines/image/image_instance_data.hh engines/image/image_partial_updater.hh engines/image/image_private.hh engines/image/image_shader_params.hh engines/image/image_space.hh engines/image/image_space_image.hh engines/image/image_space_node.hh engines/image/image_texture_info.hh engines/image/image_usage.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 engines/overlay/overlay_private.hh ) set(LIB bf_blenkernel bf_blenlib bf_realtime_compositor bf_windowmanager ) 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_surface_lib.glsl engines/eevee/shaders/closure_eval_refraction_lib.glsl engines/eevee/shaders/closure_eval_volume_lib.glsl engines/eevee/shaders/closure_eval_translucent_lib.glsl engines/eevee/shaders/closure_type_lib.glsl engines/eevee/shaders/eevee_empty.glsl engines/eevee/shaders/eevee_empty_volume.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/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_lib.glsl engines/eevee/shaders/cryptomatte_frag.glsl engines/eevee/shaders/cryptomatte_vert.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/eevee/shaders/world_vert.glsl engines/eevee_next/shaders/eevee_attributes_lib.glsl engines/eevee_next/shaders/eevee_camera_lib.glsl engines/eevee_next/shaders/eevee_colorspace_lib.glsl engines/eevee_next/shaders/eevee_cryptomatte_lib.glsl engines/eevee_next/shaders/eevee_depth_of_field_accumulator_lib.glsl engines/eevee_next/shaders/eevee_depth_of_field_bokeh_lut_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_downsample_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_filter_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_gather_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_hole_fill_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_lib.glsl engines/eevee_next/shaders/eevee_depth_of_field_reduce_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_resolve_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_scatter_frag.glsl engines/eevee_next/shaders/eevee_depth_of_field_scatter_vert.glsl engines/eevee_next/shaders/eevee_depth_of_field_setup_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_stabilize_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_tiles_dilate_comp.glsl engines/eevee_next/shaders/eevee_depth_of_field_tiles_flatten_comp.glsl engines/eevee_next/shaders/eevee_film_comp.glsl engines/eevee_next/shaders/eevee_film_cryptomatte_post_comp.glsl engines/eevee_next/shaders/eevee_film_frag.glsl engines/eevee_next/shaders/eevee_film_lib.glsl engines/eevee_next/shaders/eevee_geom_curves_vert.glsl engines/eevee_next/shaders/eevee_geom_gpencil_vert.glsl engines/eevee_next/shaders/eevee_geom_mesh_vert.glsl engines/eevee_next/shaders/eevee_geom_world_vert.glsl engines/eevee_next/shaders/eevee_hiz_debug_frag.glsl engines/eevee_next/shaders/eevee_hiz_update_comp.glsl engines/eevee_next/shaders/eevee_light_culling_debug_frag.glsl engines/eevee_next/shaders/eevee_light_culling_select_comp.glsl engines/eevee_next/shaders/eevee_light_culling_sort_comp.glsl engines/eevee_next/shaders/eevee_light_culling_tile_comp.glsl engines/eevee_next/shaders/eevee_light_culling_zbin_comp.glsl engines/eevee_next/shaders/eevee_light_eval_lib.glsl engines/eevee_next/shaders/eevee_light_iter_lib.glsl engines/eevee_next/shaders/eevee_light_lib.glsl engines/eevee_next/shaders/eevee_ltc_lib.glsl engines/eevee_next/shaders/eevee_motion_blur_dilate_comp.glsl engines/eevee_next/shaders/eevee_motion_blur_flatten_comp.glsl engines/eevee_next/shaders/eevee_motion_blur_gather_comp.glsl engines/eevee_next/shaders/eevee_motion_blur_lib.glsl engines/eevee_next/shaders/eevee_nodetree_lib.glsl engines/eevee_next/shaders/eevee_sampling_lib.glsl engines/eevee_next/shaders/eevee_surf_deferred_frag.glsl engines/eevee_next/shaders/eevee_surf_depth_frag.glsl engines/eevee_next/shaders/eevee_surf_forward_frag.glsl engines/eevee_next/shaders/eevee_surf_lib.glsl engines/eevee_next/shaders/eevee_surf_world_frag.glsl engines/eevee_next/shaders/eevee_velocity_lib.glsl engines/eevee_next/eevee_defines.hh engines/eevee_next/eevee_shader_shared.hh 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_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_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_aabb_lib.glsl intern/shaders/common_attribute_lib.glsl intern/shaders/common_colormanagement_lib.glsl intern/shaders/common_debug_draw_lib.glsl intern/shaders/common_debug_print_lib.glsl intern/shaders/common_debug_shape_lib.glsl intern/shaders/common_fullscreen_vert.glsl intern/shaders/common_fxaa_lib.glsl intern/shaders/common_gpencil_lib.glsl intern/shaders/common_hair_lib.glsl intern/shaders/common_hair_refine_comp.glsl intern/shaders/common_hair_refine_vert.glsl intern/shaders/common_intersect_lib.glsl intern/shaders/common_math_geom_lib.glsl intern/shaders/common_math_lib.glsl intern/shaders/common_pointcloud_lib.glsl intern/shaders/common_shape_lib.glsl intern/shaders/common_smaa_lib.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/shaders/common_view_clipping_lib.glsl intern/shaders/common_view_lib.glsl intern/shaders/draw_command_generate_comp.glsl intern/shaders/draw_debug_draw_display_frag.glsl intern/shaders/draw_debug_draw_display_vert.glsl intern/shaders/draw_debug_info.hh intern/shaders/draw_debug_print_display_frag.glsl intern/shaders/draw_debug_print_display_vert.glsl intern/shaders/draw_resource_finalize_comp.glsl intern/shaders/draw_visibility_comp.glsl intern/draw_command_shared.hh intern/draw_common_shader_shared.h intern/draw_defines.h 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/gpencil/gpencil_defines.h engines/gpencil/gpencil_shader_shared.h engines/select/shaders/select_id_vert.glsl engines/select/shaders/select_id_frag.glsl engines/basic/shaders/basic_conservative_depth_geom.glsl engines/basic/shaders/basic_depth_vert.glsl engines/basic/shaders/basic_depth_curves_vert.glsl engines/basic/shaders/basic_depth_pointcloud_vert.glsl engines/basic/shaders/basic_depth_frag.glsl engines/overlay/shaders/overlay_antialiasing_frag.glsl engines/overlay/shaders/overlay_armature_dof_solid_frag.glsl engines/overlay/shaders/overlay_armature_dof_vert.glsl engines/overlay/shaders/overlay_armature_envelope_outline_vert.glsl engines/overlay/shaders/overlay_armature_envelope_solid_frag.glsl engines/overlay/shaders/overlay_armature_envelope_solid_vert.glsl engines/overlay/shaders/overlay_armature_shape_outline_geom.glsl engines/overlay/shaders/overlay_armature_shape_outline_vert.glsl engines/overlay/shaders/overlay_armature_shape_outline_vert_no_geom.glsl engines/overlay/shaders/overlay_armature_shape_solid_frag.glsl engines/overlay/shaders/overlay_armature_shape_solid_vert.glsl engines/overlay/shaders/overlay_armature_shape_wire_vert.glsl engines/overlay/shaders/overlay_armature_sphere_outline_vert.glsl engines/overlay/shaders/overlay_armature_sphere_solid_frag.glsl engines/overlay/shaders/overlay_armature_sphere_solid_vert.glsl engines/overlay/shaders/overlay_armature_stick_frag.glsl engines/overlay/shaders/overlay_armature_stick_vert.glsl engines/overlay/shaders/overlay_armature_wire_frag.glsl engines/overlay/shaders/overlay_armature_wire_vert.glsl engines/overlay/shaders/overlay_background_frag.glsl engines/overlay/shaders/overlay_clipbound_vert.glsl engines/overlay/shaders/overlay_common_lib.glsl engines/overlay/shaders/overlay_depth_only_frag.glsl engines/overlay/shaders/overlay_depth_only_vert.glsl engines/overlay/shaders/overlay_edit_curve_handle_geom.glsl engines/overlay/shaders/overlay_edit_curve_handle_vert.glsl engines/overlay/shaders/overlay_edit_curve_handle_vert_no_geom.glsl engines/overlay/shaders/overlay_edit_curve_point_vert.glsl engines/overlay/shaders/overlay_edit_curve_wire_vert.glsl engines/overlay/shaders/overlay_edit_gpencil_canvas_vert.glsl engines/overlay/shaders/overlay_edit_gpencil_guide_vert.glsl engines/overlay/shaders/overlay_edit_gpencil_vert.glsl engines/overlay/shaders/overlay_edit_lattice_point_vert.glsl engines/overlay/shaders/overlay_edit_lattice_wire_vert.glsl engines/overlay/shaders/overlay_edit_mesh_analysis_frag.glsl engines/overlay/shaders/overlay_edit_mesh_analysis_vert.glsl engines/overlay/shaders/overlay_edit_mesh_common_lib.glsl engines/overlay/shaders/overlay_edit_mesh_frag.glsl engines/overlay/shaders/overlay_edit_mesh_geom.glsl engines/overlay/shaders/overlay_edit_mesh_normal_vert.glsl engines/overlay/shaders/overlay_edit_mesh_skin_root_vert.glsl engines/overlay/shaders/overlay_edit_mesh_vert.glsl engines/overlay/shaders/overlay_edit_mesh_vert_no_geom.glsl engines/overlay/shaders/overlay_edit_particle_point_vert.glsl engines/overlay/shaders/overlay_edit_particle_strand_vert.glsl engines/overlay/shaders/overlay_edit_uv_edges_frag.glsl engines/overlay/shaders/overlay_edit_uv_edges_geom.glsl engines/overlay/shaders/overlay_edit_uv_edges_vert.glsl engines/overlay/shaders/overlay_edit_uv_face_dots_vert.glsl engines/overlay/shaders/overlay_edit_uv_faces_vert.glsl engines/overlay/shaders/overlay_edit_uv_image_mask_frag.glsl engines/overlay/shaders/overlay_edit_uv_image_vert.glsl engines/overlay/shaders/overlay_edit_uv_stretching_vert.glsl engines/overlay/shaders/overlay_edit_uv_tiled_image_borders_vert.glsl engines/overlay/shaders/overlay_edit_uv_verts_frag.glsl engines/overlay/shaders/overlay_edit_uv_verts_vert.glsl engines/overlay/shaders/overlay_extra_frag.glsl engines/overlay/shaders/overlay_extra_groundline_vert.glsl engines/overlay/shaders/overlay_extra_lightprobe_grid_vert.glsl engines/overlay/shaders/overlay_extra_loose_point_frag.glsl engines/overlay/shaders/overlay_extra_loose_point_vert.glsl engines/overlay/shaders/overlay_extra_point_vert.glsl engines/overlay/shaders/overlay_extra_vert.glsl engines/overlay/shaders/overlay_extra_wire_frag.glsl engines/overlay/shaders/overlay_extra_wire_vert.glsl engines/overlay/shaders/overlay_facing_frag.glsl engines/overlay/shaders/overlay_facing_vert.glsl engines/overlay/shaders/overlay_grid_background_frag.glsl engines/overlay/shaders/overlay_grid_frag.glsl engines/overlay/shaders/overlay_grid_vert.glsl engines/overlay/shaders/overlay_image_frag.glsl engines/overlay/shaders/overlay_image_vert.glsl engines/overlay/shaders/overlay_motion_path_line_frag.glsl engines/overlay/shaders/overlay_motion_path_line_geom.glsl engines/overlay/shaders/overlay_motion_path_line_vert.glsl engines/overlay/shaders/overlay_motion_path_line_vert_no_geom.glsl engines/overlay/shaders/overlay_motion_path_point_vert.glsl engines/overlay/shaders/overlay_outline_detect_frag.glsl engines/overlay/shaders/overlay_outline_prepass_curves_vert.glsl engines/overlay/shaders/overlay_outline_prepass_frag.glsl engines/overlay/shaders/overlay_outline_prepass_geom.glsl engines/overlay/shaders/overlay_outline_prepass_gpencil_frag.glsl engines/overlay/shaders/overlay_outline_prepass_gpencil_vert.glsl engines/overlay/shaders/overlay_outline_prepass_pointcloud_vert.glsl engines/overlay/shaders/overlay_outline_prepass_vert.glsl engines/overlay/shaders/overlay_paint_face_vert.glsl engines/overlay/shaders/overlay_paint_point_vert.glsl engines/overlay/shaders/overlay_paint_texture_frag.glsl engines/overlay/shaders/overlay_paint_texture_vert.glsl engines/overlay/shaders/overlay_paint_vertcol_frag.glsl engines/overlay/shaders/overlay_paint_vertcol_vert.glsl engines/overlay/shaders/overlay_paint_weight_frag.glsl engines/overlay/shaders/overlay_paint_weight_vert.glsl engines/overlay/shaders/overlay_paint_wire_vert.glsl engines/overlay/shaders/overlay_particle_frag.glsl engines/overlay/shaders/overlay_particle_vert.glsl engines/overlay/shaders/overlay_point_varying_color_frag.glsl engines/overlay/shaders/overlay_point_varying_color_varying_outline_aa_frag.glsl engines/overlay/shaders/overlay_pointcloud_only_vert.glsl engines/overlay/shaders/overlay_sculpt_curves_selection_frag.glsl engines/overlay/shaders/overlay_sculpt_curves_selection_vert.glsl engines/overlay/shaders/overlay_sculpt_mask_frag.glsl engines/overlay/shaders/overlay_sculpt_mask_vert.glsl engines/overlay/shaders/overlay_uniform_color_frag.glsl engines/overlay/shaders/overlay_varying_color.glsl engines/overlay/shaders/overlay_viewer_attribute_curve_vert.glsl engines/overlay/shaders/overlay_viewer_attribute_curves_vert.glsl engines/overlay/shaders/overlay_viewer_attribute_frag.glsl engines/overlay/shaders/overlay_viewer_attribute_mesh_vert.glsl engines/overlay/shaders/overlay_viewer_attribute_pointcloud_vert.glsl engines/overlay/shaders/overlay_volume_gridlines_vert.glsl engines/overlay/shaders/overlay_volume_velocity_vert.glsl engines/overlay/shaders/overlay_wireframe_frag.glsl engines/overlay/shaders/overlay_wireframe_vert.glsl engines/overlay/shaders/overlay_xray_fade_frag.glsl engines/overlay/overlay_shader_shared.h engines/image/shaders/image_engine_color_frag.glsl engines/image/shaders/image_engine_color_vert.glsl engines/image/shaders/image_engine_depth_frag.glsl engines/image/shaders/image_engine_depth_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}\", \"${GLSL_FILE}\"\)\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 ) if(WITH_DRAW_DEBUG) list(APPEND SRC engines/select/select_debug_engine.c ) add_definitions(-DWITH_DRAW_DEBUG) endif() if(WITH_MOD_FLUID) list(APPEND INC ../../../intern/mantaflow/extern ) add_definitions(-DWITH_FLUID) endif() if(WITH_FREESTYLE) add_definitions(-DWITH_FREESTYLE) endif() if(WITH_XR_OPENXR) add_definitions(-DWITH_XR_OPENXR) endif() if(WITH_GTESTS) if(WITH_OPENGL_DRAW_TESTS) add_definitions(-DWITH_OPENGL_DRAW_TESTS) endif() endif() if(WITH_TBB) add_definitions(-DWITH_TBB) if(WIN32) # TBB includes Windows.h which will define min/max macros # that will collide with the stl versions. add_definitions(-DNOMINMAX) endif() list(APPEND INC_SYS ${TBB_INCLUDE_DIRS} ) list(APPEND LIB ${TBB_LIBRARIES} ) endif() blender_add_lib(bf_draw "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") # Needed so we can use dna_type_offsets.h for defaults initialization. add_dependencies(bf_draw bf_dna) if(WITH_GTESTS) if(WITH_OPENGL_DRAW_TESTS) set(TEST_SRC tests/draw_pass_test.cc tests/draw_testing.cc tests/shaders_test.cc tests/draw_testing.hh ) set(TEST_INC ../../../intern/ghost ../gpu/tests ) set(TEST_LIB ) include(GTestTesting) blender_add_test_lib(bf_draw_tests "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}") endif() endif()