|
Blender
V2.93
|
#include "DRW_engine_types.h"#include "BLI_listbase.h"#include "BLI_math_matrix.h"#include "BLI_math_vector.h"#include "BLI_string.h"#include "BKE_context.h"#include "BKE_layer.h"#include "BKE_material.h"#include "BKE_scene.h"#include "BLT_translation.h"#include "DNA_light_types.h"#include "DNA_material_types.h"#include "DNA_object_types.h"#include "DNA_scene_types.h"#include "DNA_world_types.h"#include "GPU_framebuffer.h"#include "GPU_primitive.h"#include "GPU_shader.h"#include "GPU_texture.h"#include "GPU_uniform_buffer.h"#include "draw_cache.h"#include "draw_common.h"#include "draw_view.h"#include "draw_debug.h"#include "draw_manager_profiling.h"#include "MEM_guardedalloc.h"#include "RE_engine.h"#include "DEG_depsgraph.h"Go to the source code of this file.
Classes | |
| struct | BoundSphere |
| struct | DrawEngineDataSize |
| struct | DrawEngineType |
| struct | DRWInstanceAttrFormat |
| struct | DRWContextState |
Typedefs | |
| typedef struct DRWCallBuffer | DRWCallBuffer |
| typedef struct DRWInterface | DRWInterface |
| typedef struct DRWPass | DRWPass |
| typedef struct DRWShaderLibrary | DRWShaderLibrary |
| typedef struct DRWShadingGroup | DRWShadingGroup |
| typedef struct DRWUniform | DRWUniform |
| typedef struct DRWView | DRWView |
| typedef struct BoundSphere | BoundSphere |
| typedef char | DRWViewportEmptyList |
| typedef struct DrawEngineDataSize | DrawEngineDataSize |
| typedef struct DrawEngineType | DrawEngineType |
| typedef void(* | GPUMaterialEvalCallbackFn) (struct GPUMaterial *mat, int options, const char **vert_code, const char **geom_code, const char **frag_lib, const char **defines) |
| typedef struct DRWInstanceAttrFormat | DRWInstanceAttrFormat |
| typedef bool() | DRWCallVisibilityFn(bool vis_in, void *user_data) |
| typedef struct DRWContextState | DRWContextState |
| #define DRW_buffer_add_entry | ( | buffer, | |
| ... | |||
| ) |
Definition at line 468 of file DRW_render.h.
| #define DRW_PASS_CREATE | ( | pass, | |
| state | |||
| ) | (pass = DRW_pass_create(#pass, state)) |
Definition at line 593 of file DRW_render.h.
| #define DRW_PASS_INSTANCE_CREATE | ( | pass, | |
| original, | |||
| state | |||
| ) | (pass = DRW_pass_create_instance(#pass, (original), state)) |
Definition at line 594 of file DRW_render.h.
| #define DRW_shader_create | ( | vert, | |
| geom, | |||
| frag, | |||
| defines | |||
| ) | DRW_shader_create_ex(vert, geom, frag, defines, __func__) |
Definition at line 235 of file DRW_render.h.
| #define DRW_shader_create_fullscreen | ( | frag, | |
| defines | |||
| ) | DRW_shader_create_fullscreen_ex(frag, defines, __func__) |
Definition at line 241 of file DRW_render.h.
| #define DRW_shader_create_fullscreen_with_shaderlib | ( | frag, | |
| lib, | |||
| defines | |||
| ) | DRW_shader_create_fullscreen_with_shaderlib_ex(frag, lib, defines, __func__) |
Definition at line 243 of file DRW_render.h.
| #define DRW_shader_create_with_lib | ( | vert, | |
| geom, | |||
| frag, | |||
| lib, | |||
| defines | |||
| ) | DRW_shader_create_with_lib_ex(vert, geom, frag, lib, defines, __func__) |
Definition at line 237 of file DRW_render.h.
| #define DRW_shader_create_with_shaderlib | ( | vert, | |
| geom, | |||
| frag, | |||
| lib, | |||
| defines | |||
| ) | DRW_shader_create_with_shaderlib_ex(vert, geom, frag, lib, defines, __func__) |
Definition at line 239 of file DRW_render.h.
| #define DRW_SHADER_FREE_SAFE | ( | shader | ) |
Definition at line 279 of file DRW_render.h.
| #define DRW_SHADER_LIB_ADD | ( | lib, | |
| lib_name | |||
| ) | DRW_shader_library_add_file(lib, datatoc_##lib_name##_glsl, STRINGIFY(lib_name) ".glsl") |
Definition at line 291 of file DRW_render.h.
| #define DRW_SHADER_LIB_FREE_SAFE | ( | lib | ) |
Definition at line 298 of file DRW_render.h.
| #define DRW_shgroup_call | ( | shgroup, | |
| geom, | |||
| ob | |||
| ) | DRW_shgroup_call_ex(shgroup, ob, NULL, geom, false, NULL) |
Definition at line 420 of file DRW_render.h.
| #define DRW_shgroup_call_no_cull | ( | shgroup, | |
| geom, | |||
| ob | |||
| ) | DRW_shgroup_call_ex(shgroup, ob, NULL, geom, true, NULL) |
Definition at line 433 of file DRW_render.h.
| #define DRW_shgroup_call_obmat | ( | shgroup, | |
| geom, | |||
| obmat | |||
| ) | DRW_shgroup_call_ex(shgroup, NULL, obmat, geom, false, NULL) |
Definition at line 424 of file DRW_render.h.
| #define DRW_shgroup_call_with_callback | ( | shgroup, | |
| geom, | |||
| ob, | |||
| user_data | |||
| ) | DRW_shgroup_call_ex(shgroup, ob, NULL, geom, false, user_data) |
Definition at line 429 of file DRW_render.h.
| #define DRW_shgroup_instance_format | ( | format, | |
| ... | |||
| ) |
Definition at line 391 of file DRW_render.h.
| #define DRW_STATE_BLEND_ENABLED |
Definition at line 362 of file DRW_render.h.
| #define DRW_STATE_DEFAULT (DRW_STATE_WRITE_DEPTH | DRW_STATE_WRITE_COLOR | DRW_STATE_DEPTH_LESS_EQUAL) |
Definition at line 360 of file DRW_render.h.
| #define DRW_STATE_DEPTH_TEST_ENABLED |
Definition at line 369 of file DRW_render.h.
| #define DRW_STATE_RASTERIZER_ENABLED |
Definition at line 366 of file DRW_render.h.
| #define DRW_STATE_STENCIL_TEST_ENABLED (DRW_STATE_STENCIL_ALWAYS | DRW_STATE_STENCIL_EQUAL | DRW_STATE_STENCIL_NEQUAL) |
Definition at line 372 of file DRW_render.h.
| #define DRW_STATE_WRITE_STENCIL_ENABLED |
Definition at line 374 of file DRW_render.h.
| #define DRW_TEXTURE_FREE_SAFE | ( | tex | ) |
Definition at line 180 of file DRW_render.h.
| #define DRW_UBO_FREE_SAFE | ( | ubo | ) |
Definition at line 188 of file DRW_render.h.
| #define DRW_VIEWPORT_DATA_SIZE | ( | ty | ) |
Definition at line 97 of file DRW_render.h.
| #define DRW_VIEWPORT_LIST_SIZE | ( | list | ) | (sizeof(list) == sizeof(DRWViewportEmptyList) ? 0 : ((sizeof(list)) / sizeof(void *))) |
Definition at line 93 of file DRW_render.h.
| typedef struct BoundSphere BoundSphere |
| typedef struct DrawEngineDataSize DrawEngineDataSize |
| typedef struct DrawEngineType DrawEngineType |
| typedef struct DRWCallBuffer DRWCallBuffer |
Definition at line 1 of file DRW_render.h.
| typedef bool() DRWCallVisibilityFn(bool vis_in, void *user_data) |
Definition at line 410 of file DRW_render.h.
| typedef struct DRWContextState DRWContextState |
| typedef struct DRWInstanceAttrFormat DRWInstanceAttrFormat |
| typedef struct DRWInterface DRWInterface |
Definition at line 1 of file DRW_render.h.
Definition at line 1 of file DRW_render.h.
| typedef struct DRWShaderLibrary DRWShaderLibrary |
Definition at line 1 of file DRW_render.h.
| typedef struct DRWShadingGroup DRWShadingGroup |
Definition at line 1 of file DRW_render.h.
| typedef struct DRWUniform DRWUniform |
Definition at line 1 of file DRW_render.h.
Definition at line 1 of file DRW_render.h.
| typedef char DRWViewportEmptyList |
Definition at line 91 of file DRW_render.h.
| typedef void(* GPUMaterialEvalCallbackFn) (struct GPUMaterial *mat, int options, const char **vert_code, const char **geom_code, const char **frag_lib, const char **defines) |
Definition at line 200 of file DRW_render.h.
| enum DRWState |
Definition at line 312 of file DRW_render.h.
| enum DRWTextureFlag |
| Enumerator | |
|---|---|
| DRW_TEX_FILTER | |
| DRW_TEX_WRAP | |
| DRW_TEX_COMPARE | |
| DRW_TEX_MIPMAP | |
Definition at line 138 of file DRW_render.h.
| enum eDRWAttrType |
| Enumerator | |
|---|---|
| DRW_ATTR_INT | |
| DRW_ATTR_FLOAT | |
Definition at line 378 of file DRW_render.h.
| void DRW_buffer_add_entry_array | ( | DRWCallBuffer * | callbuf, |
| const void * | attr[], | ||
| uint | attr_len | ||
| ) |
Definition at line 1166 of file draw_manager_data.c.
References BLI_assert, DRWCallBuffer::buf, DRWCallBuffer::buf_select, DRWCallBuffer::count, DRW_BUFFER_VERTS_CHUNK, DST, G, G_FLAG_PICKSEL, GPU_vertbuf_attr_set(), GPU_vertbuf_data_resize(), GPU_vertbuf_get_format(), GPU_vertbuf_get_vertex_alloc(), DRWManager::select_id, UNLIKELY, and UNUSED_VARS_NDEBUG.
| void DRW_buffer_add_entry_struct | ( | DRWCallBuffer * | callbuf, |
| const void * | data | ||
| ) |
Definition at line 1145 of file draw_manager_data.c.
References DRWCallBuffer::buf, DRWCallBuffer::buf_select, DRWCallBuffer::count, data, DRW_BUFFER_VERTS_CHUNK, DST, G, G_FLAG_PICKSEL, GPU_vertbuf_attr_set(), GPU_vertbuf_data_resize(), GPU_vertbuf_get_vertex_alloc(), GPU_vertbuf_vert_set(), DRWManager::select_id, and UNLIKELY.
Referenced by camera_stereoscopy_extra(), drw_shgroup_bone_box(), drw_shgroup_bone_custom_solid(), drw_shgroup_bone_custom_wire(), drw_shgroup_bone_envelope(), drw_shgroup_bone_octahedral(), drw_shgroup_bone_point(), OVERLAY_camera_cache_populate(), OVERLAY_edit_metaball_cache_populate(), and OVERLAY_metaball_cache_populate().
| void DRW_cache_restart | ( | void | ) |
Definition at line 2034 of file draw_manager.c.
References DRWManager::buffer_finish_called, copy_v2_v2(), DRW_hair_init(), drw_viewport_cache_resize(), drw_viewport_var_init(), DST, DRWManager::inv_size, size(), and DRWManager::size.
Referenced by EEVEE_motion_blur_cache_finish(), and eevee_render_to_image().
| const DRWContextState* DRW_context_state_get | ( | void | ) |
Definition at line 2902 of file draw_manager.c.
References DRWManager::draw_ctx, and DST.
Referenced by basic_cache_init(), basic_cache_populate(), basic_engine_init(), camera_view3d_reconstruction(), draw_armature_pose(), drw_batch_cache_generate_requested(), DRW_cache_gpencil_face_wireframe_get(), DRW_draw_cursor(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), DRW_hair_pos_buffer_get(), DRW_mball_batch_cache_pos_vertbuf_get(), DRW_metaball_batch_cache_get_edge_detection(), DRW_metaball_batch_cache_get_triangles_with_normals(), DRW_metaball_batch_cache_get_wireframes_face(), DRW_object_is_visible_psys_in_active_context(), DRW_object_wire_theme_get(), drw_particle_get_hair_source(), drw_particle_update_ptcache(), drw_particle_update_ptcache_edit(), DRW_render_object_iter(), drw_sculpt_generate_calls(), DRW_shgroup_hair_create_sub(), DRW_volume_batch_cache_get_wireframes_face(), EEVEE_bloom_init(), eevee_cache_finish(), EEVEE_cache_populate(), EEVEE_cryptomatte_cache_populate(), eevee_cryptomatte_download_buffer(), EEVEE_cryptomatte_output_accumulate(), EEVEE_cryptomatte_output_init(), EEVEE_cryptomatte_particle_hair_cache_populate(), eevee_cryptomatte_postprocess_weights(), EEVEE_cryptomatte_render_result(), EEVEE_cryptomatte_renderpasses_init(), eevee_cryptomatte_shading_group_create(), EEVEE_cryptomatte_store_metadata(), EEVEE_depth_of_field_init(), eevee_draw_scene(), eevee_engine_init(), eevee_light_setup(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_cache_init(), EEVEE_lightprobes_init(), EEVEE_lightprobes_refresh(), EEVEE_lookdev_cache_init(), EEVEE_lookdev_draw(), eevee_lookdev_hdri_preview_init(), EEVEE_lookdev_init(), EEVEE_materials_cache_init(), EEVEE_materials_cache_populate(), EEVEE_materials_init(), EEVEE_mist_output_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_init(), EEVEE_occlusion_init(), EEVEE_particle_hair_cache_populate(), eevee_render_result_aovs(), eevee_render_to_image(), EEVEE_renderpasses_init(), EEVEE_screen_raytrace_init(), EEVEE_shadows_init(), EEVEE_subsurface_cache_init(), EEVEE_temporal_sampling_init(), EEVEE_temporal_sampling_matrices_calc(), eevee_volume_object_mesh_init(), EEVEE_volumes_cache_init(), EEVEE_volumes_init(), external_cache_init(), external_draw_scene(), external_draw_scene_do(), external_engine_init(), GPENCIL_cache_init(), GPENCIL_cache_populate(), GPENCIL_engine_init(), GPENCIL_render_result_z(), GPENCIL_render_to_image(), gpencil_sbuffer_cache_populate(), gpencil_sbuffer_cache_populate_fast(), gpencil_sbuffer_stroke_ensure(), image_cache_image(), image_cache_image_add(), IMAGE_cache_init(), image_draw_finish(), image_gpu_texture_get(), material_opaque(), material_shadow(), material_transparent(), motion_blur_deform_data_get(), motion_path_cache(), OVERLAY_armature_cache_init(), OVERLAY_armature_cache_populate(), OVERLAY_background_cache_init(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_cache_populate(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_mesh_cache_populate(), OVERLAY_edit_mesh_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_particle_cache_populate(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), overlay_edit_uv_cache_populate(), OVERLAY_edit_uv_init(), OVERLAY_empty_cache_populate(), OVERLAY_engine_init(), OVERLAY_extra_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_init(), OVERLAY_fade_cache_populate(), OVERLAY_gpencil_cache_init(), OVERLAY_gpencil_cache_populate(), OVERLAY_gpencil_color_names(), overlay_gpencil_draw_stroke_color_name(), OVERLAY_grid_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_image_init(), OVERLAY_lattice_cache_populate(), OVERLAY_light_cache_populate(), OVERLAY_lightprobe_cache_populate(), OVERLAY_metaball_cache_populate(), OVERLAY_motion_path_cache_populate(), OVERLAY_outline_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_paint_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_populate(), OVERLAY_shader_armature_degrees_of_freedom_solid(), OVERLAY_shader_armature_degrees_of_freedom_wire(), OVERLAY_shader_armature_envelope(), OVERLAY_shader_armature_shape(), OVERLAY_shader_armature_shape_wire(), OVERLAY_shader_armature_sphere(), OVERLAY_shader_armature_stick(), OVERLAY_shader_armature_wire(), OVERLAY_shader_depth_only(), OVERLAY_shader_edit_curve_handle(), OVERLAY_shader_edit_curve_point(), OVERLAY_shader_edit_curve_wire(), OVERLAY_shader_edit_gpencil_point(), OVERLAY_shader_edit_gpencil_wire(), OVERLAY_shader_edit_lattice_point(), OVERLAY_shader_edit_lattice_wire(), OVERLAY_shader_edit_mesh_analysis(), OVERLAY_shader_edit_mesh_edge(), OVERLAY_shader_edit_mesh_face(), OVERLAY_shader_edit_mesh_facedot(), OVERLAY_shader_edit_mesh_normal(), OVERLAY_shader_edit_mesh_skin_root(), OVERLAY_shader_edit_mesh_vert(), OVERLAY_shader_edit_particle_point(), OVERLAY_shader_edit_particle_strand(), OVERLAY_shader_extra(), OVERLAY_shader_extra_grid(), OVERLAY_shader_extra_groundline(), OVERLAY_shader_extra_loose_point(), OVERLAY_shader_extra_point(), OVERLAY_shader_extra_wire(), OVERLAY_shader_facing(), OVERLAY_shader_image(), OVERLAY_shader_motion_path_line(), OVERLAY_shader_motion_path_vert(), OVERLAY_shader_outline_prepass(), OVERLAY_shader_outline_prepass_gpencil(), OVERLAY_shader_outline_prepass_pointcloud(), OVERLAY_shader_paint_face(), OVERLAY_shader_paint_point(), OVERLAY_shader_paint_texture(), OVERLAY_shader_paint_vertcol(), OVERLAY_shader_paint_weight(), OVERLAY_shader_paint_wire(), OVERLAY_shader_particle_dot(), OVERLAY_shader_particle_shape(), OVERLAY_shader_sculpt_mask(), OVERLAY_shader_uniform_color(), OVERLAY_shader_wireframe(), OVERLAY_shader_wireframe_select(), OVERLAY_speaker_cache_populate(), OVERLAY_wireframe_cache_init(), OVERLAY_wireframe_cache_populate(), OVERLAY_wireframe_init(), particle_batch_cache_ensure_pos(), POSE_is_driven_by_active_armature(), select_cache_init(), select_cache_populate(), select_engine_init(), space_image_gpu_texture_get(), workbench_antialiasing_sample_count_get(), workbench_cache_hair_populate(), workbench_cache_texpaint_populate(), workbench_cavity_data_update(), workbench_cavity_samples_ubo_ensure(), workbench_color_type_get(), workbench_dof_engine_init(), workbench_in_front_history_needed(), workbench_private_data_init(), workbench_render(), workbench_render_result_z(), workbench_shadow_data_update(), and workbench_update_material_ubos().
Definition at line 442 of file draw_manager_exec.c.
References draw_culling_box_test(), DST, view, and DRWManager::view_default.
Referenced by eevee_lightprobes_culling_test(), and workbench_shadow_object_cast_visible_shadow().
Definition at line 476 of file draw_manager_exec.c.
References DST, view, and DRWManager::view_default.
Referenced by workbench_shadow_update().
Definition at line 482 of file draw_manager_exec.c.
References DST, view, and DRWManager::view_default.
Referenced by workbench_shadow_update().
| bool DRW_culling_min_max_test | ( | const DRWView * | view, |
| float | obmat[4][4], | ||
| float | min[3], | ||
| float | max[3] | ||
| ) |
Definition at line 458 of file draw_manager_exec.c.
References aabb_get_near_far_from_plane(), DST, max, min, mul_v4_m4v4(), plane_point_side_v3(), transpose_m4_m4(), view, and DRWManager::view_default.
Referenced by select_cache_populate().
Definition at line 450 of file draw_manager_exec.c.
References draw_culling_plane_test(), DST, view, and DRWManager::view_default.
| bool DRW_culling_sphere_test | ( | const DRWView * | view, |
| const BoundSphere * | bsphere | ||
| ) |
Definition at line 434 of file draw_manager_exec.c.
References draw_culling_sphere_test(), DST, view, and DRWManager::view_default.
Referenced by EEVEE_shadows_draw().
| void DRW_custom_pipeline | ( | DrawEngineType * | draw_engine_type, |
| struct Depsgraph * | depsgraph, | ||
| void(*)(void *vedata, void *user_data) | callback, | ||
| void * | user_data | ||
| ) |
Definition at line 1980 of file draw_manager.c.
References DRWManager::buffer_finish_called, callback, data, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, drw_context_state_init(), DRW_hair_init(), drw_state_prepare_clean_for_draw(), drw_viewport_engine_data_ensure(), drw_viewport_var_init(), DST, GPU_finish(), GPU_framebuffer_restore(), GPU_viewport_create(), GPU_viewport_free(), GPU_viewport_size_set(), DRWManager::is_image_render, DRWManager::is_scene_render, NULL, OB_MODE_OBJECT, DRWManager::options, scene, DRWContextState::scene, size(), user_data, and DRWManager::viewport.
Referenced by lightbake_do_sample().
| void DRW_draw_callbacks_post_scene | ( | void | ) |
Definition at line 1401 of file draw_manager.c.
References DEG_get_input_scene(), depsgraph, DRWContextState::depsgraph, DRWManager::draw_ctx, drw_debug_draw(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), drw_draw_show_annotation(), drw_engines_draw_text(), DRW_state_reset(), DRW_stats_draw(), DRW_viewport_framebuffer_list_get(), DST, ED_annotation_draw_view3d(), ED_region_draw_cb_draw(), ED_region_visible_rect(), DRWContextState::evil_C, View3D::flag2, G, View3D::gizmo_flag, GPU_apply_state(), GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_test(), GPU_framebuffer_bind(), GPU_matrix_projection_set, GPU_matrix_set, DefaultFramebufferList::overlay_fb, DRWContextState::region, REGION_DRAW_POST_VIEW, DRWContextState::rv3d, DRWContextState::v3d, V3D_GIZMO_HIDE, V3D_HIDE_OVERLAYS, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by DRW_draw_render_loop_ex().
| void DRW_draw_callbacks_pre_scene | ( | void | ) |
Definition at line 1386 of file draw_manager.c.
References DRWManager::draw_ctx, DRW_state_reset(), DST, ED_region_draw_cb_draw(), DRWContextState::evil_C, GPU_matrix_projection_set, GPU_matrix_set, DRWContextState::region, REGION_DRAW_PRE_VIEW, DRWContextState::rv3d, RegionView3D::viewmat, and RegionView3D::winmat.
Referenced by DRW_draw_render_loop_ex(), and DRW_draw_select_loop().
| void DRW_draw_pass | ( | DRWPass * | pass | ) |
Definition at line 1150 of file draw_manager_exec.c.
References drw_draw_pass_ex(), DRWPass::first, DRWPass::last, DRWPass::next, and DRWPass::shgroups.
Referenced by basic_draw_scene(), dof_dilate_tiles_pass_draw(), dof_recursive_reduce(), downsample_planar(), downsample_radiance_cb(), DRW_hair_update(), EEVEE_bloom_draw(), EEVEE_bloom_output_accumulate(), EEVEE_create_minmax_buffer(), EEVEE_cryptomatte_output_accumulate(), EEVEE_depth_of_field_draw(), eevee_draw_scene(), EEVEE_effects_downsample_radiance_buffer(), EEVEE_lightbake_filter_diffuse(), EEVEE_lightbake_filter_glossy(), EEVEE_lightbake_filter_visibility(), eevee_lightbake_render_world_sample(), EEVEE_lookdev_draw(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_mist_output_accumulate(), EEVEE_motion_blur_draw(), EEVEE_occlusion_compute(), EEVEE_occlusion_draw_debug(), EEVEE_occlusion_output_accumulate(), EEVEE_reflection_compute(), EEVEE_reflection_output_accumulate(), EEVEE_render_draw(), eevee_render_draw_background(), EEVEE_renderpasses_postprocess(), EEVEE_shadow_output_accumulate(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), EEVEE_subsurface_compute(), EEVEE_subsurface_data_render(), EEVEE_subsurface_output_accumulate(), EEVEE_temporal_sampling_draw(), EEVEE_update_noise(), EEVEE_velocity_resolve(), EEVEE_volumes_compute(), EEVEE_volumes_output_accumulate(), EEVEE_volumes_resolve(), external_draw_scene(), GPENCIL_antialiasing_draw(), gpencil_draw_mask(), GPENCIL_draw_object(), GPENCIL_draw_scene_depth_only(), IMAGE_draw_scene(), lightbake_render_scene_face(), lightbake_render_scene_reflected(), lightbake_render_world_face(), material_renderpass_accumulate(), max_downsample_cb(), OVERLAY_antialiasing_end(), OVERLAY_armature_draw(), OVERLAY_armature_in_front_draw(), OVERLAY_background_draw(), OVERLAY_edit_curve_draw(), OVERLAY_edit_gpencil_draw(), OVERLAY_edit_lattice_draw(), OVERLAY_edit_mesh_draw(), overlay_edit_mesh_draw_components(), OVERLAY_edit_particle_draw(), OVERLAY_edit_text_draw(), OVERLAY_edit_uv_draw(), OVERLAY_extra_blend_draw(), OVERLAY_extra_centers_draw(), OVERLAY_extra_draw(), OVERLAY_extra_in_front_draw(), OVERLAY_facing_draw(), OVERLAY_facing_infront_draw(), OVERLAY_fade_draw(), OVERLAY_fade_infront_draw(), OVERLAY_gpencil_draw(), OVERLAY_grid_draw(), OVERLAY_image_background_draw(), OVERLAY_image_draw(), OVERLAY_image_in_front_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_metaball_draw(), OVERLAY_metaball_in_front_draw(), OVERLAY_motion_path_draw(), OVERLAY_outline_draw(), OVERLAY_paint_draw(), OVERLAY_particle_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_draw(), OVERLAY_volume_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), OVERLAY_xray_fade_draw(), select_draw_scene(), simple_downsample_cube_cb(), workbench_antialiasing_draw_pass(), workbench_dof_downsample_level(), workbench_dof_draw_pass(), workbench_draw_sample(), workbench_transparent_draw_depth_pass(), and workbench_volume_draw_pass().
| void DRW_draw_pass_subset | ( | DRWPass * | pass, |
| DRWShadingGroup * | start_group, | ||
| DRWShadingGroup * | end_group | ||
| ) |
Definition at line 1158 of file draw_manager_exec.c.
References drw_draw_pass_ex().
Referenced by DRW_hair_update().
| DrawData* DRW_drawdata_ensure | ( | ID * | id, |
| DrawEngineType * | engine_type, | ||
| size_t | size, | ||
| DrawDataInitCb | init_cb, | ||
| DrawDataFreeCb | free_cb | ||
| ) |
Definition at line 899 of file draw_manager.c.
References BASE_FROM_DUPLI, BLI_addtail(), BLI_assert, DRW_drawdata_get(), DRW_drawdatalist_from_id(), DRW_instance_data_next(), DRW_instance_data_request(), DST, DrawData::engine_type, float(), DrawData::free, GS, id, id_can_have_drawdata(), ID_OB, DRWManager::idatalist, MAX_INSTANCE_DATA_SIZE, MEM_callocN, ID::name, NULL, DRWManager::object_instance_data, size(), and t.
Referenced by EEVEE_light_data_ensure(), EEVEE_lightprobe_data_ensure(), EEVEE_object_data_ensure(), EEVEE_world_data_ensure(), select_cache_populate(), and workbench_shadow_cache_populate().
| DrawData* DRW_drawdata_get | ( | ID * | id, |
| DrawEngineType * | engine_type | ||
| ) |
Definition at line 883 of file draw_manager.c.
References DRW_drawdatalist_from_id(), LISTBASE_FOREACH, and NULL.
Referenced by DRW_drawdata_ensure(), DRW_select_buffer_context_offset_for_object_elem(), EEVEE_light_data_get(), EEVEE_lightprobe_data_get(), EEVEE_object_data_get(), EEVEE_world_data_get(), select_cache_init(), select_cache_populate(), and workbench_id_update().
| void** DRW_duplidata_get | ( | void * | vedata | ) |
Definition at line 767 of file draw_manager.c.
References DST, DRWManager::dupli_datas, DRWManager::dupli_source, DRWManager::enabled_engine_count, NULL, and DRWManager::vedata_array.
Referenced by OVERLAY_duplidata_get().
| struct DupliObject* DRW_object_get_dupli | ( | const struct Object * | ob | ) |
| bool DRW_object_is_flat_normal | ( | const struct Object * | ob | ) |
| bool DRW_object_is_in_edit_mode | ( | const struct Object * | ob | ) |
| bool DRW_object_is_renderable | ( | const struct Object * | ob | ) |
| bool DRW_object_is_visible_psys_in_active_context | ( | const struct Object * | object, |
| const struct ParticleSystem * | psys | ||
| ) |
| bool DRW_object_use_hide_faces | ( | const struct Object * | ob | ) |
Definition at line 252 of file draw_manager.c.
References Object::data, Mesh::editflag, ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, Object::mode, OB_MESH, OB_MODE_SCULPT, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, and Object::type.
Referenced by drw_batch_cache_generate_requested(), and workbench_color_type_get().
| int DRW_object_visibility_in_active_context | ( | const struct Object * | ob | ) |
Definition at line 1968 of file draw_manager_data.c.
References BLI_memblock_alloc(), BLI_strncpy(), DRW_handle_increment(), DRW_STATE_PROGRAM_POINT_SIZE, DST, DRWPass::first, G, G_DEBUG_GPU, DRWPass::handle, DRWPass::last, MAX_PASS_NAME, DRWPass::name, DRWPass::next, NULL, DRWPass::original, DRWManager::pass_handle, ViewportMemoryPool::passes, DRWPass::shgroups, DRWPass::state, state, and DRWManager::vmempool.
Referenced by DRW_hair_init(), DRW_pass_create_instance(), eevee_create_bloom_pass(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), external_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_pass_create(), IMAGE_cache_init(), workbench_dof_cache_init(), workbench_transparent_cache_init(), and workbench_volume_cache_init().
Definition at line 1989 of file draw_manager_data.c.
References DRW_pass_create(), DRWPass::original, and state.
Referenced by EEVEE_materials_cache_init().
| void DRW_pass_foreach_shgroup | ( | DRWPass * | pass, |
| void(*)(void *userData, DRWShadingGroup *shgroup) | callback, | ||
| void * | userData | ||
| ) |
| bool DRW_pass_is_empty | ( | DRWPass * | pass | ) |
Definition at line 2005 of file draw_manager_data.c.
References DRW_shgroup_is_empty(), LISTBASE_FOREACH, DRWPass::original, and DRWPass::shgroups.
Referenced by EEVEE_subsurface_compute(), OVERLAY_antialiasing_cache_finish(), OVERLAY_edit_mesh_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_outline_draw(), select_draw_scene(), workbench_draw_sample(), and workbench_transparent_draw_depth_pass().
Definition at line 1998 of file draw_manager_data.c.
References BLI_assert, DRWPass::next, and NULL.
Referenced by EEVEE_materials_cache_init(), and EEVEE_motion_blur_cache_init().
| void DRW_pass_sort_shgroup_reverse | ( | DRWPass * | pass | ) |
Reverse Shading group submission order.
Definition at line 2115 of file draw_manager_data.c.
References BLI_linklist_reverse(), DRWPass::first, DRWPass::last, and DRWPass::shgroups.
| void DRW_pass_sort_shgroup_z | ( | DRWPass * | pass | ) |
Sort Shading groups by decreasing Z of their first draw call. This is useful for order dependent effect such as alpha-blending.
Definition at line 2062 of file draw_manager_data.c.
References DRWShadingGroup::cmd, DRWCommandChunk::command_type, command_type_get(), DRWCommandChunk::command_used, DRWCommandChunk::commands, dot_v3v3(), DRWCommand::draw, DRW_CMD_DRAW, DRW_memblock_elem_from_handle(), DST, DRWShadingGroup::first, DRWPass::first, float(), DRWCommandDraw::handle, DRWPass::handle, DRWPass::last, DRWObjectMatrix::model, DRWShadingGroup::next, DRWCommandChunk::next, ViewportMemoryPool::obmats, DRWShadingGroup::pass_handle, pass_shgroup_dist_sort(), DRWPass::shgroups, DRWView::storage, sub_v3_v3v3(), DRWManager::view_active, DRWViewUboStorage::viewinv, DRWManager::vmempool, and DRWShadingGroup::z_sorting.
Referenced by eevee_draw_scene(), EEVEE_lightprobes_refresh_planar(), EEVEE_render_draw(), lightbake_render_scene_reflected(), and OVERLAY_image_cache_finish().
| void DRW_render_instance_buffer_finish | ( | void | ) |
Definition at line 2245 of file draw_manager.c.
References BLI_assert, DRWManager::buffer_finish_called, DRW_instance_buffer_finish(), drw_resource_buffer_finish(), DST, DRWManager::idatalist, and DRWManager::vmempool.
Referenced by drw_draw_depth_loop_impl(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), eevee_lightbake_cache_create(), EEVEE_motion_blur_cache_finish(), EEVEE_render_draw(), GPENCIL_render_to_image(), and workbench_render().
| void DRW_render_object_iter | ( | void * | vedata, |
| struct RenderEngine * | engine, | ||
| struct Depsgraph * | depsgraph, | ||
| void(*)(void *vedata, struct Object *ob, struct RenderEngine *engine, struct Depsgraph *depsgraph) | callback | ||
| ) |
| void DRW_render_set_time | ( | struct RenderEngine * | engine, |
| struct Depsgraph * | depsgraph, | ||
| int | frame, | ||
| float | subframe | ||
| ) |
Definition at line 2254 of file draw_manager.c.
References DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_ctx, DST, RE_engine_frame_set(), DRWContextState::scene, and DRWContextState::view_layer.
Referenced by eevee_render_to_image().
| void DRW_render_to_image | ( | struct RenderEngine * | engine, |
| struct Depsgraph * | depsgraph | ||
| ) |
Definition at line 1850 of file draw_manager.c.
References RenderData::alphamode, BLI_rcti_init(), BLI_rcti_is_empty(), DRWManager::buffer_finish_called, data, DEG_get_evaluated_scene(), DEG_get_evaluated_view_layer(), depsgraph, DRWManager::draw_background, DRWManager::draw_ctx, RenderEngineType::draw_engine, draw_render_result_ensure_pass_cb(), drw_context_state_init(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_view_reset(), drw_viewport_cache_resize(), drw_viewport_engine_data_ensure(), drw_viewport_var_init(), DST, ListBase::first, GPU_framebuffer_restore(), GPU_viewport(), GPU_viewport_create(), GPU_viewport_free(), GPU_viewport_size_set(), DRWManager::is_image_render, DRWManager::is_scene_render, RenderResult::layers, ViewLayer::name, Render::name, NULL, OB_MODE_OBJECT, DRWManager::options, Scene::r, R_ADDSKY, RenderEngine::re, RE_engine_begin_result(), RE_engine_end_result(), RE_engine_get_result(), RE_engine_update_render_passes(), RE_GetViewPlane(), RE_SetActiveRenderView(), DrawEngineType::render_to_image, RenderEngine::resolution_x, RenderEngine::resolution_y, scene, DRWContextState::scene, size(), DrawEngineType::store_metadata, RenderEngine::type, DRWManager::viewport, and RenderResult::views.
| void DRW_render_viewport_size_set | ( | const int | size[2] | ) |
Definition at line 431 of file draw_manager.c.
References DST, DRWManager::inv_size, size(), and DRWManager::size.
Referenced by eevee_lightbake_cache_create(), EEVEE_render_init(), and eevee_render_to_image().
| void DRW_select_load_id | ( | uint | id | ) |
Definition at line 40 of file draw_manager_exec.c.
References BLI_assert, DST, G, G_FLAG_PICKSEL, id, and DRWManager::select_id.
Referenced by camera_view3d_reconstruction(), draw_bone_box(), draw_bone_custom_shape(), draw_bone_envelope(), draw_bone_line(), draw_bone_octahedral(), draw_bone_wire(), draw_points(), DRW_draw_select_loop(), and OVERLAY_edit_metaball_cache_populate().
| struct GPUShader* DRW_shader_create_ex | ( | const char * | vert, |
| const char * | geom, | ||
| const char * | frag, | ||
| const char * | defines, | ||
| const char * | name | ||
| ) |
Definition at line 332 of file draw_manager_shader.c.
References GPU_shader_create(), and NULL.
| struct GPUMaterial* DRW_shader_create_from_material | ( | struct Scene * | scene, |
| struct Material * | ma, | ||
| struct bNodeTree * | ntree, | ||
| const void * | engine_type, | ||
| const int | options, | ||
| const bool | is_volume_shader, | ||
| const char * | vert, | ||
| const char * | geom, | ||
| const char * | frag_lib, | ||
| const char * | defines, | ||
| bool | deferred, | ||
| GPUMaterialEvalCallbackFn | callback | ||
| ) |
Definition at line 502 of file draw_manager_shader.c.
References callback, DEG_get_original_id(), DRWManager::draw_ctx, drw_deferred_shader_add(), DRW_state_is_image_render(), DST, GPU_MAT_QUEUED, GPU_material_from_nodetree(), GPU_material_from_nodetree_find(), GPU_material_status(), Material::gpumaterial, Material::id, Scene::id, ID::name, ntree, NULL, options, scene, and DRWContextState::scene.
Referenced by eevee_material_get_ex().
| struct GPUMaterial* DRW_shader_create_from_world | ( | struct Scene * | scene, |
| struct World * | wo, | ||
| struct bNodeTree * | ntree, | ||
| const void * | engine_type, | ||
| const int | options, | ||
| const bool | is_volume_shader, | ||
| const char * | vert, | ||
| const char * | geom, | ||
| const char * | frag_lib, | ||
| const char * | defines, | ||
| bool | deferred, | ||
| GPUMaterialEvalCallbackFn | callback | ||
| ) |
Definition at line 460 of file draw_manager_shader.c.
References callback, DEG_get_original_id(), DRWManager::draw_ctx, drw_deferred_shader_add(), DRW_state_is_image_render(), DST, GPU_MAT_QUEUED, GPU_material_from_nodetree(), GPU_material_from_nodetree_find(), GPU_material_status(), World::gpumaterial, Scene::id, World::id, ID::name, ntree, NULL, options, scene, and DRWContextState::scene.
Referenced by eevee_material_get_ex().
| struct GPUShader* DRW_shader_create_fullscreen_ex | ( | const char * | frag, |
| const char * | defines, | ||
| const char * | name | ||
| ) |
Definition at line 406 of file draw_manager_shader.c.
References datatoc_common_fullscreen_vert_glsl, GPU_shader_create(), and NULL.
| struct GPUShader* DRW_shader_create_fullscreen_with_shaderlib_ex | ( | const char * | frag, |
| const DRWShaderLibrary * | lib, | ||
| const char * | defines, | ||
| const char * | name | ||
| ) |
Definition at line 411 of file draw_manager_shader.c.
References datatoc_common_fullscreen_vert_glsl, DRW_shader_library_create_shader_string(), GPU_shader_create(), lib, MEM_SAFE_FREE, and NULL.
| struct GPUShader* DRW_shader_create_with_lib_ex | ( | const char * | vert, |
| const char * | geom, | ||
| const char * | frag, | ||
| const char * | lib, | ||
| const char * | defines, | ||
| const char * | name | ||
| ) |
Definition at line 338 of file draw_manager_shader.c.
References BLI_string_joinN, GPU_shader_create(), lib, MEM_freeN, and NULL.
| struct GPUShader* DRW_shader_create_with_shaderlib_ex | ( | const char * | vert, |
| const char * | geom, | ||
| const char * | frag, | ||
| const DRWShaderLibrary * | lib, | ||
| const char * | defines, | ||
| const char * | name | ||
| ) |
Definition at line 367 of file draw_manager_shader.c.
References DRW_shader_library_create_shader_string(), GPU_shader_create(), lib, MEM_SAFE_FREE, and NULL.
| struct GPUShader* DRW_shader_create_with_transform_feedback | ( | const char * | vert, |
| const char * | geom, | ||
| const char * | defines, | ||
| const eGPUShaderTFBType | prim_type, | ||
| const char ** | varying_names, | ||
| const int | varying_count | ||
| ) |
Definition at line 388 of file draw_manager_shader.c.
References datatoc_gpu_shader_depth_only_frag_glsl, GPU_shader_create_ex(), and NULL.
Referenced by hair_refine_shader_get().
| struct GPUMaterial* DRW_shader_find_from_material | ( | struct Material * | ma, |
| const void * | engine_type, | ||
| const int | options, | ||
| bool | deferred | ||
| ) |
Definition at line 444 of file draw_manager_shader.c.
References DRW_state_is_image_render(), GPU_MAT_QUEUED, GPU_material_from_nodetree_find(), GPU_material_status(), Material::gpumaterial, NULL, and options.
Referenced by eevee_material_get_ex().
| struct GPUMaterial* DRW_shader_find_from_world | ( | struct World * | wo, |
| const void * | engine_type, | ||
| const int | options, | ||
| bool | deferred | ||
| ) |
Definition at line 428 of file draw_manager_shader.c.
References DRW_state_is_image_render(), GPU_MAT_QUEUED, GPU_material_from_nodetree_find(), GPU_material_status(), World::gpumaterial, NULL, and options.
Referenced by eevee_material_get_ex().
| void DRW_shader_free | ( | struct GPUShader * | shader | ) |
Definition at line 544 of file draw_manager_shader.c.
References GPU_shader_free(), and shader().
| void DRW_shader_library_add_file | ( | DRWShaderLibrary * | lib, |
| char * | lib_code, | ||
| const char * | lib_name | ||
| ) |
Definition at line 631 of file draw_manager_shader.c.
References BLI_assert, BLI_strncpy(), drw_shader_dependencies_get(), lib, DRWShaderLibrary::libs, DRWShaderLibrary::libs_deps, DRWShaderLibrary::libs_name, MAX_LIB, MAX_LIB_NAME, and NULL.
| DRWShaderLibrary* DRW_shader_library_create | ( | void | ) |
Definition at line 574 of file draw_manager_shader.c.
References MEM_callocN.
Referenced by eevee_shader_library_ensure(), IMAGE_shader_library_ensure(), OVERLAY_shader_library_ensure(), and workbench_shader_library_ensure().
| char* DRW_shader_library_create_shader_string | ( | const DRWShaderLibrary * | lib, |
| const char * | shader_code | ||
| ) |
Definition at line 654 of file draw_manager_shader.c.
References BLI_dynstr_append(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), drw_shader_dependencies_get(), lib, DRWShaderLibrary::libs, DRWShaderLibrary::libs_deps, MAX_LIB, and str.
Referenced by DRW_shader_create_fullscreen_with_shaderlib_ex(), DRW_shader_create_with_shaderlib_ex(), eevee_get_frag(), eevee_get_geom(), eevee_get_vert(), eevee_shader_library_ensure(), workbench_shader_antialiasing_accumulation_get(), workbench_shader_cavity_get(), workbench_shader_composite_get(), workbench_shader_get_ex(), workbench_shader_merge_infront_get(), workbench_shader_outline_get(), and workbench_shader_volume_get().
| void DRW_shader_library_free | ( | DRWShaderLibrary * | lib | ) |
Definition at line 579 of file draw_manager_shader.c.
References lib, and MEM_SAFE_FREE.
| void DRW_shgroup_add_material_resources | ( | DRWShadingGroup * | grp, |
| struct GPUMaterial * | material | ||
| ) |
Definition at line 1317 of file draw_manager_data.c.
References BKE_image_get_gpu_texture(), BKE_image_get_gpu_tilemap(), BKE_image_get_gpu_tiles(), drw_shgroup_material_texture(), DRW_shgroup_uniform_block(), drw_shgroup_uniform_create_ex(), DRW_shgroup_uniform_texture(), DRW_UNIFORM_BLOCK_OBATTRS, GPU_ATTRIBUTE_UBO_BLOCK_NAME, GPU_material_textures(), GPU_material_uniform_attributes(), GPU_material_uniform_buffer_get(), GPU_shader_get_uniform_block_binding(), GPU_UBO_BLOCK_NAME, Tex::ima, Tex::iuser, LISTBASE_FOREACH, material, NULL, DRWShadingGroup::shader, tex, textures, and DRWShadingGroup::uniform_attrs.
Referenced by DRW_shgroup_material_create(), eevee_hair_cache_populate(), eevee_lookdev_hdri_preview_init(), material_opaque(), material_shadow(), and material_transparent().
| DRWCallBuffer* DRW_shgroup_call_buffer | ( | DRWShadingGroup * | shgroup, |
| struct GPUVertFormat * | format, | ||
| GPUPrimType | prim_type | ||
| ) |
Definition at line 1087 of file draw_manager_data.c.
References GPUVertFormat::attr_len, batch, BLI_assert, BLI_memblock_alloc(), DRWCallBuffer::buf, DRWCallBuffer::buf_select, ViewportMemoryPool::callbuffers, DRWCallBuffer::count, drw_command_draw(), drw_command_set_select_id(), drw_resource_handle(), DRW_temp_batch_request(), DRW_temp_buffer_request(), DST, ELEM, G, G_FLAG_PICKSEL, GPU_COMP_I32, GPU_FETCH_INT, GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRI_FAN, GPU_vertformat_attr_add(), GPUBatch, DRWManager::idatalist, inst_select_format, NULL, and DRWManager::vmempool.
| DRWCallBuffer* DRW_shgroup_call_buffer_instance | ( | DRWShadingGroup * | shgroup, |
| struct GPUVertFormat * | format, | ||
| struct GPUBatch * | geom | ||
| ) |
Definition at line 1116 of file draw_manager_data.c.
References GPUVertFormat::attr_len, batch, BLI_assert, BLI_memblock_alloc(), DRWCallBuffer::buf, DRWCallBuffer::buf_select, ViewportMemoryPool::callbuffers, DRWCallBuffer::count, drw_command_draw(), drw_command_set_select_id(), drw_resource_handle(), DRW_temp_batch_instance_request(), DRW_temp_buffer_request(), DST, G, G_FLAG_PICKSEL, GPU_COMP_I32, GPU_FETCH_INT, GPU_vertformat_attr_add(), GPUBatch, DRWManager::idatalist, inst_select_format, NULL, and DRWManager::vmempool.
Referenced by custom_bone_instance_shgroup(), and EEVEE_lightprobes_cache_init().
| void DRW_shgroup_call_ex | ( | DRWShadingGroup * | shgroup, |
| Object * | ob, | ||
| float(*) | obmat[4], | ||
| struct GPUBatch * | geom, | ||
| bool | bypass_culling, | ||
| void * | user_data | ||
| ) |
Definition at line 766 of file draw_manager_data.c.
References BLI_assert, DRWCullingState::bsphere, ViewportMemoryPool::cullstates, drw_command_draw(), drw_command_set_select_id(), DRW_memblock_elem_from_handle(), drw_resource_handle(), DST, G, G_FLAG_PICKSEL, NULL, DRWManager::ob_handle, Object::obmat, BoundSphere::radius, DRWManager::select_id, user_data, DRWCullingState::user_data, and DRWManager::vmempool.
| void DRW_shgroup_call_instance_range | ( | DRWShadingGroup * | shgroup, |
| Object * | ob, | ||
| struct GPUBatch * | geom, | ||
| uint | i_sta, | ||
| uint | i_ct | ||
| ) |
Definition at line 807 of file draw_manager_data.c.
References BLI_assert, drw_command_draw_intance_range(), drw_command_set_select_id(), drw_resource_handle(), DST, G, G_FLAG_PICKSEL, NULL, Object::obmat, and DRWManager::select_id.
Referenced by gpencil_drawcall_add(), gpencil_drawcall_flush(), gpencil_stroke_cache_populate(), OVERLAY_outline_cache_populate(), and workbench_object_drawcall().
| void DRW_shgroup_call_instances | ( | DRWShadingGroup * | shgroup, |
| Object * | ob, | ||
| struct GPUBatch * | geom, | ||
| uint | count | ||
| ) |
Definition at line 851 of file draw_manager_data.c.
References BLI_assert, count, drw_command_draw_instance(), drw_command_set_select_id(), drw_resource_handle(), DST, G, G_FLAG_PICKSEL, NULL, Object::obmat, and DRWManager::select_id.
Referenced by EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), and OVERLAY_edit_curve_cache_populate().
| void DRW_shgroup_call_instances_with_attrs | ( | DRWShadingGroup * | shgroup, |
| Object * | ob, | ||
| struct GPUBatch * | geom, | ||
| struct GPUBatch * | inst_attributes | ||
| ) |
Definition at line 864 of file draw_manager_data.c.
References batch, BLI_assert, drw_command_draw_instance(), drw_command_set_select_id(), drw_resource_handle(), DRW_temp_batch_instance_request(), DST, G, G_FLAG_PICKSEL, GPUBatch, DRWManager::idatalist, NULL, Object::obmat, and DRWManager::select_id.
Referenced by overlay_edit_mesh_add_ob_to_pass(), OVERLAY_edit_mesh_cache_populate(), and OVERLAY_particle_cache_populate().
| void DRW_shgroup_call_procedural_lines | ( | DRWShadingGroup * | sh, |
| Object * | ob, | ||
| uint | line_count | ||
| ) |
Definition at line 838 of file draw_manager_data.c.
References drw_cache_procedural_lines_get(), drw_shgroup_call_procedural_add_ex(), and GPUBatch.
Referenced by OVERLAY_gpencil_cache_init(), and OVERLAY_volume_extra().
| void DRW_shgroup_call_procedural_points | ( | DRWShadingGroup * | sh, |
| Object * | ob, | ||
| uint | point_count | ||
| ) |
Definition at line 832 of file draw_manager_data.c.
References drw_cache_procedural_points_get(), drw_shgroup_call_procedural_add_ex(), and GPUBatch.
Referenced by drw_hair_particle_cache_get(), OVERLAY_edit_gpencil_cache_init(), and OVERLAY_lightprobe_cache_populate().
| void DRW_shgroup_call_procedural_triangles | ( | DRWShadingGroup * | sh, |
| Object * | ob, | ||
| uint | tri_count | ||
| ) |
Definition at line 844 of file draw_manager_data.c.
References drw_cache_procedural_triangles_get(), drw_shgroup_call_procedural_add_ex(), and GPUBatch.
Referenced by dof_bokeh_pass_init(), dof_dilate_tiles_pass_init(), dof_filter_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_recombine_pass_init(), dof_reduce_pass_init(), dof_scatter_pass_init(), dof_setup_pass_init(), EEVEE_effects_cache_init(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_cache_init(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_motion_blur_cache_init(), EEVEE_occlusion_cache_init(), EEVEE_screen_raytrace_cache_init(), EEVEE_subsurface_add_pass(), EEVEE_volumes_cache_finish(), EEVEE_volumes_cache_init(), EEVEE_volumes_cache_object_add(), GPENCIL_antialiasing_init(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_blur(), gpencil_vfx_colorize(), gpencil_vfx_flip(), gpencil_vfx_glow(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), OVERLAY_antialiasing_cache_init(), OVERLAY_background_cache_init(), OVERLAY_outline_cache_init(), workbench_antialiasing_cache_init(), workbench_cavity_cache_init(), workbench_dof_cache_init(), workbench_opaque_cache_init(), workbench_outline_cache_init(), and workbench_transparent_cache_init().
| void DRW_shgroup_call_range | ( | DRWShadingGroup * | shgroup, |
| Object * | ob, | ||
| struct GPUBatch * | geom, | ||
| uint | v_sta, | ||
| uint | v_ct | ||
| ) |
Definition at line 795 of file draw_manager_data.c.
References BLI_assert, drw_command_draw_range(), drw_command_set_select_id(), drw_resource_handle(), DST, G, G_FLAG_PICKSEL, NULL, Object::obmat, and DRWManager::select_id.
Referenced by gpencil_drawcall_add(), gpencil_drawcall_flush(), gpencil_stroke_cache_populate(), and motion_path_cache().
| void DRW_shgroup_call_sculpt | ( | DRWShadingGroup * | sh, |
| Object * | ob, | ||
| bool | wire, | ||
| bool | mask | ||
| ) |
Definition at line 1057 of file draw_manager_data.c.
References drw_sculpt_generate_calls(), and DRWSculptCallbackData::ob.
Referenced by basic_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_populate(), OVERLAY_sculpt_cache_populate(), OVERLAY_wireframe_cache_populate(), and workbench_cache_sculpt_populate().
| void DRW_shgroup_call_sculpt_with_materials | ( | DRWShadingGroup ** | sh, |
| int | num_sh, | ||
| Object * | ob | ||
| ) |
Definition at line 1070 of file draw_manager_data.c.
References drw_sculpt_generate_calls(), and DRWSculptCallbackData::ob.
Referenced by EEVEE_materials_cache_populate(), and workbench_cache_sculpt_populate().
| void DRW_shgroup_clear_framebuffer | ( | DRWShadingGroup * | shgroup, |
| eGPUFrameBufferBits | channels, | ||
| uchar | r, | ||
| uchar | g, | ||
| uchar | b, | ||
| uchar | a, | ||
| float | depth, | ||
| uchar | stencil | ||
| ) |
Definition at line 1429 of file draw_manager_data.c.
References Freestyle::a, drw_command_clear(), and r.
Referenced by GPENCIL_antialiasing_init(), and workbench_antialiasing_cache_init().
| DRWShadingGroup* DRW_shgroup_create | ( | struct GPUShader * | shader, |
| DRWPass * | pass | ||
| ) |
Definition at line 1383 of file draw_manager_data.c.
References drw_shgroup_create_ex(), drw_shgroup_init(), and shader().
Referenced by basic_cache_init(), dof_bokeh_pass_init(), dof_dilate_tiles_pass_init(), dof_filter_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_recombine_pass_init(), dof_reduce_pass_init(), dof_scatter_pass_init(), dof_setup_pass_init(), drw_hair_particle_cache_get(), eevee_create_bloom_pass(), eevee_cryptomatte_shading_group_create(), EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_cache_init(), EEVEE_lookdev_cache_init(), eevee_lookdev_hdri_preview_init(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_materials_cache_init(), EEVEE_mist_output_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_cache_populate(), EEVEE_occlusion_cache_init(), EEVEE_occlusion_output_init(), EEVEE_renderpasses_cache_finish(), EEVEE_screen_raytrace_cache_init(), EEVEE_shadow_output_init(), EEVEE_shadows_cache_init(), EEVEE_subsurface_add_pass(), EEVEE_temporal_sampling_cache_init(), EEVEE_volumes_cache_finish(), EEVEE_volumes_cache_init(), EEVEE_volumes_output_init(), external_cache_init(), GPENCIL_antialiasing_init(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_pass_create(), image_cache_image(), material_opaque(), material_shadow(), material_transparent(), OVERLAY_antialiasing_cache_init(), OVERLAY_armature_cache_init(), OVERLAY_background_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_lattice_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_facing_cache_init(), OVERLAY_fade_cache_init(), OVERLAY_gpencil_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_metaball_cache_init(), OVERLAY_motion_path_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_init(), OVERLAY_volume_cache_init(), OVERLAY_volume_extra(), OVERLAY_wireframe_cache_init(), select_cache_init(), workbench_antialiasing_cache_init(), workbench_cavity_cache_init(), workbench_dof_cache_init(), workbench_opaque_cache_init(), workbench_outline_cache_init(), workbench_shadow_cache_init(), workbench_transparent_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| DRWShadingGroup* DRW_shgroup_create_sub | ( | DRWShadingGroup * | shgroup | ) |
Definition at line 1454 of file draw_manager_data.c.
References BLI_LINKS_INSERT_AFTER, BLI_memblock_alloc(), DRWShadingGroup::cmd, DRW_memblock_elem_from_handle(), drw_shgroup_init(), DST, DRWShadingGroup::first, DRWShadingGroup::last, NULL, DRWShadingGroup::pass_handle, ViewportMemoryPool::passes, DRWShadingGroup::shader, DRWPass::shgroups, ViewportMemoryPool::shgroups, and DRWManager::vmempool.
Referenced by draw_select_id_edit_mesh(), draw_select_id_mesh(), DRW_shgroup_hair_create_sub(), gpencil_layer_cache_populate(), gpencil_sbuffer_cache_populate(), gpencil_stroke_cache_populate(), gpencil_vfx_rim(), material_opaque(), material_shadow(), motion_path_cache(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_cache_populate(), OVERLAY_extra_cache_init(), OVERLAY_lightprobe_cache_populate(), OVERLAY_outline_gpencil(), OVERLAY_particle_cache_populate(), sculpt_draw_cb(), wireframe_hair_cache_populate(), workbench_image_setup_ex(), workbench_material_setup_ex(), workbench_opaque_cache_init(), and workbench_shadow_cache_populate().
| struct GPUVertFormat* DRW_shgroup_instance_format_array | ( | const DRWInstanceAttrFormat | attrs[], |
| int | arraysize | ||
| ) |
Definition at line 1356 of file draw_manager_data.c.
References DRW_ATTR_INT, GPU_COMP_F32, GPU_COMP_I32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_vertformat_attr_add(), MEM_callocN, and type.
| bool DRW_shgroup_is_empty | ( | DRWShadingGroup * | shgroup | ) |
Definition at line 1441 of file draw_manager_data.c.
References DRWShadingGroup::cmd, DRWCommandChunk::command_type, command_type_get(), DRWCommandChunk::command_used, DRW_MAX_DRAW_CMD_TYPE, DRWShadingGroup::first, and DRWCommandChunk::next.
Referenced by DRW_pass_is_empty().
| DRWShadingGroup* DRW_shgroup_material_create | ( | struct GPUMaterial * | material, |
| DRWPass * | pass | ||
| ) |
Definition at line 1371 of file draw_manager_data.c.
References DRW_shgroup_add_material_resources(), drw_shgroup_init(), drw_shgroup_material_create_ex(), GPU_material_get_pass(), GPU_pass_shader_get(), and material.
Referenced by EEVEE_lightprobes_cache_init(), EEVEE_materials_cache_init(), EEVEE_volumes_cache_init(), and EEVEE_volumes_cache_object_add().
| void DRW_shgroup_state_disable | ( | DRWShadingGroup * | shgroup, |
| DRWState | state | ||
| ) |
Definition at line 1410 of file draw_manager_data.c.
References drw_command_set_mutable_state(), and state.
Referenced by gpencil_layer_cache_add(), gpencil_vfx_rim(), material_transparent(), OVERLAY_armature_cache_init(), OVERLAY_extra_cache_init(), workbench_opaque_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_state_enable | ( | DRWShadingGroup * | shgroup, |
| DRWState | state | ||
| ) |
State is added to #Pass.state while drawing. Use to temporarily enable draw options.
Definition at line 1405 of file draw_manager_data.c.
References drw_command_set_mutable_state(), and state.
Referenced by gpencil_layer_cache_add(), gpencil_vfx_rim(), material_transparent(), OVERLAY_armature_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_paint_cache_init(), workbench_opaque_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_stencil_mask | ( | DRWShadingGroup * | shgroup, |
| uint | mask | ||
| ) |
Definition at line 1424 of file draw_manager_data.c.
References drw_command_set_stencil_mask(), and mask().
Referenced by EEVEE_subsurface_add_pass(), gpencil_layer_cache_add(), workbench_opaque_cache_init(), and workbench_shadow_cache_init().
| void DRW_shgroup_stencil_set | ( | DRWShadingGroup * | shgroup, |
| uint | write_mask, | ||
| uint | reference, | ||
| uint | compare_mask | ||
| ) |
Definition at line 1415 of file draw_manager_data.c.
References drw_command_set_stencil_mask().
| DRWShadingGroup* DRW_shgroup_transform_feedback_create | ( | struct GPUShader * | shader, |
| DRWPass * | pass, | ||
| struct GPUVertBuf * | tf_target | ||
| ) |
Definition at line 1390 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_create_ex(), drw_shgroup_init(), drw_shgroup_uniform_create_ex(), DRW_UNIFORM_TFEEDBACK_TARGET, NULL, and shader().
Referenced by drw_hair_particle_cache_get().
| void DRW_shgroup_uniform_block | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const struct GPUUniformBuf * | ubo | ||
| ) |
| void DRW_shgroup_uniform_block_ref | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| struct GPUUniformBuf ** | ubo | ||
| ) |
Definition at line 294 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_BLOCK_REF, GPU_shader_get_uniform_block_binding(), NULL, and DRWShadingGroup::shader.
Referenced by EEVEE_lightprobes_cache_init(), EEVEE_material_bind_resources(), EEVEE_materials_cache_init(), and EEVEE_renderpasses_cache_finish().
| void DRW_shgroup_uniform_bool | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 301 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
Referenced by dof_dilate_tiles_pass_init(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_hair_cache_populate(), GPENCIL_cache_init(), and OVERLAY_edit_uv_cache_init().
| void DRW_shgroup_uniform_bool_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const bool | value | ||
| ) |
Definition at line 404 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by DRW_shgroup_hair_create_sub(), EEVEE_bloom_output_init(), eevee_create_bloom_pass(), EEVEE_motion_blur_cache_init(), GPENCIL_antialiasing_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_vfx_glow(), gpencil_vfx_rim(), gpencil_vfx_shadow(), image_cache_image(), motion_path_cache(), OVERLAY_antialiasing_cache_init(), OVERLAY_armature_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_particle_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_volume_extra(), OVERLAY_wireframe_cache_init(), workbench_image_setup_ex(), workbench_opaque_cache_init(), workbench_transparent_lighting_uniforms(), and workbench_volume_modifier_cache_populate().
| void DRW_shgroup_uniform_float | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 309 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by EEVEE_bloom_cache_init(), eevee_create_bloom_pass(), EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), EEVEE_lightprobes_cache_finish(), EEVEE_lut_update_ggx_btdf(), EEVEE_materials_cache_init(), EEVEE_temporal_sampling_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_grid_cache_init(), and workbench_antialiasing_cache_init().
| void DRW_shgroup_uniform_float_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float | value | ||
| ) |
Definition at line 410 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT_COPY.
Referenced by dof_bokeh_pass_init(), dof_recombine_pass_init(), dof_reduce_pass_init(), dof_setup_pass_init(), DRW_shgroup_hair_create_sub(), EEVEE_lightprobes_cache_init(), EEVEE_lookdev_cache_init(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_material_bind_resources(), EEVEE_motion_blur_cache_init(), EEVEE_screen_raytrace_cache_init(), eevee_volume_object_grids_init(), GPENCIL_antialiasing_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_sbuffer_cache_populate(), gpencil_vfx_colorize(), gpencil_vfx_flip(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), material_opaque(), OVERLAY_antialiasing_cache_init(), OVERLAY_armature_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_cache_populate(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_sculpt_cache_init(), OVERLAY_volume_extra(), OVERLAY_wireframe_cache_init(), select_cache_init(), workbench_dof_cache_init(), workbench_shadow_cache_populate(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_uniform_image | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const GPUTexture * | tex | ||
| ) |
Definition at line 271 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_IMAGE, GPU_shader_get_texture_binding(), NULL, DRWShadingGroup::shader, and tex.
| void DRW_shgroup_uniform_image_ref | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| GPUTexture ** | tex | ||
| ) |
Definition at line 278 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_IMAGE_REF, GPU_shader_get_texture_binding(), NULL, DRWShadingGroup::shader, and tex.
Referenced by EEVEE_volumes_cache_finish().
| void DRW_shgroup_uniform_int | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 341 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
Referenced by dof_dilate_tiles_pass_init(), drw_hair_particle_cache_get(), DRW_shgroup_hair_create_sub(), EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), EEVEE_lightprobes_cache_init(), EEVEE_renderpasses_cache_finish(), EEVEE_screen_raytrace_cache_init(), and OVERLAY_grid_cache_init().
| void DRW_shgroup_uniform_int_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int | value | ||
| ) |
Definition at line 384 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by dof_scatter_pass_init(), draw_select_id_edit_mesh(), draw_select_id_mesh(), DRW_shgroup_hair_create_sub(), EEVEE_effects_cache_init(), EEVEE_material_bind_resources(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_vfx_blur(), gpencil_vfx_colorize(), gpencil_vfx_glow(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), image_cache_image(), motion_path_cache(), OVERLAY_background_cache_init(), OVERLAY_edit_curve_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_gpencil_cache_init(), OVERLAY_volume_extra(), select_cache_init(), workbench_material_setup_ex(), workbench_opaque_cache_init(), workbench_transparent_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_uniform_ivec2 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 349 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
| void DRW_shgroup_uniform_ivec2_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value | ||
| ) |
Definition at line 389 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by EEVEE_motion_blur_cache_init().
| void DRW_shgroup_uniform_ivec3 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 357 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
Referenced by EEVEE_lightprobes_cache_init().
| void DRW_shgroup_uniform_ivec3_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value | ||
| ) |
Definition at line 394 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by OVERLAY_volume_extra().
| void DRW_shgroup_uniform_ivec4 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 365 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
Referenced by OVERLAY_edit_mesh_cache_init().
| void DRW_shgroup_uniform_ivec4_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const int * | value | ||
| ) |
Definition at line 399 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by motion_path_cache().
| void DRW_shgroup_uniform_mat3 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float(*) | value[3] | ||
| ) |
Definition at line 373 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by EEVEE_lookdev_cache_init().
| void DRW_shgroup_uniform_mat4 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float(*) | value[4] | ||
| ) |
Definition at line 378 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by EEVEE_effects_cache_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_hair_cache_populate(), EEVEE_temporal_sampling_cache_init(), eevee_volume_object_grids_init(), eevee_volume_object_mesh_init(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_uniform_texture | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const struct GPUTexture * | tex | ||
| ) |
| void DRW_shgroup_uniform_texture_ex | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const struct GPUTexture * | tex, | ||
| eGPUSamplerState | sampler_state | ||
| ) |
| void DRW_shgroup_uniform_texture_ref | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| struct GPUTexture ** | tex | ||
| ) |
Definition at line 266 of file draw_manager_data.c.
References DRW_shgroup_uniform_texture_ref_ex(), GPU_SAMPLER_MAX, and tex.
Referenced by dof_dilate_tiles_pass_init(), dof_gather_pass_init(), dof_recombine_pass_init(), dof_scatter_pass_init(), eevee_create_bloom_pass(), EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_cache_init(), EEVEE_material_bind_resources(), EEVEE_mist_output_init(), EEVEE_occlusion_cache_init(), EEVEE_occlusion_output_init(), EEVEE_renderpasses_cache_finish(), EEVEE_screen_raytrace_cache_init(), EEVEE_shadow_output_init(), EEVEE_subsurface_add_pass(), EEVEE_temporal_sampling_cache_init(), eevee_volume_object_mesh_init(), EEVEE_volumes_cache_finish(), EEVEE_volumes_output_init(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_pass_create(), OVERLAY_antialiasing_cache_init(), OVERLAY_background_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_wireframe_cache_init(), workbench_opaque_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_uniform_texture_ref_ex | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| GPUTexture ** | tex, | ||
| eGPUSamplerState | sampler_state | ||
| ) |
Definition at line 256 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_TEXTURE_REF, GPU_shader_get_texture_binding(), NULL, DRWShadingGroup::shader, and tex.
Referenced by dof_filter_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_recombine_pass_init(), dof_reduce_pass_init(), dof_scatter_pass_init(), dof_setup_pass_init(), DRW_shgroup_uniform_texture_ref(), EEVEE_effects_cache_init(), EEVEE_motion_blur_cache_init(), EEVEE_screen_raytrace_cache_init(), and EEVEE_subsurface_add_pass().
| void DRW_shgroup_uniform_vec2 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 317 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by basic_cache_init(), eevee_create_bloom_pass(), EEVEE_effects_cache_init(), EEVEE_motion_blur_cache_init(), eevee_volume_object_mesh_init(), and workbench_dof_cache_init().
| void DRW_shgroup_uniform_vec2_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value | ||
| ) |
Definition at line 415 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT_COPY.
Referenced by dof_bokeh_pass_init(), dof_gather_pass_init(), dof_recombine_pass_init(), dof_reduce_pass_init(), dof_scatter_pass_init(), EEVEE_screen_raytrace_cache_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_vfx_blur(), gpencil_vfx_flip(), gpencil_vfx_glow(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), image_cache_image(), and OVERLAY_edit_uv_cache_init().
| void DRW_shgroup_uniform_vec3 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 325 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by eevee_create_bloom_pass(), EEVEE_lightprobes_cache_init(), EEVEE_materials_cache_init(), EEVEE_mist_output_init(), eevee_volume_object_mesh_init(), OVERLAY_background_cache_init(), OVERLAY_grid_cache_init(), sculpt_draw_cb(), workbench_dof_cache_init(), workbench_shadow_cache_populate(), and workbench_volume_modifier_cache_populate().
| void DRW_shgroup_uniform_vec3_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value | ||
| ) |
Definition at line 420 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT_COPY.
Referenced by eevee_volume_object_grids_init(), gpencil_layer_cache_add(), gpencil_vfx_colorize(), gpencil_vfx_glow(), gpencil_vfx_rim(), motion_path_cache(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_gpencil_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_volume_extra(), and workbench_volume_object_cache_populate().
| void DRW_shgroup_uniform_vec4 | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value, | ||
| int | arraysize | ||
| ) |
Definition at line 333 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT.
Referenced by EEVEE_bloom_cache_init(), GPENCIL_cache_init(), and OVERLAY_edit_text_cache_init().
| void DRW_shgroup_uniform_vec4_array_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float(*) | value[4], | ||
| int | arraysize | ||
| ) |
Definition at line 430 of file draw_manager_data.c.
References drw_shgroup_uniform_create_ex(), DRW_UNIFORM_FLOAT_COPY, GPU_shader_get_uniform(), and DRWShadingGroup::shader.
Referenced by DRW_shgroup_hair_create_sub(), OVERLAY_lightprobe_cache_populate(), and wireframe_hair_cache_populate().
| void DRW_shgroup_uniform_vec4_copy | ( | DRWShadingGroup * | shgroup, |
| const char * | name, | ||
| const float * | value | ||
| ) |
Definition at line 425 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT_COPY.
Referenced by dof_recombine_pass_init(), dof_setup_pass_init(), eevee_cryptomatte_shading_group_create(), GPENCIL_antialiasing_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_vfx_glow(), gpencil_vfx_shadow(), image_cache_image(), OVERLAY_armature_cache_init(), OVERLAY_background_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_cache_populate(), OVERLAY_edit_text_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_fade_cache_init(), OVERLAY_gpencil_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_image_camera_cache_populate(), OVERLAY_image_empty_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_populate(), OVERLAY_volume_extra(), and workbench_antialiasing_cache_init().
| bool DRW_state_do_color_management | ( | void | ) |
Whether the view transform should be applied.
Definition at line 2827 of file draw_manager.c.
References DRWManager::do_color_management, DST, and DRWManager::options.
| bool DRW_state_draw_background | ( | void | ) |
Whether we should render the background
Definition at line 2891 of file draw_manager.c.
References DRWManager::draw_background, DST, and DRWManager::options.
Referenced by eevee_draw_scene(), eevee_engine_init(), EEVEE_render_init(), and OVERLAY_background_cache_init().
| bool DRW_state_draw_support | ( | void | ) |
Should draw support elements Objects center, selection outline, probe data, ...
Definition at line 2881 of file draw_manager.c.
References DRWManager::draw_ctx, DRW_state_is_scene_render(), DST, View3D::flag2, NULL, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.
Referenced by DRW_draw_depth_loop(), EEVEE_lightprobes_cache_init(), and EEVEE_temporal_sampling_init().
| bool DRW_state_is_depth | ( | void | ) |
Definition at line 2811 of file draw_manager.c.
References DST, DRWManager::is_depth, and DRWManager::options.
Referenced by DRW_state_is_fbo(), OVERLAY_draw_scene(), OVERLAY_image_empty_cache_populate(), and OVERLAY_wireframe_cache_init().
| bool DRW_state_is_fbo | ( | void | ) |
When false, drawing doesn't output to a pixel buffer eg: Occlusion queries, or when we have setup a context to draw in already.
Definition at line 2797 of file draw_manager.c.
References DRWManager::default_framebuffer, DRW_state_is_depth(), DRW_state_is_select(), DST, DRWManager::is_image_render, NULL, and DRWManager::options.
Referenced by drw_engines_draw_scene(), GPENCIL_draw_scene_depth_only(), GPENCIL_engine_init(), OVERLAY_antialiasing_init(), OVERLAY_antialiasing_start(), OVERLAY_background_draw(), OVERLAY_draw_scene(), OVERLAY_edit_curve_draw(), OVERLAY_edit_lattice_draw(), OVERLAY_edit_mesh_draw(), OVERLAY_edit_particle_draw(), OVERLAY_edit_text_draw(), OVERLAY_extra_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_image_scene_background_draw(), OVERLAY_outline_draw(), OVERLAY_outline_init(), OVERLAY_paint_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_draw(), OVERLAY_wireframe_cache_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), and OVERLAY_xray_fade_draw().
| bool DRW_state_is_image_render | ( | void | ) |
Whether we are rendering for an image
Definition at line 2819 of file draw_manager.c.
References DST, DRWManager::is_image_render, and DRWManager::options.
Referenced by basic_cache_populate(), drw_deferred_shader_add(), DRW_object_is_visible_psys_in_active_context(), DRW_shader_create_from_material(), DRW_shader_create_from_world(), DRW_shader_find_from_material(), DRW_shader_find_from_world(), EEVEE_draw_effects(), eevee_draw_scene(), EEVEE_lightprobes_cache_finish(), EEVEE_lightprobes_refresh_planar(), eevee_lookdev_apply_taa(), EEVEE_materials_cache_populate(), EEVEE_materials_init(), EEVEE_renderpasses_init(), EEVEE_renderpasses_postprocess(), EEVEE_temporal_sampling_draw(), EEVEE_temporal_sampling_init(), EEVEE_temporal_sampling_sample_count_get(), EEVEE_volumes_init(), GPENCIL_cache_populate(), lightbake_render_scene_reflected(), OVERLAY_camera_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_populate(), OVERLAY_wireframe_cache_populate(), workbench_antialiasing_draw_pass(), workbench_antialiasing_sample_count_get(), workbench_color_type_get(), and workbench_update_world_ubo().
| bool DRW_state_is_navigating | ( | void | ) |
Is the user navigating the region.
Definition at line 2862 of file draw_manager.c.
References DRWManager::draw_ctx, DST, RegionView3D::rflag, DRWContextState::rv3d, RV3D_NAVIGATING, and RV3D_PAINTING.
Referenced by EEVEE_temporal_sampling_init(), and workbench_private_data_init().
| bool DRW_state_is_opengl_render | ( | void | ) |
Whether we are rendering simple opengl render
Definition at line 2845 of file draw_manager.c.
References DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by EEVEE_lightprobes_cache_finish(), EEVEE_lookdev_init(), EEVEE_renderpasses_draw(), EEVEE_temporal_sampling_init(), OVERLAY_background_cache_init(), and workbench_draw_scene().
| bool DRW_state_is_playback | ( | void | ) |
Definition at line 2850 of file draw_manager.c.
References CTX_wm_manager(), DRWManager::draw_ctx, DST, ED_screen_animation_playing(), DRWContextState::evil_C, and NULL.
Referenced by EEVEE_temporal_sampling_draw(), and workbench_private_data_init().
| bool DRW_state_is_scene_render | ( | void | ) |
Whether we are rendering only the render engine, or if we should also render the mode engines.
Definition at line 2836 of file draw_manager.c.
References BLI_assert, DST, DRWManager::is_image_render, DRWManager::is_scene_render, and DRWManager::options.
Referenced by DRW_object_visibility_in_active_context(), DRW_state_draw_support(), EEVEE_cryptomatte_renderpasses_init(), EEVEE_materials_cache_populate(), EEVEE_motion_blur_cache_populate(), EEVEE_motion_blur_hair_cache_populate(), EEVEE_motion_blur_init(), eevee_motion_blur_sync_camera(), EEVEE_temporal_sampling_init(), and workbench_cache_populate().
| bool DRW_state_is_select | ( | void | ) |
For when engines need to know if this is drawing for selection or not.
Definition at line 2806 of file draw_manager.c.
References DST, DRWManager::is_select, and DRWManager::options.
Referenced by armature_context_setup(), basic_cache_init(), camera_stereoscopy_extra(), camera_view3d_reconstruction(), draw_armature_edit(), draw_armature_pose(), DRW_state_is_fbo(), OVERLAY_armature_cache_init(), OVERLAY_armature_in_front_draw(), OVERLAY_cache_populate(), OVERLAY_camera_cache_populate(), OVERLAY_draw_scene(), OVERLAY_edit_metaball_cache_populate(), OVERLAY_extra_cache_init(), OVERLAY_extra_cache_populate(), OVERLAY_image_camera_cache_populate(), OVERLAY_light_cache_populate(), OVERLAY_lightprobe_cache_populate(), OVERLAY_metaball_cache_init(), OVERLAY_volume_cache_init(), OVERLAY_volume_cache_populate(), and OVERLAY_wireframe_cache_init().
| void DRW_state_lock | ( | DRWState | state | ) |
Use with care, intended so selection code can override passes depth settings, which is important for selection to work properly.
Should be set in main draw loop, cleared afterwards
Definition at line 300 of file draw_manager_exec.c.
References DRW_STATE_DEPTH_ALWAYS, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_GREATER, DRW_STATE_DEPTH_GREATER_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_DEPTH_TEST_ENABLED, DRW_STATE_WRITE_DEPTH, DST, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, GPU_depth_mask_get(), GPU_depth_test_get(), SET_FLAG_FROM_TEST, DRWManager::state, state, and DRWManager::state_lock.
Referenced by DRW_draw_select_loop().
| void DRW_state_reset | ( | void | ) |
Definition at line 337 of file draw_manager_exec.c.
References DRW_STATE_DEFAULT, DRW_state_reset_ex(), GPU_line_smooth(), GPU_line_width(), GPU_point_size(), GPU_texture_unbind_all(), and GPU_uniformbuf_unbind_all().
Referenced by DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), drw_draw_depth_loop_impl(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), drw_engines_draw_scene(), DRW_render_gpencil(), and DRW_render_to_image().
| void DRW_state_reset_ex | ( | DRWState | state | ) |
Definition at line 276 of file draw_manager_exec.c.
References drw_state_set(), DST, DRWManager::state, and state.
Referenced by DRW_state_reset(), and external_draw_scene_do().
| bool DRW_state_show_text | ( | void | ) |
Should text draw in this mode?
Definition at line 2871 of file draw_manager.c.
References DRWManager::draw_text, DST, DRWManager::is_depth, DRWManager::is_scene_render, DRWManager::is_select, and DRWManager::options.
Referenced by draw_armature_edit(), draw_armature_pose(), OVERLAY_edit_mesh_cache_populate(), OVERLAY_extra_cache_populate(), and OVERLAY_gpencil_cache_populate().
| struct GPUTexture* DRW_texture_create_1d | ( | int | w, |
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 81 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_texture_create_1d(), tex, and w().
| struct GPUTexture* DRW_texture_create_2d | ( | int | w, |
| int | h, | ||
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 93 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_texture_create_2d(), tex, and w().
Referenced by create_jitter_texture(), DRW_texture_ensure_2d(), DRW_texture_ensure_fullscreen_2d(), eevee_init_noise_texture(), EEVEE_lut_update_ggx_brdf(), EEVEE_occlusion_init(), GPENCIL_engine_init(), GPENCIL_render_init(), OVERLAY_antialiasing_init(), and workbench_engine_init().
| struct GPUTexture* DRW_texture_create_2d_array | ( | int | w, |
| int | h, | ||
| int | d, | ||
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 103 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_texture_create_2d_array(), tex, and w().
Referenced by eevee_init_util_texture(), eevee_lightbake_copy_irradiance(), eevee_lightbake_create_resources(), EEVEE_lightcache_create(), EEVEE_lightprobes_init(), EEVEE_lut_update_ggx_btdf(), EEVEE_shadows_update(), and planar_pool_ensure_alloc().
| struct GPUTexture* DRW_texture_create_3d | ( | int | w, |
| int | h, | ||
| int | d, | ||
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 113 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_DATA_FLOAT, GPU_texture_create_3d(), tex, and w().
Referenced by eevee_create_textures_volumes(), EEVEE_volumes_draw_init(), and EEVEE_volumes_init().
| struct GPUTexture* DRW_texture_create_cube | ( | int | w, |
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 124 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_texture_create_cube(), tex, and w().
Referenced by eevee_lightbake_create_render_target().
| struct GPUTexture* DRW_texture_create_cube_array | ( | int | w, |
| int | d, | ||
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags, | ||
| const float * | fpixels | ||
| ) |
Definition at line 135 of file draw_manager_texture.c.
References DRW_TEX_MIPMAP, drw_texture_set_parameters(), GPU_texture_create_cube_array(), tex, and w().
Referenced by EEVEE_lightcache_create().
| void DRW_texture_ensure_2d | ( | struct GPUTexture ** | tex, |
| int | w, | ||
| int | h, | ||
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags | ||
| ) |
Definition at line 172 of file draw_manager_texture.c.
References DRW_texture_create_2d(), NULL, tex, and w().
Referenced by EEVEE_effects_init(), GPENCIL_cache_init(), and workbench_dof_engine_init().
| void DRW_texture_ensure_fullscreen_2d | ( | struct GPUTexture ** | tex, |
| eGPUTextureFormat | format, | ||
| DRWTextureFlag | flags | ||
| ) |
Definition at line 162 of file draw_manager_texture.c.
References DRW_texture_create_2d(), DRW_viewport_size_get(), NULL, size(), and tex.
Referenced by EEVEE_bloom_output_init(), EEVEE_cryptomatte_output_init(), EEVEE_effects_init(), eevee_engine_init(), EEVEE_mist_output_init(), EEVEE_occlusion_output_init(), EEVEE_reflection_output_init(), EEVEE_render_init(), EEVEE_renderpasses_output_init(), EEVEE_shadow_output_init(), EEVEE_subsurface_output_init(), EEVEE_volumes_output_init(), external_cache_init(), material_renderpass_init(), OVERLAY_antialiasing_cache_finish(), OVERLAY_antialiasing_init(), OVERLAY_cache_finish(), OVERLAY_outline_init(), workbench_antialiasing_engine_init(), and workbench_cache_finish().
| void DRW_texture_free | ( | struct GPUTexture * | tex | ) |
Definition at line 185 of file draw_manager_texture.c.
References GPU_texture_free(), and tex.
| void DRW_texture_generate_mipmaps | ( | struct GPUTexture * | tex | ) |
Definition at line 180 of file draw_manager_texture.c.
References GPU_texture_generate_mipmap(), and tex.
| struct GPUTexture* DRW_texture_pool_query_2d | ( | int | w, |
| int | h, | ||
| eGPUTextureFormat | format, | ||
| DrawEngineType * | engine_type | ||
| ) |
Definition at line 144 of file draw_manager_texture.c.
References BLI_assert, drw_texture_format_supports_framebuffer(), DST, GPU_viewport_texture_pool_query(), tex, DRWManager::viewport, and w().
Referenced by dof_bokeh_pass_init(), dof_dilate_tiles_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_reduce_pass_init(), dof_setup_pass_init(), DRW_hair_update(), DRW_texture_pool_query_fullscreen(), EEVEE_bloom_init(), EEVEE_effects_init(), EEVEE_motion_blur_init(), EEVEE_occlusion_init(), EEVEE_screen_raytrace_init(), EEVEE_subsurface_draw_init(), GPENCIL_antialiasing_init(), GPENCIL_cache_finish(), and workbench_dof_engine_init().
| struct GPUTexture* DRW_texture_pool_query_fullscreen | ( | eGPUTextureFormat | format, |
| DrawEngineType * | engine_type | ||
| ) |
Definition at line 155 of file draw_manager_texture.c.
References DRW_texture_pool_query_2d(), DRW_viewport_size_get(), and size().
Referenced by workbench_antialiasing_engine_init(), workbench_engine_init(), workbench_opaque_engine_init(), and workbench_transparent_engine_init().
Definition at line 1893 of file draw_manager_data.c.
References copy_v4_v4(), and view.
Referenced by drw_viewport_var_init(), and EEVEE_render_view_sync().
This only works if DRWPasses have been tagged with DRW_STATE_CLIP_PLANES, and if the shaders have support for it (see usage of gl_ClipDistance). NOTE: planes must be in world space.
Definition at line 1884 of file draw_manager_data.c.
References BLI_assert, MAX_CLIP_PLANES, and view.
Referenced by drw_viewport_var_init(), EEVEE_temporal_sampling_create_view(), and lightbake_planar_ensure_view().
| DRWView* DRW_view_create | ( | const float | viewmat[4][4], |
| const float | winmat[4][4], | ||
| const float(*) | culling_viewmat[4], | ||
| const float(*) | culling_winmat[4], | ||
| DRWCallVisibilityFn * | visibility_fn | ||
| ) |
Definition at line 1724 of file draw_manager_data.c.
References BLI_assert, BLI_memblock_alloc(), copy_v4_fl4(), DRW_view_update(), DST, MAX_CULLED_VIEWS, NULL, DRWManager::primary_view_ct, view, ViewportMemoryPool::views, and DRWManager::vmempool.
Referenced by drw_viewport_var_init(), eevee_ensure_cascade_views(), eevee_ensure_cube_views(), eevee_lightbake_cache_create(), EEVEE_render_view_sync(), GPENCIL_render_init(), IMAGE_cache_init(), lightbake_planar_ensure_view(), render_cubemap(), select_engine_init(), and workbench_render_matrices_init().
| DRWView* DRW_view_create_sub | ( | const DRWView * | parent_view, |
| const float | viewmat[4][4], | ||
| const float | winmat[4][4] | ||
| ) |
Definition at line 1751 of file draw_manager_data.c.
References BLI_memblock_alloc(), DRW_view_update_sub(), DST, NULL, DRWView::parent, view, ViewportMemoryPool::views, and DRWManager::vmempool.
Referenced by DRW_view_create_with_zoffset(), EEVEE_lookdev_draw(), EEVEE_temporal_sampling_create_view(), render_cubemap(), and workbench_antialiasing_setup().
| const DRWView* DRW_view_default_get | ( | void | ) |
Definition at line 1859 of file draw_manager_data.c.
References DST, and DRWManager::view_default.
Referenced by drw_sculpt_get_frustum_planes(), eevee_lightbake_cache_create(), eevee_lightprobes_culling_test(), EEVEE_lookdev_draw(), EEVEE_temporal_sampling_create_view(), OVERLAY_edit_mesh_init(), OVERLAY_edit_text_cache_init(), OVERLAY_image_init(), OVERLAY_wireframe_init(), render_cubemap(), select_engine_init(), workbench_antialiasing_setup(), and workbench_shadow_object_cast_visible_shadow().
| void DRW_view_default_set | ( | DRWView * | view | ) |
Definition at line 1873 of file draw_manager_data.c.
References BLI_assert, DST, NULL, view, and DRWManager::view_default.
Referenced by eevee_lightbake_cache_create(), EEVEE_render_view_sync(), GPENCIL_render_init(), and workbench_render_matrices_init().
Definition at line 1929 of file draw_manager_data.c.
References DRW_view_is_persp_get(), DST, view, and DRWManager::view_default.
Referenced by EEVEE_mist_output_init(), eevee_motion_blur_sync_camera(), EEVEE_shadows_draw_cascades(), EEVEE_volumes_init(), GPENCIL_render_init(), GPENCIL_render_result_z(), and workbench_render_result_z().
Definition at line 1899 of file draw_manager_data.c.
References view.
Definition at line 1906 of file draw_manager_data.c.
References view.
Referenced by drw_sculpt_get_frustum_planes().
| bool DRW_view_is_persp_get | ( | const DRWView * | view | ) |
Definition at line 1911 of file draw_manager_data.c.
References DST, view, and DRWManager::view_default.
Referenced by DRW_view_far_distance_get(), DRW_view_near_distance_get(), EEVEE_motion_blur_cache_init(), EEVEE_screen_raytrace_init(), EEVEE_volumes_init(), gpencil_depth_plane(), gpencil_object_cache_add(), GPENCIL_render_init(), GPENCIL_render_result_z(), and workbench_render_result_z().
| void** DRW_view_layer_engine_data_ensure | ( | DrawEngineType * | engine_type, |
| void(*)(void *storage) | callback | ||
| ) |
Definition at line 817 of file draw_manager.c.
References callback, DRWManager::draw_ctx, DRW_view_layer_engine_data_ensure_ex(), DST, and DRWContextState::view_layer.
Referenced by EEVEE_view_layer_data_ensure(), and GPENCIL_view_layer_data_ensure().
| void** DRW_view_layer_engine_data_ensure_ex | ( | struct ViewLayer * | view_layer, |
| DrawEngineType * | engine_type, | ||
| void(*)(void *storage) | callback | ||
| ) |
Definition at line 797 of file draw_manager.c.
References BLI_addtail(), callback, ViewLayer::drawdata, ViewLayerEngineData::engine_type, ListBase::first, ViewLayerEngineData::free, MEM_callocN, ViewLayerEngineData::next, and ViewLayerEngineData::storage.
Referenced by DRW_view_layer_engine_data_ensure(), EEVEE_view_layer_data_ensure_ex(), and workbench_view_layer_data_ensure_ex().
| void* DRW_view_layer_engine_data_get | ( | DrawEngineType * | engine_type | ) |
Definition at line 787 of file draw_manager.c.
References DRWManager::draw_ctx, ViewLayer::drawdata, DST, LISTBASE_FOREACH, NULL, and DRWContextState::view_layer.
Referenced by EEVEE_view_layer_data_get().
Definition at line 1917 of file draw_manager_data.c.
References DRW_view_is_persp_get(), DST, view, and DRWManager::view_default.
Referenced by EEVEE_mist_output_init(), eevee_motion_blur_sync_camera(), EEVEE_shadows_draw_cascades(), EEVEE_volumes_init(), GPENCIL_render_init(), GPENCIL_render_result_z(), and workbench_render_result_z().
Definition at line 1955 of file draw_manager_data.c.
References copy_m4_m4(), DST, inverse(), view, and DRWManager::view_default.
Referenced by drw_debug_draw_spheres(), EEVEE_draw_effects(), EEVEE_motion_blur_init(), eevee_motion_blur_sync_camera(), EEVEE_temporal_sampling_draw(), EEVEE_temporal_sampling_init(), EEVEE_temporal_sampling_matrices_calc(), gpencil_vfx_blur(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), lightbake_planar_ensure_view(), workbench_antialiasing_engine_init(), and workbench_antialiasing_setup().
| void DRW_view_reset | ( | void | ) |
Definition at line 1865 of file draw_manager_data.c.
References DST, NULL, DRWManager::view_active, DRWManager::view_default, and DRWManager::view_previous.
Referenced by DRW_render_gpencil(), DRW_render_to_image(), and EEVEE_render_view_sync().
| void DRW_view_set_active | ( | DRWView * | view | ) |
Definition at line 364 of file draw_manager_exec.c.
References DST, view, DRWManager::view_active, and DRWManager::view_default.
Referenced by eevee_draw_scene(), eevee_lightbake_cache_create(), EEVEE_lookdev_draw(), EEVEE_render_draw(), EEVEE_render_view_sync(), EEVEE_shadows_draw(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), EEVEE_temporal_sampling_update_matrices(), GPENCIL_render_init(), IMAGE_draw_scene(), OVERLAY_draw_scene(), OVERLAY_edit_mesh_draw(), overlay_edit_mesh_draw_components(), OVERLAY_edit_text_draw(), OVERLAY_image_draw(), OVERLAY_image_in_front_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), render_cubemap(), render_reflections(), select_draw_scene(), workbench_antialiasing_setup(), workbench_draw_finish(), and workbench_render_matrices_init().
| void DRW_view_update | ( | DRWView * | view, |
| const float | viewmat[4][4], | ||
| const float | winmat[4][4], | ||
| const float(*) | culling_viewmat[4], | ||
| const float(*) | culling_winmat[4] | ||
| ) |
Definition at line 1790 of file draw_manager_data.c.
References bitscan_forward_uint(), BLI_assert, copy_m4_m4(), draw_frustum_bound_sphere_calc(), draw_frustum_boundbox_calc(), draw_frustum_culling_planes_calc(), draw_view_matrix_state_update(), DRW_debug_bbox(), DRW_debug_sphere(), DST, G, invert_m4_m4(), is_negative_m4(), MAX_CULLED_VIEWS, NULL, view, and DRWManager::view_default.
Referenced by DRW_view_create(), eevee_ensure_cascade_views(), eevee_ensure_cube_views(), lightbake_planar_ensure_view(), and render_cubemap().
DRWView Update: This is meant to be done on existing views when rendering in a loop and there is no need to allocate more DRWViews.
Definition at line 1779 of file draw_manager_data.c.
References BLI_assert, draw_view_matrix_state_update(), is_negative_m4(), NULL, and view.
Referenced by DRW_view_create_sub(), EEVEE_lookdev_draw(), EEVEE_temporal_sampling_matrices_calc(), render_cubemap(), and workbench_antialiasing_setup().
Definition at line 1941 of file draw_manager_data.c.
References copy_m4_m4(), DST, inverse(), view, and DRWManager::view_default.
Referenced by DRW_object_axis_orthogonal_to_view(), DRW_view_create_with_zoffset(), EEVEE_lookdev_cache_init(), EEVEE_lookdev_draw(), EEVEE_motion_blur_init(), eevee_motion_blur_sync_camera(), EEVEE_temporal_sampling_create_view(), EEVEE_temporal_sampling_matrices_calc(), gpencil_depth_plane(), GPENCIL_engine_init(), lightbake_planar_ensure_view(), OVERLAY_gpencil_cache_init(), OVERLAY_grid_init(), OVERLAY_volume_extra(), select_engine_init(), workbench_antialiasing_setup(), workbench_shadow_data_update(), workbench_studiolight_data_update(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
Definition at line 1948 of file draw_manager_data.c.
References copy_m4_m4(), DST, inverse(), view, and DRWManager::view_default.
Referenced by DRW_view_create_with_zoffset(), EEVEE_temporal_sampling_create_view(), EEVEE_temporal_sampling_matrices_calc(), GPENCIL_render_result_z(), gpencil_vfx_blur(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), lightbake_planar_ensure_view(), OVERLAY_grid_init(), select_engine_init(), workbench_antialiasing_setup(), and workbench_render_result_z().
| struct DefaultFramebufferList* DRW_viewport_framebuffer_list_get | ( | void | ) |
Definition at line 697 of file draw_manager.c.
References DST, GPU_viewport_framebuffer_list_get(), and DRWManager::viewport.
Referenced by DRW_draw_callbacks_post_scene(), DRW_draw_render_loop_2d_ex(), eevee_draw_scene(), EEVEE_render_init(), EEVEE_renderpasses_draw(), external_draw_scene(), GPENCIL_draw_scene_depth_only(), GPENCIL_engine_init(), GPENCIL_fast_draw_end(), GPENCIL_fast_draw_start(), IMAGE_draw_scene(), OVERLAY_antialiasing_end(), OVERLAY_cache_finish(), OVERLAY_draw_scene(), OVERLAY_edit_uv_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_paint_draw(), OVERLAY_sculpt_draw(), select_draw_scene(), workbench_antialiasing_draw_pass(), workbench_cache_finish(), workbench_dof_draw_pass(), workbench_draw_sample(), workbench_render(), workbench_render_framebuffers_init(), workbench_render_result_z(), and workbench_volume_draw_pass().
| const float* DRW_viewport_invert_size_get | ( | void | ) |
Definition at line 444 of file draw_manager.c.
References DST, and DRWManager::inv_size.
Referenced by basic_cache_init(), EEVEE_motion_blur_cache_init(), GPENCIL_antialiasing_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_wave(), workbench_antialiasing_cache_init(), workbench_dof_cache_init(), and workbench_update_world_ubo().
| const float* DRW_viewport_pixelsize_get | ( | void | ) |
Definition at line 454 of file draw_manager.c.
References DST, and DRWManager::pixsize.
Referenced by DRW_globals_update().
| void DRW_viewport_request_redraw | ( | void | ) |
Definition at line 707 of file draw_manager.c.
References DST, GPU_viewport_tag_update(), and DRWManager::viewport.
Referenced by EEVEE_draw_effects(), EEVEE_screen_raytrace_init(), EEVEE_temporal_sampling_draw(), EEVEE_volumes_init(), and workbench_antialiasing_draw_pass().
| const float* DRW_viewport_screenvecs_get | ( | void | ) |
Definition at line 449 of file draw_manager.c.
References DST, and DRWManager::screenvecs.
Referenced by DRW_globals_update(), and EEVEE_lightprobes_cache_init().
| const float* DRW_viewport_size_get | ( | void | ) |
Definition at line 439 of file draw_manager.c.
References DST, and DRWManager::size.
Referenced by basic_cache_init(), dof_dilate_tiles_pass_init(), dof_flatten_tiles_pass_init(), dof_gather_pass_init(), dof_reduce_pass_init(), dof_setup_pass_init(), downsample_planar(), DRW_globals_update(), DRW_texture_ensure_fullscreen_2d(), DRW_texture_pool_query_fullscreen(), EEVEE_bloom_init(), eevee_cryptomatte_download_buffer(), EEVEE_cryptomatte_output_init(), eevee_cryptomatte_postprocess_weights(), EEVEE_cryptomatte_render_result(), EEVEE_depth_of_field_init(), EEVEE_effects_init(), EEVEE_lookdev_init(), EEVEE_motion_blur_cache_init(), EEVEE_motion_blur_init(), EEVEE_occlusion_compute(), EEVEE_occlusion_init(), EEVEE_render_init(), EEVEE_screen_raytrace_init(), EEVEE_subsurface_draw_init(), EEVEE_temporal_sampling_matrices_calc(), EEVEE_volumes_init(), GPENCIL_antialiasing_init(), GPENCIL_cache_finish(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_layer_cache_populate(), GPENCIL_render_init(), gpencil_vfx_blur(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), workbench_antialiasing_cache_init(), workbench_antialiasing_setup(), workbench_dof_engine_init(), workbench_render_framebuffers_init(), and workbench_update_world_ubo().
| struct DefaultTextureList* DRW_viewport_texture_list_get | ( | void | ) |
Definition at line 702 of file draw_manager.c.
References DST, GPU_viewport_texture_list_get(), and DRWManager::viewport.
Referenced by dof_recombine_pass_init(), dof_setup_pass_init(), EEVEE_cryptomatte_output_init(), eevee_draw_scene(), EEVEE_effects_draw_init(), EEVEE_effects_init(), eevee_engine_init(), EEVEE_material_output_init(), EEVEE_mist_output_init(), EEVEE_motion_blur_cache_init(), EEVEE_occlusion_cache_init(), EEVEE_occlusion_output_accumulate(), EEVEE_occlusion_output_init(), EEVEE_render_draw(), EEVEE_render_init(), EEVEE_renderpasses_cache_finish(), EEVEE_shadow_output_init(), EEVEE_subsurface_add_pass(), EEVEE_subsurface_draw_init(), EEVEE_subsurface_output_init(), EEVEE_temporal_sampling_cache_init(), EEVEE_velocity_resolve(), EEVEE_volumes_resolve(), GPENCIL_engine_init(), OVERLAY_antialiasing_cache_finish(), OVERLAY_antialiasing_cache_init(), OVERLAY_antialiasing_init(), OVERLAY_background_cache_init(), OVERLAY_cache_finish(), OVERLAY_edit_mesh_cache_init(), OVERLAY_extra_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_outline_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), select_engine_framebuffer_setup(), workbench_antialiasing_cache_init(), workbench_antialiasing_draw_pass(), workbench_cache_finish(), workbench_cavity_cache_init(), workbench_dof_cache_init(), workbench_opaque_cache_init(), workbench_opaque_engine_init(), workbench_outline_cache_init(), workbench_render_framebuffers_init(), workbench_transparent_engine_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().