|
Blender
V2.93
|
#include "draw_manager.h"#include "BLI_alloca.h"#include "BLI_math.h"#include "BLI_math_bits.h"#include "BLI_memblock.h"#include "BKE_global.h"#include "GPU_platform.h"#include "GPU_shader.h"#include "GPU_state.h"#include "GPU_select.h"Go to the source code of this file.
Classes | |
| struct | DRWCommandsState |
| struct | DRWCommandIterator |
Macros | |
| #define | DEBUG_UBO_BINDING |
Typedefs | |
| typedef struct DRWCommandsState | DRWCommandsState |
| #define DEBUG_UBO_BINDING |
Definition at line 48 of file draw_manager_exec.c.
| typedef struct DRWCommandIterator DRWCommandIterator |
| typedef struct DRWCommandsState DRWCommandsState |
|
static |
Definition at line 854 of file draw_manager_exec.c.
References DRWCommandDraw::batch, draw_call_batching_flush(), draw_call_resource_bind(), draw_indirect_call(), DRW_handle_chunk_get(), DRW_handle_id_get(), DRW_handle_negative_scale_get(), DRWCommandDraw::handle, id, and state.
Referenced by draw_shgroup().
|
static |
Definition at line 889 of file draw_manager_exec.c.
References draw_call_batching_flush(), DRW_sparse_uniform_buffer_unbind(), DST, GPU_front_facing(), GPU_uniformbuf_unbind(), DRWView::is_inverted, ViewportMemoryPool::matrices_ubo, ViewportMemoryPool::obinfos_ubo, state, DRWManager::view_active, and DRWManager::vmempool.
Referenced by draw_shgroup().
|
static |
Definition at line 793 of file draw_manager_exec.c.
References draw_indirect_call(), DRWManager::draw_list, DST, GPU_draw_list_submit(), NULL, and state.
Referenced by draw_call_batching_do(), draw_call_batching_finish(), draw_call_single_do(), and draw_shgroup().
|
static |
Definition at line 840 of file draw_manager_exec.c.
Referenced by draw_shgroup().
|
static |
Definition at line 357 of file draw_manager_exec.c.
References ViewportMemoryPool::cullstates, DRW_memblock_elem_from_handle(), DST, DRWCullingState::mask, view, and DRWManager::vmempool.
Referenced by draw_shgroup().
|
static |
Definition at line 755 of file draw_manager_exec.c.
References DRW_handle_chunk_get(), DRW_handle_id_get(), DRW_handle_negative_scale_get(), DRW_sparse_uniform_buffer_bind(), DRW_sparse_uniform_buffer_unbind(), DST, GPU_front_facing(), GPU_shader_uniform_int(), GPU_uniformbuf_bind(), GPU_uniformbuf_unbind(), id, DRWView::is_inverted, ViewportMemoryPool::matrices_ubo, ViewportMemoryPool::obinfos_ubo, DRWManager::shader, state, DRWManager::view_active, and DRWManager::vmempool.
Referenced by draw_call_batching_do(), and draw_call_single_do().
|
static |
Definition at line 803 of file draw_manager_exec.c.
References batch, draw_call_batching_flush(), draw_call_resource_bind(), draw_geometry_execute(), draw_legacy_matrix_update(), draw_select_buffer(), DRW_handle_id_get(), G, G_FLAG_PICKSEL, GPU_select_load_id(), NULL, and state.
Referenced by draw_shgroup().
|
static |
Definition at line 732 of file draw_manager_exec.c.
References DRWShadingGroup::cmd, DRWCommandIterator::cmd_index, DRWCommandIterator::curr_chunk, and DRWShadingGroup::first.
Referenced by draw_shgroup().
|
static |
Definition at line 738 of file draw_manager_exec.c.
References DRWCommandIterator::cmd_index, DRWCommandChunk::command_len, DRWCommandChunk::command_type, command_type_get(), DRWCommandChunk::command_used, DRWCommandChunk::commands, DRWCommandIterator::curr_chunk, DRWCommandChunk::next, and NULL.
Referenced by draw_shgroup().
|
static |
Definition at line 488 of file draw_manager_exec.c.
References BLI_memblock_iternew(), BLI_memblock_iterstep(), DRWCullingState::bsphere, BoundSphere::center, ViewportMemoryPool::cullstates, draw_culling_sphere_test(), DRW_debug_sphere(), DST, G, DRWCullingState::mask, BoundSphere::radius, SET_FLAG_FROM_TEST, DRWCullingState::user_data, view, and DRWManager::vmempool.
Referenced by drw_update_view().
|
static |
Definition at line 399 of file draw_manager_exec.c.
References plane_point_side_v3(), v, and BoundBox::vec.
Referenced by DRW_culling_box_test().
Definition at line 420 of file draw_manager_exec.c.
References Freestyle::c, plane_point_side_v3(), and BoundBox::vec.
Referenced by DRW_culling_plane_test().
|
static |
Definition at line 370 of file draw_manager_exec.c.
References BoundSphere::center, len_squared_v3v3(), plane_point_side_v3(), BoundSphere::radius, and square_f().
Referenced by draw_compute_culling(), and DRW_culling_sphere_test().
| BLI_INLINE void draw_geometry_bind | ( | DRWShadingGroup * | shgroup, |
| GPUBatch * | geom | ||
| ) |
Definition at line 554 of file draw_manager_exec.c.
References DRWManager::batch, DST, GPU_batch_set_shader(), and DRWShadingGroup::shader.
Referenced by draw_geometry_execute(), and draw_indirect_call().
| BLI_INLINE void draw_geometry_execute | ( | DRWShadingGroup * | shgroup, |
| GPUBatch * | geom, | ||
| int | vert_first, | ||
| int | vert_count, | ||
| int | inst_first, | ||
| int | inst_count, | ||
| int | baseinst_loc | ||
| ) |
Definition at line 561 of file draw_manager_exec.c.
References DRWManager::batch, draw_geometry_bind(), DST, GPU_batch_draw_advanced(), GPU_shader_uniform_vector_int(), max_ii(), and DRWShadingGroup::shader.
Referenced by draw_call_single_do(), draw_indirect_call(), and draw_select_buffer().
| BLI_INLINE void draw_indirect_call | ( | DRWShadingGroup * | shgroup, |
| DRWCommandsState * | state | ||
| ) |
Definition at line 587 of file draw_manager_exec.c.
References DRWManager::batch, draw_geometry_bind(), draw_geometry_execute(), DRWManager::draw_list, DST, GPU_draw_list_append(), GPU_draw_list_submit(), and state.
Referenced by draw_call_batching_do(), and draw_call_batching_flush().
| BLI_INLINE void draw_legacy_matrix_update | ( | DRWShadingGroup * | shgroup, |
| DRWResourceHandle * | handle, | ||
| float | obmat_loc, | ||
| float | obinv_loc | ||
| ) |
Definition at line 539 of file draw_manager_exec.c.
References DRW_memblock_elem_from_handle(), DST, GPU_shader_uniform_vector(), DRWObjectMatrix::model, DRWObjectMatrix::modelinverse, ViewportMemoryPool::obmats, DRWShadingGroup::shader, and DRWManager::vmempool.
Referenced by draw_call_single_do().
| BLI_INLINE void draw_select_buffer | ( | DRWShadingGroup * | shgroup, |
| DRWCommandsState * | state, | ||
| GPUBatch * | batch, | ||
| const DRWResourceHandle * | handle | ||
| ) |
Definition at line 690 of file draw_manager_exec.c.
References batch, count, draw_geometry_execute(), DRW_handle_id_get(), GPU_PRIM_LINES, GPU_PRIM_TRIS, GPU_select_load_id(), GPU_vertbuf_get_data(), GPU_vertbuf_get_vertex_len(), NULL, and state.
Referenced by draw_call_single_do().
|
static |
Definition at line 908 of file draw_manager_exec.c.
References DRWCommandDraw::batch, DRWCommandDrawRange::batch, DRWCommandDrawInstance::batch, DRWCommandDrawInstanceRange::batch, DRWCommandDrawProcedural::batch, DRWManager::batch, BLI_assert, DRWCommand::clear, DRWCommandClear::clear_channels, DRWCommandSetStencil::comp_mask, DRWCommandClear::depth, DRWCommandSetMutableState::disable, DRWCommand::draw, draw_call_batching_do(), draw_call_batching_finish(), draw_call_batching_flush(), draw_call_batching_start(), draw_call_is_culled(), draw_call_single_do(), draw_command_iter_begin(), draw_command_iter_step(), draw_update_uniforms(), DRW_CMD_CLEAR, DRW_CMD_DRAW, DRW_CMD_DRAW_INSTANCE, DRW_CMD_DRAW_INSTANCE_RANGE, DRW_CMD_DRAW_PROCEDURAL, DRW_CMD_DRAW_RANGE, DRW_CMD_DRWSTATE, DRW_CMD_SELECTID, DRW_CMD_STENCIL, drw_state_set(), drw_stencil_state_set(), DST, DRWCommandSetMutableState::enable, G, G_DEBUG_GPU, G_FLAG_PICKSEL, GPU_framebuffer_active_get(), GPU_framebuffer_clear(), GPU_shader_bind(), GPU_shader_transform_feedback_disable(), GPU_shader_unbind(), GPU_texture_unbind_all(), GPU_uniformbuf_unbind_all(), DRWCommandDraw::handle, DRWCommandDrawRange::handle, DRWCommandDrawInstance::handle, DRWCommandDrawInstanceRange::handle, DRWCommandDrawProcedural::handle, DRWCommandDrawInstance::inst_count, DRWCommandDrawInstanceRange::inst_count, DRWCommandDrawInstanceRange::inst_first, DRWCommand::instance, DRWCommand::instance_range, NULL, DRWCommand::procedural, DRWCommand::range, DRWCommandSetStencil::ref, DRWCommandSetSelectID::select_buf, DRWCommandSetSelectID::select_id, DRWCommand::select_id, DRWShadingGroup::shader, DRWManager::shader, DRWCommand::state, state, DRWCommandClear::stencil, DRWCommand::stencil, DRWCommandDrawInstance::use_attrs, USE_BATCHING, DRWCommandDrawRange::vert_count, DRWCommandDrawProcedural::vert_count, DRWCommandDrawRange::vert_first, DRWManager::view_active, and DRWCommandSetStencil::write_mask.
Referenced by drw_draw_pass_ex().
|
static |
Definition at line 607 of file draw_manager_exec.c.
References DRWUniform::arraysize, BLI_assert, DRWUniform::block, DRWUniform::block_ref, DRW_sparse_uniform_buffer_bind(), DRW_uniform_attrs_pool_find_ubo(), DRW_UNIFORM_BASE_INSTANCE, DRW_UNIFORM_BLOCK, DRW_UNIFORM_BLOCK_OBATTRS, DRW_UNIFORM_BLOCK_OBINFOS, DRW_UNIFORM_BLOCK_OBMATS, DRW_UNIFORM_BLOCK_REF, DRW_UNIFORM_FLOAT, DRW_UNIFORM_FLOAT_COPY, DRW_UNIFORM_IMAGE, DRW_UNIFORM_IMAGE_REF, DRW_UNIFORM_INT, DRW_UNIFORM_INT_COPY, DRW_UNIFORM_MODEL_MATRIX, DRW_UNIFORM_MODEL_MATRIX_INVERSE, DRW_UNIFORM_RESOURCE_CHUNK, DRW_UNIFORM_RESOURCE_ID, DRW_UNIFORM_TEXTURE, DRW_UNIFORM_TEXTURE_REF, DRW_UNIFORM_TFEEDBACK_TARGET, DST, DRWUniform::fvalue, GPU_shader_transform_feedback_enable(), GPU_shader_uniform_int(), GPU_shader_uniform_vector(), GPU_shader_uniform_vector_int(), GPU_texture_bind_ex(), GPU_texture_image_bind(), GPU_uniformbuf_bind(), DRWUniform::ivalue, DRWUniform::length, DRWUniform::location, ViewportMemoryPool::matrices_ubo, DRWUniformChunk::next, ViewportMemoryPool::obattrs_ubo_pool, ViewportMemoryPool::obinfos_ubo, DRWUniform::pvalue, DRWUniform::sampler_state, DRWShadingGroup::shader, state, DRWUniform::texture, DRWUniform::texture_ref, DRWUniform::type, DRWUniform::uniform_attrs, DRWShadingGroup::uniforms, and DRWManager::vmempool.
Referenced by draw_shgroup().
Definition at line 442 of file draw_manager_exec.c.
References draw_culling_box_test(), DST, view, and DRWManager::view_default.
Referenced by eevee_lightprobes_culling_test(), and workbench_shadow_object_cast_visible_shadow().
Definition at line 476 of file draw_manager_exec.c.
References DST, view, and DRWManager::view_default.
Referenced by workbench_shadow_update().
Definition at line 482 of file draw_manager_exec.c.
References DST, view, and DRWManager::view_default.
Referenced by workbench_shadow_update().
| bool DRW_culling_min_max_test | ( | const DRWView * | view, |
| float | obmat[4][4], | ||
| float | min[3], | ||
| float | max[3] | ||
| ) |
Definition at line 458 of file draw_manager_exec.c.
References aabb_get_near_far_from_plane(), DST, max, min, mul_v4_m4v4(), plane_point_side_v3(), transpose_m4_m4(), view, and DRWManager::view_default.
Referenced by select_cache_populate().
Definition at line 450 of file draw_manager_exec.c.
References draw_culling_plane_test(), DST, view, and DRWManager::view_default.
| bool DRW_culling_sphere_test | ( | const DRWView * | view, |
| const BoundSphere * | bsphere | ||
| ) |
Definition at line 434 of file draw_manager_exec.c.
References draw_culling_sphere_test(), DST, view, and DRWManager::view_default.
Referenced by EEVEE_shadows_draw().
| void DRW_draw_pass | ( | DRWPass * | pass | ) |
Definition at line 1150 of file draw_manager_exec.c.
References drw_draw_pass_ex(), DRWPass::first, DRWPass::last, DRWPass::next, and DRWPass::shgroups.
Referenced by basic_draw_scene(), dof_dilate_tiles_pass_draw(), dof_recursive_reduce(), downsample_planar(), downsample_radiance_cb(), DRW_hair_update(), EEVEE_bloom_draw(), EEVEE_bloom_output_accumulate(), EEVEE_create_minmax_buffer(), EEVEE_cryptomatte_output_accumulate(), EEVEE_depth_of_field_draw(), eevee_draw_scene(), EEVEE_effects_downsample_radiance_buffer(), EEVEE_lightbake_filter_diffuse(), EEVEE_lightbake_filter_glossy(), EEVEE_lightbake_filter_visibility(), eevee_lightbake_render_world_sample(), EEVEE_lookdev_draw(), EEVEE_lut_update_ggx_brdf(), EEVEE_lut_update_ggx_btdf(), EEVEE_mist_output_accumulate(), EEVEE_motion_blur_draw(), EEVEE_occlusion_compute(), EEVEE_occlusion_draw_debug(), EEVEE_occlusion_output_accumulate(), EEVEE_reflection_compute(), EEVEE_reflection_output_accumulate(), EEVEE_render_draw(), eevee_render_draw_background(), EEVEE_renderpasses_postprocess(), EEVEE_shadow_output_accumulate(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), EEVEE_subsurface_compute(), EEVEE_subsurface_data_render(), EEVEE_subsurface_output_accumulate(), EEVEE_temporal_sampling_draw(), EEVEE_update_noise(), EEVEE_velocity_resolve(), EEVEE_volumes_compute(), EEVEE_volumes_output_accumulate(), EEVEE_volumes_resolve(), external_draw_scene(), GPENCIL_antialiasing_draw(), gpencil_draw_mask(), GPENCIL_draw_object(), GPENCIL_draw_scene_depth_only(), IMAGE_draw_scene(), lightbake_render_scene_face(), lightbake_render_scene_reflected(), lightbake_render_world_face(), material_renderpass_accumulate(), max_downsample_cb(), OVERLAY_antialiasing_end(), OVERLAY_armature_draw(), OVERLAY_armature_in_front_draw(), OVERLAY_background_draw(), OVERLAY_edit_curve_draw(), OVERLAY_edit_gpencil_draw(), OVERLAY_edit_lattice_draw(), OVERLAY_edit_mesh_draw(), overlay_edit_mesh_draw_components(), OVERLAY_edit_particle_draw(), OVERLAY_edit_text_draw(), OVERLAY_edit_uv_draw(), OVERLAY_extra_blend_draw(), OVERLAY_extra_centers_draw(), OVERLAY_extra_draw(), OVERLAY_extra_in_front_draw(), OVERLAY_facing_draw(), OVERLAY_facing_infront_draw(), OVERLAY_fade_draw(), OVERLAY_fade_infront_draw(), OVERLAY_gpencil_draw(), OVERLAY_grid_draw(), OVERLAY_image_background_draw(), OVERLAY_image_draw(), OVERLAY_image_in_front_draw(), OVERLAY_image_scene_background_draw(), OVERLAY_metaball_draw(), OVERLAY_metaball_in_front_draw(), OVERLAY_motion_path_draw(), OVERLAY_outline_draw(), OVERLAY_paint_draw(), OVERLAY_particle_draw(), OVERLAY_pose_draw(), OVERLAY_sculpt_draw(), OVERLAY_volume_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), OVERLAY_xray_fade_draw(), select_draw_scene(), simple_downsample_cube_cb(), workbench_antialiasing_draw_pass(), workbench_dof_downsample_level(), workbench_dof_draw_pass(), workbench_draw_sample(), workbench_transparent_draw_depth_pass(), and workbench_volume_draw_pass().
|
static |
Definition at line 1075 of file draw_manager_exec.c.
References DRWManager::batch, BLI_assert, DRWManager::buffer_finish_called, draw_shgroup(), DRW_STATE_BLEND_CUSTOM, DRW_STATE_DEFAULT, DRW_STATE_RASTERIZER_ENABLED, drw_state_set(), drw_state_validate(), DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_stats_query_end(), DRW_stats_query_start(), drw_update_view(), DST, DRWPass::first, GPU_DEVICE_ATI, GPU_DRIVER_OFFICIAL, GPU_front_facing(), GPU_OS_ANY, GPU_shader_unbind(), GPU_type_matches(), DRWView::is_dirty, DRWView::is_inverted, DRWPass::last, DRWPass::name, DRWShadingGroup::next, NULL, DRWPass::original, DRWManager::shader, DRWPass::shgroups, DRWPass::state, DRWManager::state, DRWManager::view_active, and DRWManager::view_previous.
Referenced by DRW_draw_pass(), and DRW_draw_pass_subset().
| void DRW_draw_pass_subset | ( | DRWPass * | pass, |
| DRWShadingGroup * | start_group, | ||
| DRWShadingGroup * | end_group | ||
| ) |
Definition at line 1158 of file draw_manager_exec.c.
References drw_draw_pass_ex().
Referenced by DRW_hair_update().
| void DRW_select_load_id | ( | uint | id | ) |
Definition at line 40 of file draw_manager_exec.c.
References BLI_assert, DST, G, G_FLAG_PICKSEL, id, and DRWManager::select_id.
Referenced by camera_view3d_reconstruction(), draw_bone_box(), draw_bone_custom_shape(), draw_bone_envelope(), draw_bone_line(), draw_bone_octahedral(), draw_bone_wire(), draw_points(), DRW_draw_select_loop(), and OVERLAY_edit_metaball_cache_populate().
| void DRW_state_lock | ( | DRWState | state | ) |
Use with care, intended so selection code can override passes depth settings, which is important for selection to work properly.
Should be set in main draw loop, cleared afterwards
Definition at line 300 of file draw_manager_exec.c.
References DRW_STATE_DEPTH_ALWAYS, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_GREATER, DRW_STATE_DEPTH_GREATER_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_DEPTH_TEST_ENABLED, DRW_STATE_WRITE_DEPTH, DST, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, GPU_depth_mask_get(), GPU_depth_test_get(), SET_FLAG_FROM_TEST, DRWManager::state, state, and DRWManager::state_lock.
Referenced by DRW_draw_select_loop().
| void DRW_state_reset | ( | void | ) |
Definition at line 337 of file draw_manager_exec.c.
References DRW_STATE_DEFAULT, DRW_state_reset_ex(), GPU_line_smooth(), GPU_line_width(), GPU_point_size(), GPU_texture_unbind_all(), and GPU_uniformbuf_unbind_all().
Referenced by DRW_draw_callbacks_post_scene(), DRW_draw_callbacks_pre_scene(), drw_draw_depth_loop_impl(), DRW_draw_render_loop_2d_ex(), DRW_draw_render_loop_ex(), DRW_draw_select_id(), DRW_draw_select_loop(), drw_engines_draw_scene(), DRW_render_gpencil(), and DRW_render_to_image().
| void DRW_state_reset_ex | ( | DRWState | state | ) |
Definition at line 276 of file draw_manager_exec.c.
References drw_state_set(), DST, DRWManager::state, and state.
Referenced by DRW_state_reset(), and external_draw_scene_do().
| void drw_state_set | ( | DRWState | state | ) |
Definition at line 81 of file draw_manager_exec.c.
References blend(), DRWView::clip_planes_len, DRW_STATE_BLEND_ADD, DRW_STATE_BLEND_ADD_FULL, DRW_STATE_BLEND_ALPHA, DRW_STATE_BLEND_ALPHA_PREMUL, DRW_STATE_BLEND_ALPHA_UNDER_PREMUL, DRW_STATE_BLEND_BACKGROUND, DRW_STATE_BLEND_CUSTOM, DRW_STATE_BLEND_ENABLED, DRW_STATE_BLEND_MUL, DRW_STATE_BLEND_OIT, DRW_STATE_BLEND_SUB, DRW_STATE_CLIP_PLANES, DRW_STATE_CULL_BACK, DRW_STATE_CULL_FRONT, 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_FIRST_VERTEX_CONVENTION, DRW_STATE_IN_FRONT_SELECT, DRW_STATE_LOGIC_INVERT, DRW_STATE_PROGRAM_POINT_SIZE, DRW_STATE_SHADOW_OFFSET, DRW_STATE_STENCIL_ALWAYS, DRW_STATE_STENCIL_EQUAL, DRW_STATE_STENCIL_NEQUAL, DRW_STATE_STENCIL_TEST_ENABLED, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_STATE_WRITE_STENCIL, DRW_STATE_WRITE_STENCIL_ENABLED, DRW_STATE_WRITE_STENCIL_SHADOW_FAIL, DRW_STATE_WRITE_STENCIL_SHADOW_PASS, DST, GPU_BLEND_ADDITIVE, GPU_BLEND_ADDITIVE_PREMULT, GPU_BLEND_ALPHA, GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_ALPHA_UNDER_PREMUL, GPU_BLEND_BACKGROUND, GPU_BLEND_CUSTOM, GPU_BLEND_INVERT, GPU_BLEND_MULTIPLY, GPU_BLEND_NONE, GPU_BLEND_OIT, GPU_BLEND_SUBTRACT, GPU_clip_distances(), GPU_CULL_BACK, GPU_CULL_FRONT, GPU_CULL_NONE, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, GPU_depth_range(), GPU_program_point_size(), GPU_provoking_vertex(), GPU_shadow_offset(), GPU_state_set(), GPU_STENCIL_ALWAYS, GPU_STENCIL_EQUAL, GPU_STENCIL_NEQUAL, GPU_STENCIL_NONE, GPU_STENCIL_OP_COUNT_DEPTH_FAIL, GPU_STENCIL_OP_COUNT_DEPTH_PASS, GPU_STENCIL_OP_NONE, GPU_STENCIL_OP_REPLACE, GPU_stencil_write_mask_set(), GPU_VERTEX_FIRST, GPU_VERTEX_LAST, GPU_WRITE_COLOR, GPU_WRITE_DEPTH, GPU_WRITE_STENCIL, DRWManager::state, state, DRWManager::state_lock, and DRWManager::view_active.
Referenced by draw_shgroup(), drw_draw_pass_ex(), DRW_state_reset_ex(), and DRW_transform_none().
|
static |
Definition at line 282 of file draw_manager_exec.c.
References BLI_assert, DRW_STATE_DEPTH_TEST_ENABLED, DRW_STATE_STENCIL_TEST_ENABLED, DRW_STATE_WRITE_DEPTH, DRW_STATE_WRITE_STENCIL_ENABLED, DST, and DRWManager::state.
Referenced by drw_draw_pass_ex().
Definition at line 263 of file draw_manager_exec.c.
References GPU_stencil_compare_mask_set(), GPU_stencil_reference_set(), and GPU_stencil_write_mask_set().
Referenced by draw_shgroup().
|
static |
Definition at line 1064 of file draw_manager_exec.c.
References draw_compute_culling(), DST, G_draw, GPU_uniformbuf_update(), DRWView::storage, DRWManager::view_active, DRWManager::view_storage_cpy, and DRW_Global::view_ubo.
Referenced by drw_draw_pass_ex().
| void DRW_view_set_active | ( | DRWView * | view | ) |
Definition at line 364 of file draw_manager_exec.c.
References DST, view, DRWManager::view_active, and DRWManager::view_default.
Referenced by eevee_draw_scene(), eevee_lightbake_cache_create(), EEVEE_lookdev_draw(), EEVEE_render_draw(), EEVEE_render_view_sync(), EEVEE_shadows_draw(), EEVEE_shadows_draw_cascades(), EEVEE_shadows_draw_cubemap(), EEVEE_temporal_sampling_update_matrices(), GPENCIL_render_init(), IMAGE_draw_scene(), OVERLAY_draw_scene(), OVERLAY_edit_mesh_draw(), overlay_edit_mesh_draw_components(), OVERLAY_edit_text_draw(), OVERLAY_image_draw(), OVERLAY_image_in_front_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), render_cubemap(), render_reflections(), select_draw_scene(), workbench_antialiasing_setup(), workbench_draw_finish(), and workbench_render_matrices_init().