Blender
V3.3
|
#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_material.h"
#include "GPU_primitive.h"
#include "GPU_shader.h"
#include "GPU_storage_buffer.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 "draw_view_data.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 struct DRWInstanceAttrFormat | DRWInstanceAttrFormat |
typedef bool() | DRWCallVisibilityFn(bool vis_in, void *user_data) |
typedef struct DRWContextState | DRWContextState |
Definition at line 486 of file DRW_render.h.
#define DRW_DEBUG_FILE_LINE_ARGS |
Definition at line 62 of file DRW_render.h.
#define DRW_PASS_CREATE | ( | pass, | |
state | |||
) | (pass = DRW_pass_create(#pass, state)) |
Definition at line 690 of file DRW_render.h.
#define DRW_PASS_INSTANCE_CREATE | ( | pass, | |
original, | |||
state | |||
) | (pass = DRW_pass_create_instance(#pass, (original), state)) |
Definition at line 691 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 228 of file DRW_render.h.
#define DRW_shader_create_fullscreen | ( | frag, | |
defines | |||
) | DRW_shader_create_fullscreen_ex(frag, defines, __func__) |
Definition at line 234 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 236 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 230 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 232 of file DRW_render.h.
#define DRW_SHADER_FREE_SAFE | ( | shader | ) |
Definition at line 254 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 270 of file DRW_render.h.
Definition at line 281 of file DRW_render.h.
#define DRW_shgroup_call | ( | shgroup, | |
geom, | |||
ob | |||
) | DRW_shgroup_call_ex(shgroup, ob, NULL, geom, false, NULL) |
If ob is NULL, unit modelmatrix is assumed and culling is bypassed.
Definition at line 414 of file DRW_render.h.
#define DRW_shgroup_call_no_cull | ( | shgroup, | |
geom, | |||
ob | |||
) | DRW_shgroup_call_ex(shgroup, ob, NULL, geom, true, NULL) |
Same as DRW_shgroup_call but bypass culling even if ob is not NULL.
Definition at line 431 of file DRW_render.h.
#define DRW_shgroup_call_obmat | ( | shgroup, | |
geom, | |||
obmat | |||
) | DRW_shgroup_call_ex(shgroup, NULL, obmat, geom, false, NULL) |
Same as DRW_shgroup_call but override the obmat
. Not culled.
Definition at line 420 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 425 of file DRW_render.h.
Definition at line 381 of file DRW_render.h.
#define DRW_shgroup_storage_block | ( | shgroup, | |
name, | |||
ssbo | |||
) | DRW_shgroup_storage_block_ex(shgroup, name, ssbo) |
Definition at line 655 of file DRW_render.h.
#define DRW_shgroup_storage_block_ref | ( | shgroup, | |
name, | |||
ssbo | |||
) | DRW_shgroup_storage_block_ref_ex(shgroup, name, ssbo) |
Definition at line 657 of file DRW_render.h.
#define DRW_shgroup_uniform_block | ( | shgroup, | |
name, | |||
ubo | |||
) | DRW_shgroup_uniform_block_ex(shgroup, name, ubo) |
Definition at line 651 of file DRW_render.h.
#define DRW_shgroup_uniform_block_ref | ( | shgroup, | |
name, | |||
ubo | |||
) | DRW_shgroup_uniform_block_ref_ex(shgroup, name, ubo) |
Definition at line 653 of file DRW_render.h.
#define DRW_shgroup_vertex_buffer | ( | shgroup, | |
name, | |||
vert | |||
) | DRW_shgroup_vertex_buffer_ex(shgroup, name, vert) |
Definition at line 647 of file DRW_render.h.
#define DRW_shgroup_vertex_buffer_ref | ( | shgroup, | |
name, | |||
vert | |||
) | DRW_shgroup_vertex_buffer_ref_ex(shgroup, name, vert) |
Definition at line 649 of file DRW_render.h.
#define DRW_STATE_BLEND_ENABLED |
Definition at line 352 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 350 of file DRW_render.h.
#define DRW_STATE_DEPTH_TEST_ENABLED |
Definition at line 359 of file DRW_render.h.
#define DRW_STATE_RASTERIZER_ENABLED |
Definition at line 356 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 362 of file DRW_render.h.
#define DRW_STATE_WRITE_STENCIL_ENABLED |
Definition at line 364 of file DRW_render.h.
Definition at line 183 of file DRW_render.h.
#define DRW_UBO_FREE_SAFE | ( | ubo | ) |
Definition at line 191 of file DRW_render.h.
#define DRW_VIEWPORT_DATA_SIZE | ( | ty | ) |
Definition at line 96 of file DRW_render.h.
#define DRW_VIEWPORT_LIST_SIZE | ( | list | ) | (sizeof(list) == sizeof(DRWViewportEmptyList) ? 0 : (sizeof(list) / sizeof(void *))) |
Definition at line 92 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.
Return final visibility.
Definition at line 402 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 90 of file DRW_render.h.
enum DRWState |
DRWState is a bit-mask that stores the current render state and the desired render state. Based on the differences the minimum state changes can be invoked to setup the desired render state.
The Write Stencil, Stencil test, Depth test and Blend state options are mutual exclusive therefore they aren't ordered as a bit mask.
Definition at line 298 of file DRW_render.h.
enum DRWTextureFlag |
Enumerator | |
---|---|
DRW_TEX_FILTER | |
DRW_TEX_WRAP | |
DRW_TEX_COMPARE | |
DRW_TEX_MIPMAP |
Definition at line 139 of file DRW_render.h.
enum eDRWAttrType |
Enumerator | |
---|---|
DRW_ATTR_INT | |
DRW_ATTR_FLOAT |
Definition at line 368 of file DRW_render.h.
void DRW_buffer_add_entry_array | ( | DRWCallBuffer * | callbuf, |
const void * | attr[], | ||
uint | attr_len | ||
) |
Definition at line 1365 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 1344 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_mesh_wire(), drw_shgroup_bone_custom_solid_mesh(), drw_shgroup_bone_envelope(), drw_shgroup_bone_octahedral(), drw_shgroup_bone_point(), drw_shgroup_custom_bone_curve(), OVERLAY_camera_cache_populate(), OVERLAY_edit_metaball_cache_populate(), and OVERLAY_metaball_cache_populate().
Used when the render engine want to redo another cache populate inside the same render frame.
Definition at line 2099 of file draw_manager.c.
References DRWManager::buffer_finish_called, DRW_curves_init(), drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), DRW_volume_init(), DST, DRWManager::viewport, and DRWManager::vmempool.
Referenced by EEVEE_motion_blur_cache_finish(), eevee_render_to_image(), and blender::eevee::Instance::render_sync().
const DRWContextState* DRW_context_state_get | ( | void | ) |
Definition at line 2892 of file draw_manager.c.
References DRWManager::draw_ctx, and DST.
Referenced by basic_cache_init(), basic_cache_populate(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::cache_image(), blender::draw::image_engine::ImageEngine< DrawingMode >::cache_populate(), camera_view3d_reconstruction(), draw_armature_pose(), drw_batch_cache_generate_requested(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), DRW_cache_gpencil_face_wireframe_get(), DRW_curves_pos_buffer_get(), DRW_curves_texture_for_evaluated_attribute(), DRW_draw_cursor(), DRW_draw_cursor_2d(), DRW_draw_gizmo_2d(), DRW_draw_gizmo_3d(), DRW_draw_region_info(), DRW_engine_external_acquire_for_image_editor(), 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_curves_create_sub(), 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_volumes_cache_init(), EEVEE_volumes_init(), external_cache_init(), external_cache_populate(), external_draw_scene(), external_draw_scene_do(), external_draw_scene_do_image(), external_draw_scene_do_v3d(), external_engine_init(), external_image_space_matrix_set(), 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(), blender::draw::image_engine::IMAGE_cache_init(), blender::draw::image_engine::IMAGE_draw_scene(), material_opaque(), material_shadow(), material_transparent(), motion_path_cache(), blender::eevee::Instance::object_sync(), 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_curves_cache_init(), OVERLAY_edit_curves_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_mode_transfer_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_guide_point(), 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_gpencil_canvas(), OVERLAY_shader_image(), OVERLAY_shader_motion_path_line(), OVERLAY_shader_motion_path_vert(), OVERLAY_shader_outline_prepass(), OVERLAY_shader_outline_prepass_curves(), 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_curves_selection(), 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(), request_attribute(), select_cache_init(), select_cache_populate(), select_engine_init(), blender::draw::color_management::viewport_color_management_set(), 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 422 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 452 of file draw_manager_exec.c.
References DST, view, and DRWManager::view_default.
Referenced by workbench_shadow_update().
Definition at line 458 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] | ||
) |
Return True if the given box intersect the current view frustum. This function will have to be replaced when world space bb per objects is implemented.
Definition at line 434 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 428 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 416 of file draw_manager_exec.c.
References draw_culling_sphere_test(), DST, view, and DRWManager::view_default.
Referenced by EEVEE_shadows_draw(), pchan_culling_test_bbone(), pchan_culling_test_envelope(), pchan_culling_test_simple(), and pchan_culling_test_with_radius_scale().
void DRW_custom_pipeline | ( | DrawEngineType * | draw_engine_type, |
struct Depsgraph * | depsgraph, | ||
void(*)(void *vedata, void *user_data) | callback, | ||
void * | user_data | ||
) |
Assume a valid GL context is bound (and that the gl_context_mutex has been acquired). This function only setup DST and execute the given function.
dfbl
& dtxl
). Definition at line 2047 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_curves_init(), drw_manager_exit(), drw_manager_init(), DRW_smoke_exit(), DRW_smoke_init(), drw_state_prepare_clean_for_draw(), DRW_view_data_engine_data_get_ensure(), DRW_volume_init(), DST, GPU_backend_get_type(), GPU_BACKEND_OPENGL, GPU_finish(), GPU_framebuffer_restore(), DRWManager::is_image_render, DRWManager::is_scene_render, NULL, OB_MODE_OBJECT, DRWManager::options, scene, DRWContextState::scene, type, user_data, DRWManager::view_data_active, and DRWManager::vmempool.
Referenced by lightbake_do_sample().
Definition at line 1405 of file draw_manager.c.
References BKE_regiontype_from_id(), BKE_spacetype_from_id(), 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_surface_draw_cb_draw(), ED_region_visible_rect(), DRWContextState::evil_C, View3D::flag, 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, RGN_TYPE_XR, DRWContextState::rv3d, SPACE_VIEW3D, usdtokens::st(), DRWContextState::v3d, V3D_GIZMO_HIDE, V3D_HIDE_OVERLAYS, V3D_SHOW_ANNOTATION, V3D_XR_SESSION_MIRROR, V3D_XR_SESSION_SURFACE, V3D_XR_SHOW_CONTROLLERS, V3D_XR_SHOW_CUSTOM_OVERLAYS, RegionView3D::viewmat, RegionView3D::winmat, and WM_xr_surface_controller_region_type_get().
Referenced by DRW_draw_render_loop_ex().
Definition at line 1390 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().
Definition at line 1214 of file draw_manager_exec.c.
References drw_draw_pass_ex(), DRWPass::first, DRWPass::last, DRWPass::next, and DRWPass::shgroups.
Referenced by blender::eevee::Film::accumulate(), basic_draw_scene(), blender::eevee::Film::display(), dof_dilate_tiles_pass_draw(), dof_recursive_reduce(), downsample_planar(), downsample_radiance_cb(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_scene(), DRW_curves_update(), 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(), 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_curves_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_mode_transfer_draw(), OVERLAY_mode_transfer_infront_draw(), OVERLAY_motion_path_draw(), OVERLAY_outline_draw(), OVERLAY_paint_draw(), OVERLAY_particle_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_curves_draw(), OVERLAY_sculpt_draw(), OVERLAY_volume_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), OVERLAY_xray_fade_draw(), blender::eevee::WorldPipeline::render(), blender::eevee::ForwardPipeline::render(), select_debug_draw_scene(), 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 | ||
) |
Draw only a subset of shgroups. Used in special situations as grease pencil strokes.
Definition at line 1221 of file draw_manager_exec.c.
References drw_draw_pass_ex().
Referenced by DRW_curves_update(), and DRW_hair_update().
DrawData* DRW_drawdata_ensure | ( | ID * | id, |
DrawEngineType * | engine_type, | ||
size_t | size, | ||
DrawDataInitCb | init_cb, | ||
DrawDataFreeCb | free_cb | ||
) |
Definition at line 866 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, DRWData::idatalist, MAX_INSTANCE_DATA_SIZE, MEM_callocN, ID::name, NULL, DRWManager::object_instance_data, size(), t, and DRWManager::vmempool.
Referenced by EEVEE_light_data_ensure(), EEVEE_lightprobe_data_ensure(), EEVEE_object_data_ensure(), EEVEE_world_data_ensure(), select_cache_populate(), blender::eevee::SyncModule::sync_object(), blender::eevee::SyncModule::sync_world(), and workbench_shadow_cache_populate().
DrawData* DRW_drawdata_get | ( | ID * | id, |
DrawEngineType * | engine_type | ||
) |
Definition at line 850 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().
Return NULL if not a dupli or a pointer of pointer to the engine data.
Definition at line 741 of file draw_manager.c.
References DST, DRWManager::dupli_datas, DRWManager::dupli_source, ViewportEngineData::engine_type, DRWRegisteredDrawEngine::index, and NULL.
Referenced by OVERLAY_duplidata_get().
struct DupliObject* DRW_object_get_dupli | ( | const struct Object * | ob | ) |
Does ob
needs to be rendered in edit mode.
When using duplicate linked meshes, objects that are not in edit-mode will be drawn as it is in edit mode, when another object with the same mesh is in edit mode. This will not be the case when one of the objects are influenced by modifiers.
bool DRW_object_is_visible_psys_in_active_context | ( | const struct Object * | object, |
const struct ParticleSystem * | psys | ||
) |
Definition at line 215 of file draw_manager.c.
References Object::data, Mesh::editflag, ME_EDIT_PAINT_FACE_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(), drw_batch_cache_generate_requested_evaluated_mesh_or_curve(), and workbench_color_type_get().
int DRW_object_visibility_in_active_context | ( | const struct Object * | ob | ) |
Return whether this object is visible depending if we are rendering or drawing in the viewport.
Definition at line 2157 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, DRWData::passes, DRWPass::shgroups, state, DRWPass::state, and DRWManager::vmempool.
Referenced by DRW_curves_init(), 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(), select_debug_engine_init(), blender::eevee::Film::sync(), blender::eevee::ForwardPipeline::sync(), blender::eevee::WorldPipeline::sync(), workbench_dof_cache_init(), workbench_transparent_cache_init(), and workbench_volume_cache_init().
Create an instance of the original pass that will execute the same drawcalls but with its own DRWState.
Definition at line 2176 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 | ||
) |
Definition at line 2191 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().
Link two passes so that they are both rendered if the first one is being drawn.
Definition at line 2184 of file draw_manager_data.c.
References BLI_assert, DRWPass::next, and NULL.
Referenced by EEVEE_materials_cache_init(), EEVEE_motion_blur_cache_init(), and blender::eevee::ForwardPipeline::sync().
Reverse Shading group submission order.
Definition at line 2294 of file draw_manager_data.c.
References BLI_linklist_reverse(), DRWPass::first, DRWPass::last, and DRWPass::shgroups.
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 2244 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, DRWData::obmats, DRWShadingGroup::pass_handle, pass_shgroup_dist_sort(), DRWPass::shgroups, DRWView::storage, sub_v3_v3v3(), DRWManager::view_active, ViewInfos::viewinv, DRWManager::vmempool, and DRWShadingGroup::z_sorting.
Referenced by eevee_draw_scene(), EEVEE_lightprobes_refresh_planar(), EEVEE_render_draw(), lightbake_render_scene_reflected(), OVERLAY_image_cache_finish(), and blender::eevee::ForwardPipeline::render().
Must run after all instance datas have been added.
Definition at line 2295 of file draw_manager.c.
References BLI_assert_msg, DRWManager::buffer_finish_called, DRW_instance_buffer_finish(), drw_resource_buffer_finish(), DST, DRWData::idatalist, and DRWManager::vmempool.
Referenced by DRW_draw_depth_loop(), 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(), blender::eevee::Instance::render_sync(), 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 2303 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 1916 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_cache_free_old_subdiv(), drw_context_state_init(), drw_manager_exit(), drw_manager_init(), DRW_smoke_exit(), drw_state_prepare_clean_for_draw(), DRW_state_reset(), DRW_view_data_engine_data_get_ensure(), DRW_view_reset(), DST, ListBase::first, GPU_framebuffer_restore(), GPU_render_begin(), GPU_render_end(), GPU_viewport(), 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::view_data_active, RenderResult::views, and DRWManager::vmempool.
void DRW_render_viewport_size_set | ( | const int | size[2] | ) |
Definition at line 280 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().
Definition at line 26 of file draw_manager_exec.c.
References BLI_assert, DST, G, G_FLAG_PICKSEL, id, and DRWManager::select_id.
Referenced by basic_cache_populate(), basic_cache_populate_particles(), 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 265 of file draw_manager_shader.c.
References GPU_shader_create(), and NULL.
struct GPUShader* DRW_shader_create_fullscreen_ex | ( | const char * | frag, |
const char * | defines, | ||
const char * | name | ||
) |
Definition at line 340 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 345 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, NULL, and sh.
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 271 of file draw_manager_shader.c.
References BLI_string_joinN, GPU_shader_create(), lib, MEM_freeN, NULL, and sh.
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 300 of file draw_manager_shader.c.
References DRW_shader_library_create_shader_string(), GPU_shader_create(), lib, MEM_SAFE_FREE, NULL, and sh.
struct GPUShader* DRW_shader_create_with_transform_feedback | ( | const char * | vert, |
const char * | geom, | ||
const char * | defines, | ||
eGPUShaderTFBType | prim_type, | ||
const char ** | varying_names, | ||
int | varying_count | ||
) |
Definition at line 321 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_transform_feedback_create().
Definition at line 419 of file draw_manager_shader.c.
References GPU_shader_free().
struct GPUMaterial* DRW_shader_from_material | ( | struct Material * | ma, |
struct bNodeTree * | ntree, | ||
const uint64_t | shader_id, | ||
const bool | is_volume_shader, | ||
bool | deferred, | ||
GPUCodegenCallbackFn | callback, | ||
void * | thunk | ||
) |
Definition at line 390 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_material_from_nodetree(), Material::gpumaterial, Material::id, Scene::id, ID::name, ntree, scene, and DRWContextState::scene.
Referenced by eevee_material_get_ex(), and blender::eevee::ShaderModule::material_shader_get().
struct GPUMaterial* DRW_shader_from_world | ( | struct World * | wo, |
struct bNodeTree * | ntree, | ||
const uint64_t | shader_id, | ||
const bool | is_volume_shader, | ||
bool | deferred, | ||
GPUCodegenCallbackFn | callback, | ||
void * | thunk | ||
) |
Definition at line 362 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_material_from_nodetree(), World::gpumaterial, Scene::id, World::id, ID::name, ntree, NULL, scene, and DRWContextState::scene.
Referenced by eevee_material_get_ex(), and blender::eevee::ShaderModule::world_shader_get().
void DRW_shader_library_add_file | ( | DRWShaderLibrary * | lib, |
const char * | lib_code, | ||
const char * | lib_name | ||
) |
Definition at line 510 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 449 of file draw_manager_shader.c.
References MEM_callocN.
Referenced by eevee_shader_library_ensure().
char* DRW_shader_library_create_shader_string | ( | const DRWShaderLibrary * | lib, |
const char * | shader_code | ||
) |
Definition at line 532 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(), and eevee_shader_library_ensure().
void DRW_shader_library_free | ( | DRWShaderLibrary * | lib | ) |
Definition at line 454 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 1527 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_curves_create_sub(), DRW_shgroup_hair_create_sub(), DRW_shgroup_material_create(), eevee_lookdev_hdri_preview_init(), EEVEE_volumes_cache_object_add(), material_opaque(), material_shadow(), and material_transparent().
void DRW_shgroup_barrier | ( | DRWShadingGroup * | shgroup, |
eGPUBarrier | type | ||
) |
Issue a barrier command.
Definition at line 1008 of file draw_manager_data.c.
References BLI_assert, drw_command_barrier(), GPU_compute_shader_support(), and type.
Referenced by blender::eevee::Film::sync(), and blender::eevee::WorldPipeline::sync().
void DRW_shgroup_buffer_texture | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUVertBuf * | vertex_buffer | ||
) |
Definition at line 550 of file draw_manager_data.c.
References drw_shgroup_uniform_create_ex(), DRW_UNIFORM_VERTEX_BUFFER_AS_TEXTURE, GPU_shader_get_ssbo(), and DRWShadingGroup::shader.
void DRW_shgroup_buffer_texture_ref | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUVertBuf ** | vertex_buffer | ||
) |
Definition at line 562 of file draw_manager_data.c.
References drw_shgroup_uniform_create_ex(), DRW_UNIFORM_VERTEX_BUFFER_AS_TEXTURE_REF, GPU_shader_get_ssbo(), and DRWShadingGroup::shader.
DRWCallBuffer* DRW_shgroup_call_buffer | ( | DRWShadingGroup * | shgroup, |
struct GPUVertFormat * | format, | ||
GPUPrimType | prim_type | ||
) |
Definition at line 1285 of file draw_manager_data.c.
References GPUVertFormat::attr_len, batch, BLI_assert, BLI_memblock_alloc(), DRWCallBuffer::buf, DRWCallBuffer::buf_select, DRWData::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, DRWData::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 1314 of file draw_manager_data.c.
References GPUVertFormat::attr_len, batch, BLI_assert, BLI_memblock_alloc(), DRWCallBuffer::buf, DRWCallBuffer::buf_select, DRWData::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, DRWData::idatalist, inst_select_format, NULL, and DRWManager::vmempool.
Referenced by custom_bone_instance_shgroup(), and EEVEE_lightprobes_cache_init().
void DRW_shgroup_call_compute | ( | DRWShadingGroup * | shgroup, |
int | groups_x_len, | ||
int | groups_y_len, | ||
int | groups_z_len | ||
) |
Definition at line 984 of file draw_manager_data.c.
References BLI_assert, drw_command_compute(), and GPU_compute_shader_support().
Referenced by drw_curves_cache_update_compute(), drw_hair_particle_cache_update_compute(), and blender::eevee::Film::sync().
void DRW_shgroup_call_compute_indirect | ( | DRWShadingGroup * | shgroup, |
GPUStorageBuf * | indirect_buf | ||
) |
Definition at line 1002 of file draw_manager_data.c.
References BLI_assert, drw_command_compute_indirect(), and GPU_compute_shader_support().
void DRW_shgroup_call_compute_ref | ( | DRWShadingGroup * | shgroup, |
int | groups_ref[3] | ||
) |
Definition at line 995 of file draw_manager_data.c.
References BLI_assert, drw_command_compute_ref(), and GPU_compute_shader_support().
void DRW_shgroup_call_ex | ( | DRWShadingGroup * | shgroup, |
Object * | ob, | ||
float(*) | obmat[4], | ||
struct GPUBatch * | geom, | ||
bool | bypass_culling, | ||
void * | user_data | ||
) |
Definition at line 933 of file draw_manager_data.c.
References BLI_assert, DRWCullingState::bsphere, DRWData::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_num | ||
) |
A count of 0 instance will use the default number of instance in the batch.
Definition at line 973 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(), blender::eevee::shgroup_geometry_call(), and workbench_object_drawcall().
void DRW_shgroup_call_instances | ( | DRWShadingGroup * | shgroup, |
Object * | ob, | ||
struct GPUBatch * | geom, | ||
uint | count | ||
) |
IN_PLACE_INSTANCES
defined. TODO: Should be removed. Definition at line 1047 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 1060 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, DRWData::idatalist, NULL, Object::obmat, DRWManager::select_id, and DRWManager::vmempool.
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 1035 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 1029 of file draw_manager_data.c.
References drw_cache_procedural_points_get(), drw_shgroup_call_procedural_add_ex(), and GPUBatch.
Referenced by drw_curves_cache_update_transform_feedback(), drw_hair_particle_cache_update_transform_feedback(), 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 1041 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(), select_debug_engine_init(), blender::eevee::Film::sync(), 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_num | ||
) |
Definition at line 962 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(), motion_path_cache(), and blender::eevee::shgroup_geometry_call().
void DRW_shgroup_call_sculpt | ( | DRWShadingGroup * | sh, |
Object * | ob, | ||
bool | wire, | ||
bool | mask | ||
) |
Definition at line 1255 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_mode_transfer_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 1268 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 | ||
) |
Issue a clear command.
Definition at line 1635 of file draw_manager_data.c.
References Freestyle::a, usdtokens::b(), channels(), drw_command_clear(), usdtokens::g(), and r.
Referenced by GPENCIL_antialiasing_init(), and workbench_antialiasing_cache_init().
DRWShadingGroup* DRW_shgroup_create | ( | struct GPUShader * | shader, |
DRWPass * | pass | ||
) |
Definition at line 1594 of file draw_manager_data.c.
References drw_shgroup_create_ex(), and drw_shgroup_init().
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_curves_cache_update_compute(), drw_curves_cache_update_transform_feedback(), drw_hair_particle_cache_update_compute(), drw_hair_particle_cache_update_transform_feedback(), 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_cache_object_add(), EEVEE_volumes_output_init(), external_cache_init(), GPENCIL_antialiasing_init(), GPENCIL_cache_init(), gpencil_layer_cache_add(), gpencil_vfx_pass_create(), 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_curves_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_mode_transfer_cache_populate(), OVERLAY_motion_path_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_init(), OVERLAY_sculpt_cache_init(), OVERLAY_sculpt_curves_cache_init(), OVERLAY_volume_cache_init(), OVERLAY_volume_extra(), OVERLAY_wireframe_cache_init(), select_cache_init(), select_debug_engine_init(), blender::eevee::Film::sync(), 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 1660 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, DRWData::passes, DRWShadingGroup::shader, DRWPass::shgroups, DRWData::shgroups, and DRWManager::vmempool.
Referenced by draw_select_id_edit_mesh(), draw_select_id_mesh(), drw_curves_cache_update_compute(), drw_hair_particle_cache_update_compute(), DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), drw_volume_object_grids_init(), drw_volume_object_mesh_init(), 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_grid_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 1567 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 1647 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 1582 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(), blender::eevee::ForwardPipeline::material_opaque_add(), blender::eevee::ForwardPipeline::material_transparent_add(), blender::eevee::ForwardPipeline::prepass_opaque_add(), blender::eevee::ForwardPipeline::prepass_transparent_add(), and blender::eevee::WorldPipeline::sync().
void DRW_shgroup_state_disable | ( | DRWShadingGroup * | shgroup, |
DRWState | state | ||
) |
Definition at line 1617 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(), blender::eevee::ForwardPipeline::material_transparent_add(), OVERLAY_armature_cache_init(), OVERLAY_extra_cache_init(), blender::eevee::ForwardPipeline::prepass_transparent_add(), 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 1612 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(), blender::eevee::ForwardPipeline::material_transparent_add(), 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(), blender::eevee::ForwardPipeline::prepass_transparent_add(), workbench_opaque_cache_init(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
void DRW_shgroup_stencil_mask | ( | DRWShadingGroup * | shgroup, |
uint | mask | ||
) |
TODO: remove this function. Obsolete version. mask is actually reference value.
Definition at line 1630 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 | ||
) |
Reminders:
Definition at line 1622 of file draw_manager_data.c.
References drw_command_set_stencil_mask().
void DRW_shgroup_storage_block_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const struct GPUStorageBuf *ssbo | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
void DRW_shgroup_storage_block_ref_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUStorageBuf **ssbo | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
Definition at line 338 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_STORAGE_BLOCK_REF, file, GPU_shader_get_ssbo(), NULL, and DRWShadingGroup::shader.
DRWShadingGroup* DRW_shgroup_transform_feedback_create | ( | struct GPUShader * | shader, |
DRWPass * | pass, | ||
struct GPUVertBuf * | tf_target | ||
) |
Definition at line 1601 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, and NULL.
Referenced by drw_curves_cache_update_transform_feedback(), and drw_hair_particle_cache_update_transform_feedback().
void DRW_shgroup_uniform_block_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const struct GPUUniformBuf *ubo | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
void DRW_shgroup_uniform_block_ref_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUUniformBuf **ubo | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
Definition at line 295 of file draw_manager_data.c.
References BLI_assert, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_BLOCK_REF, file, GPU_shader_get_uniform_block_binding(), NULL, and DRWShadingGroup::shader.
void DRW_shgroup_uniform_bool | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const int * | value, | ||
int | arraysize | ||
) |
Definition at line 360 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_curves_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, | ||
bool | value | ||
) |
Definition at line 463 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), 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(), 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_sculpt_curves_cache_populate(), 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 369 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(), and workbench_antialiasing_cache_init().
void DRW_shgroup_uniform_float_copy | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
float | value | ||
) |
Definition at line 469 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_curves_create_sub(), 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(), 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_curves_cache_init(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_gpencil_cache_populate(), OVERLAY_edit_mesh_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_paint_cache_init(), OVERLAY_sculpt_cache_init(), OVERLAY_sculpt_curves_cache_init(), OVERLAY_volume_extra(), OVERLAY_wireframe_cache_init(), select_cache_init(), blender::eevee::WorldPipeline::sync(), workbench_dof_cache_init(), workbench_image_setup_ex(), 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 | ||
) |
Only to be used when image load store is supported (GPU_shader_image_load_store_support()).
Definition at line 260 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 267 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(), blender::eevee::ForwardPipeline::material_opaque_add(), blender::eevee::Film::sync(), and blender::eevee::WorldPipeline::sync().
void DRW_shgroup_uniform_int | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const int * | value, | ||
int | arraysize | ||
) |
Definition at line 401 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT.
Referenced by dof_dilate_tiles_pass_init(), drw_curves_cache_shgrp_attach_resources(), drw_curves_cache_update_transform_feedback(), drw_hair_particle_cache_shgrp_attach_resources(), drw_hair_particle_cache_update_transform_feedback(), DRW_shgroup_curves_create_sub(), DRW_shgroup_hair_create_sub(), EEVEE_effects_cache_init(), EEVEE_lightbake_cache_init(), EEVEE_lightprobes_cache_init(), EEVEE_renderpasses_cache_finish(), and EEVEE_screen_raytrace_cache_init().
void DRW_shgroup_uniform_int_copy | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
int | value | ||
) |
Definition at line 443 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_curves_cache_update_compute(), drw_hair_particle_cache_update_compute(), DRW_shgroup_curves_create_sub(), 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(), 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_grid_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 409 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 448 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 417 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 453 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 425 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 458 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_INT_COPY.
Referenced by motion_path_cache(), and OVERLAY_edit_mesh_cache_init().
void DRW_shgroup_uniform_mat3 | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float(*) | value[3] | ||
) |
Definition at line 433 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 438 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_curves_cache_populate(), EEVEE_motion_blur_hair_cache_populate(), EEVEE_temporal_sampling_cache_init(), and workbench_volume_object_cache_populate().
void DRW_shgroup_uniform_mat4_copy | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float(*) | value[4] | ||
) |
Definition at line 489 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_curves_create_sub(), DRW_shgroup_hair_create_sub(), OVERLAY_lightprobe_cache_populate(), and wireframe_hair_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 255 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(), drw_volume_object_mesh_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_materials_cache_init(), 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_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_curves_cache_init(), OVERLAY_edit_mesh_cache_init(), OVERLAY_grid_cache_init(), OVERLAY_outline_cache_init(), OVERLAY_wireframe_cache_init(), blender::eevee::Film::sync(), 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 245 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(), EEVEE_subsurface_add_pass(), and blender::eevee::Film::sync().
void DRW_shgroup_uniform_vec2 | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float * | value, | ||
int | arraysize | ||
) |
Definition at line 377 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(), and workbench_dof_cache_init().
void DRW_shgroup_uniform_vec2_copy | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float * | value | ||
) |
Definition at line 474 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_vfx_blur(), gpencil_vfx_flip(), gpencil_vfx_glow(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), and OVERLAY_edit_uv_cache_init().
void DRW_shgroup_uniform_vec3 | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float * | value, | ||
int | arraysize | ||
) |
Definition at line 385 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(), OVERLAY_background_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 479 of file draw_manager_data.c.
References drw_shgroup_uniform(), and DRW_UNIFORM_FLOAT_COPY.
Referenced by gpencil_layer_cache_add(), gpencil_vfx_colorize(), gpencil_vfx_rim(), motion_path_cache(), OVERLAY_edit_gpencil_cache_init(), OVERLAY_edit_uv_cache_init(), OVERLAY_gpencil_cache_init(), OVERLAY_grid_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 393 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_copy | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
const float * | value | ||
) |
Definition at line 484 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(), 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_mode_transfer_cache_populate(), OVERLAY_paint_cache_init(), OVERLAY_particle_cache_populate(), OVERLAY_volume_extra(), and workbench_antialiasing_cache_init().
void DRW_shgroup_vertex_buffer_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUVertBuf *vertex_buffer | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
Definition at line 510 of file draw_manager_data.c.
References BLI_assert_msg, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_VERTEX_BUFFER_AS_STORAGE, file, GPU_shader_get_ssbo(), and DRWShadingGroup::shader.
void DRW_shgroup_vertex_buffer_ref_ex | ( | DRWShadingGroup * | shgroup, |
const char * | name, | ||
struct GPUVertBuf **vertex_buffer | DRW_DEBUG_FILE_LINE_ARGS | ||
) |
Definition at line 530 of file draw_manager_data.c.
References BLI_assert_msg, drw_shgroup_uniform_create_ex(), DRW_UNIFORM_VERTEX_BUFFER_AS_STORAGE_REF, file, GPU_shader_get_ssbo(), and DRWShadingGroup::shader.
Whether we should render the background
Definition at line 2881 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().
Should draw support elements Objects center, selection outline, probe data, ...
Definition at line 2874 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 EEVEE_lightprobes_cache_init(), and EEVEE_temporal_sampling_init().
Definition at line 2832 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().
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 2816 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_curves_draw(), OVERLAY_sculpt_draw(), OVERLAY_wireframe_cache_init(), OVERLAY_xray_depth_copy(), OVERLAY_xray_depth_infront_copy(), and OVERLAY_xray_fade_draw().
Whether we are rendering for an image
Definition at line 2837 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_from_material(), DRW_shader_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(), blender::eevee::gpencil_stroke_sync(), lightbake_render_scene_reflected(), OVERLAY_camera_cache_populate(), OVERLAY_facing_cache_populate(), OVERLAY_fade_cache_populate(), OVERLAY_mode_transfer_cache_populate(), OVERLAY_wireframe_cache_populate(), workbench_antialiasing_draw_pass(), workbench_antialiasing_sample_count_get(), workbench_color_type_get(), and workbench_update_world_ubo().
Definition at line 2827 of file draw_manager.c.
References DST, DRWManager::is_material_select, and DRWManager::options.
Referenced by basic_cache_init().
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().
Whether we are rendering simple opengl render
Definition at line 2848 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().
Definition at line 2853 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().
Whether we are rendering only the render engine, or if we should also render the mode engines.
Definition at line 2842 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_curves_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().
For when engines need to know if this is drawing for selection or not.
Definition at line 2822 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().
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 279 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, state, DRWManager::state, and DRWManager::state_lock.
Referenced by DRW_draw_select_loop().
Definition at line 316 of file draw_manager_exec.c.
References DRW_STATE_DEFAULT, DRW_state_reset_ex(), GPU_line_smooth(), GPU_line_width(), GPU_point_size(), GPU_storagebuf_unbind_all(), 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(), 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(), DRW_render_to_image(), and external_draw_scene_do_image().
Reset state to not interfere with other UI draw-call.
Definition at line 261 of file draw_manager_exec.c.
References drw_state_set(), DST, state, and DRWManager::state.
Referenced by DRW_state_reset(), and external_draw_scene_do_v3d().
Should text draw in this mode?
Definition at line 2868 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 67 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 79 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 89 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 99 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_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 110 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 121 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 158 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 148 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(), IMAGE_InstanceData::update_gpu_texture_allocations(), workbench_antialiasing_engine_init(), and workbench_cache_finish().
void DRW_texture_free | ( | struct GPUTexture * | tex | ) |
Definition at line 171 of file draw_manager_texture.c.
References GPU_texture_free(), and tex.
Referenced by EEVEE_motion_hair_step_free().
void DRW_texture_generate_mipmaps | ( | struct GPUTexture * | tex | ) |
Definition at line 166 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 | ||
) |
Textures from DRW_texture_pool_query_*
have the options DRW_TEX_FILTER for color float textures, and no options for depth textures and integer textures.
Definition at line 130 of file draw_manager_texture.c.
References BLI_assert, drw_texture_format_supports_framebuffer(), DRW_texture_pool_query(), DST, tex, DRWData::texture_pool, DRWManager::vmempool, and w().
Referenced by blender::draw::TextureFromPool::acquire(), 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_curves_update(), 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 141 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 2085 of file draw_manager_data.c.
References copy_v4_v4(), and view.
Referenced by blender::eevee::Camera::sync().
Definition at line 2080 of file draw_manager_data.c.
References copy_v4_v4(), and view.
Referenced by drw_manager_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).
Definition at line 2071 of file draw_manager_data.c.
References BLI_assert, MAX_CLIP_PLANES, and view.
Referenced by drw_manager_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 | ||
) |
Create a view with culling.
Definition at line 1924 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_num, view, DRWData::views, and DRWManager::vmempool.
Referenced by blender::draw::image_engine::ImageEngine< DrawingMode >::cache_init(), drw_manager_init(), eevee_ensure_cascade_views(), eevee_ensure_cube_views(), eevee_lightbake_cache_create(), EEVEE_render_view_sync(), GPENCIL_render_init(), lightbake_planar_ensure_view(), render_cubemap(), select_engine_init(), blender::eevee::ShadingView::sync(), and workbench_render_matrices_init().
DRWView* DRW_view_create_sub | ( | const DRWView * | parent_view, |
const float | viewmat[4][4], | ||
const float | winmat[4][4] | ||
) |
Create a view with culling done by another view.
Definition at line 1950 of file draw_manager_data.c.
References BLI_memblock_alloc(), DRW_view_update_sub(), DST, NULL, DRWView::parent, view, DRWData::views, and DRWManager::vmempool.
Referenced by DRW_view_create_with_zoffset(), EEVEE_lookdev_draw(), EEVEE_temporal_sampling_create_view(), render_cubemap(), blender::eevee::ShadingView::sync(), and workbench_antialiasing_setup().
Definition at line 2053 of file draw_manager_data.c.
References DST, and DRWManager::view_default.
Referenced by draw_armature_pose(), drw_sculpt_get_frustum_planes(), eevee_engine_init(), eevee_lightbake_cache_create(), eevee_lightprobes_culling_test(), EEVEE_lookdev_draw(), EEVEE_temporal_sampling_create_view(), OVERLAY_edit_curves_init(), 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().
MUST only be called once per render and only in render mode. Sets default view.
Definition at line 2065 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 2118 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(), blender::eevee::Camera::sync(), and workbench_render_result_z().
Definition at line 2090 of file draw_manager_data.c.
References view.
Definition at line 2095 of file draw_manager_data.c.
References view.
Referenced by drw_sculpt_get_frustum_planes().
Definition at line 348 of file draw_manager_exec.c.
References DST, and DRWManager::view_active.
Referenced by external_image_space_matrix_set().
Definition at line 2100 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(), blender::eevee::Camera::init(), and workbench_render_result_z().
void** DRW_view_layer_engine_data_ensure | ( | DrawEngineType * | engine_type, |
void(*)(void *storage) | callback | ||
) |
Definition at line 787 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 767 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 757 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().
These are in view-space, so negative if in perspective. Extract near and far clip distance from the projection matrix.
Definition at line 2106 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(), blender::eevee::Camera::sync(), and workbench_render_result_z().
Definition at line 2144 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(), blender::eevee::Camera::sync(), workbench_antialiasing_engine_init(), and workbench_antialiasing_setup().
Definition at line 2058 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().
Set active view for rendering.
Definition at line 343 of file draw_manager_exec.c.
References DST, NULL, view, DRWManager::view_active, and DRWManager::view_default.
Referenced by blender::eevee::Film::accumulate(), blender::eevee::Film::display(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_scene(), 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(), OVERLAY_draw_scene(), OVERLAY_edit_curves_draw(), 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(), blender::eevee::ShadingView::render(), 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] | ||
) |
Update matrices of a view created with DRW_view_create.
Definition at line 1985 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().
Update matrices of a view created with DRW_view_create_sub.
Definition at line 1975 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 2130 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(), external_image_space_matrix_set(), gpencil_depth_plane(), GPENCIL_engine_init(), lightbake_planar_ensure_view(), OVERLAY_gpencil_cache_init(), OVERLAY_grid_init(), OVERLAY_volume_extra(), select_engine_init(), blender::eevee::Camera::sync(), 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 2137 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(), external_image_space_matrix_set(), 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(), blender::eevee::Camera::sync(), workbench_antialiasing_setup(), and workbench_render_result_z().
struct DefaultFramebufferList* DRW_viewport_framebuffer_list_get | ( | void | ) |
Definition at line 633 of file draw_manager.c.
References DRW_view_data_default_framebuffer_list_get(), DST, and DRWManager::view_data_active.
Referenced by blender::eevee::Film::accumulate(), blender::eevee::Film::display(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_scene(), DRW_draw_callbacks_post_scene(), DRW_draw_render_loop_2d_ex(), eevee_draw_scene(), EEVEE_render_init(), EEVEE_renderpasses_draw(), external_draw_scene(), external_draw_scene_do_image(), GPENCIL_draw_scene_depth_only(), GPENCIL_engine_init(), GPENCIL_fast_draw_end(), GPENCIL_fast_draw_start(), OVERLAY_antialiasing_end(), OVERLAY_cache_finish(), OVERLAY_draw_scene(), OVERLAY_edit_uv_draw(), OVERLAY_image_scene_background_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().
Definition at line 293 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_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_wave(), workbench_antialiasing_cache_init(), workbench_dof_cache_init(), and workbench_update_world_ubo().
Definition at line 303 of file draw_manager.c.
References DST, and DRWManager::pixsize.
Referenced by DRW_globals_update().
Definition at line 643 of file draw_manager.c.
References DST, GPU_viewport_tag_update(), and DRWManager::viewport.
Referenced by blender::eevee::Instance::draw_viewport(), EEVEE_draw_effects(), EEVEE_screen_raytrace_init(), EEVEE_temporal_sampling_draw(), EEVEE_volumes_init(), OVERLAY_mode_transfer_cache_finish(), and workbench_antialiasing_draw_pass().
Definition at line 298 of file draw_manager.c.
References DST, and DRWManager::screenvecs.
Referenced by DRW_globals_update(), and EEVEE_lightprobes_cache_init().
Definition at line 288 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_render_init(), gpencil_vfx_blur(), gpencil_vfx_pixelize(), gpencil_vfx_rim(), gpencil_vfx_shadow(), gpencil_vfx_swirl(), gpencil_vfx_wave(), IMAGE_InstanceData::update_gpu_texture_allocations(), 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 638 of file draw_manager.c.
References DRW_view_data_default_texture_list_get(), DST, and DRWManager::view_data_active.
Referenced by blender::eevee::Film::accumulate(), 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_curves_cache_init(), 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().
ENUM_OPERATORS | ( | DRWState | , |
DRW_STATE_PROGRAM_POINT_SIZE | |||
) |