|
Blender V4.3
|
#include "draw_manager_c.hh"#include "BLI_alloca.h"#include "BLI_math_bits.h"#include "BLI_memblock.h"#include "BKE_global.hh"#include "GPU_compute.hh"#include "GPU_platform.hh"#include "GPU_shader.hh"#include "GPU_state.hh"#include "GPU_select.hh"Go to the source code of this file.
Classes | |
| struct | DRWCommandsState |
| struct | DRWCommandIterator |
Macros | |
| #define | DEBUG_UBO_BINDING |
| #define | MAX_UNIFORM_STACK_SIZE 64 |
| #define DEBUG_UBO_BINDING |
Definition at line 34 of file draw_manager_exec.cc.
| #define MAX_UNIFORM_STACK_SIZE 64 |
|
static |
Definition at line 926 of file draw_manager_exec.cc.
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, and state.
Referenced by draw_shgroup().
|
static |
Definition at line 962 of file draw_manager_exec.cc.
References draw_call_batching_flush(), DRW_sparse_uniform_buffer_unbind(), DST, GPU_front_facing(), GPU_uniformbuf_unbind(), DRWView::is_inverted, DRWData::matrices_ubo, DRWData::obinfos_ubo, state, DRWManager::view_active, DRWData::vlattrs_ubo, and DRWManager::vmempool.
Referenced by draw_shgroup().
|
static |
Definition at line 846 of file draw_manager_exec.cc.
References draw_indirect_call(), DRWManager::draw_list, DST, GPU_draw_list_submit(), and state.
Referenced by draw_call_batching_do(), draw_call_batching_finish(), draw_call_indirect(), draw_call_single_do(), and draw_shgroup().
|
static |
Definition at line 912 of file draw_manager_exec.cc.
References state.
Referenced by draw_shgroup().
|
static |
Definition at line 895 of file draw_manager_exec.cc.
References batch, draw_call_batching_flush(), draw_call_resource_bind(), G, G_FLAG_PICKSEL, GPU_batch_draw_indirect(), GPU_batch_set_shader(), GPU_select_load_id(), DRWShadingGroup::shader, and state.
Referenced by draw_shgroup().
|
static |
Definition at line 339 of file draw_manager_exec.cc.
References DRWData::cullstates, DRW_memblock_elem_from_handle(), DST, DRWCullingState::mask, and DRWManager::vmempool.
Referenced by draw_shgroup().
|
static |
Definition at line 808 of file draw_manager_exec.cc.
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_ex(), GPU_uniformbuf_bind(), GPU_uniformbuf_unbind(), DRWView::is_inverted, DRWData::matrices_ubo, DRWData::obinfos_ubo, DRWManager::shader, state, DRWManager::view_active, and DRWManager::vmempool.
Referenced by draw_call_batching_do(), draw_call_indirect(), and draw_call_single_do().
|
static |
Definition at line 856 of file draw_manager_exec.cc.
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(), and state.
Referenced by draw_shgroup().
|
static |
Definition at line 785 of file draw_manager_exec.cc.
References DRWShadingGroup::cmd, DRWCommandIterator::cmd_index, DRWCommandIterator::curr_chunk, and DRWShadingGroup::first.
Referenced by draw_shgroup().
|
static |
Definition at line 791 of file draw_manager_exec.cc.
References DRWCommandIterator::cmd_index, DRWCommandChunk::command_len, DRWCommandChunk::command_type, command_type_get(), DRWCommandChunk::command_used, DRWCommandChunk::commands, DRWCommandIterator::curr_chunk, and DRWCommandChunk::next.
Referenced by draw_shgroup().
|
static |
Definition at line 467 of file draw_manager_exec.cc.
References BLI_memblock_iternew(), BLI_memblock_iterstep(), DRWCullingState::bsphere, BoundSphere::center, DRWData::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 386 of file draw_manager_exec.cc.
References plane_point_side_v3(), v, and BoundBox::vec.
Referenced by DRW_culling_box_test().
Definition at line 407 of file draw_manager_exec.cc.
References plane_point_side_v3().
Referenced by DRW_culling_plane_test().
|
static |
Definition at line 357 of file draw_manager_exec.cc.
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, |
| blender::gpu::Batch * | geom ) |
Definition at line 534 of file draw_manager_exec.cc.
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, |
| blender::gpu::Batch * | geom, | ||
| int | vert_first, | ||
| int | vert_count, | ||
| int | inst_first, | ||
| int | inst_count, | ||
| int | baseinst_loc ) |
Definition at line 541 of file draw_manager_exec.cc.
References DRWManager::batch, draw_geometry_bind(), DST, GPU_batch_draw_advanced(), GPU_shader_uniform_int_ex(), 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 567 of file draw_manager_exec.cc.
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 518 of file draw_manager_exec.cc.
References DRW_memblock_elem_from_handle(), DST, GPU_shader_uniform_float_ex(), DRWObjectMatrix::model, DRWObjectMatrix::modelinverse, DRWData::obmats, DRWShadingGroup::shader, and DRWManager::vmempool.
Referenced by draw_call_single_do().
| BLI_INLINE void draw_select_buffer | ( | DRWShadingGroup * | shgroup, |
| DRWCommandsState * | state, | ||
| blender::gpu::Batch * | batch, | ||
| const DRWResourceHandle * | handle ) |
Definition at line 743 of file draw_manager_exec.cc.
References batch, count, data, draw_geometry_execute(), DRW_handle_id_get(), GPU_PRIM_LINES, GPU_PRIM_TRIS, GPU_select_load_id(), GPU_vertbuf_get_vertex_len(), and state.
Referenced by draw_call_single_do().
|
static |
Definition at line 984 of file draw_manager_exec.cc.
References DRWCommand::barrier, DRWCommandDraw::batch, DRWCommandDrawIndirect::batch, DRWCommandDrawInstance::batch, DRWCommandDrawInstanceRange::batch, DRWCommandDrawProcedural::batch, DRWCommandDrawRange::batch, DRWManager::batch, BLI_assert, DRWCommand::clear, DRWCommandClear::clear_channels, DRWCommandSetStencil::comp_mask, DRWCommand::compute, DRWCommand::compute_indirect, DRWCommand::compute_ref, DRWCommandClear::depth, DRWCommandSetMutableState::disable, DRWCommand::draw, draw_call_batching_do(), draw_call_batching_finish(), draw_call_batching_flush(), draw_call_batching_start(), draw_call_indirect(), draw_call_is_culled(), draw_call_single_do(), draw_command_iter_begin(), draw_command_iter_step(), DRWCommand::draw_indirect, draw_update_uniforms(), DRW_CMD_BARRIER, DRW_CMD_CLEAR, DRW_CMD_COMPUTE, DRW_CMD_COMPUTE_INDIRECT, DRW_CMD_COMPUTE_REF, DRW_CMD_DRAW, DRW_CMD_DRAW_INDIRECT, 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_compute_dispatch(), GPU_compute_dispatch_indirect(), GPU_framebuffer_active_get(), GPU_framebuffer_clear(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_transform_feedback_disable(), GPU_shader_unbind(), GPU_storagebuf_debug_unbind_all(), GPU_texture_image_unbind_all(), GPU_texture_unbind_all(), GPU_uniformbuf_debug_unbind_all(), DRWCommandComputeRef::groups_ref, DRWCommandCompute::groups_x_len, DRWCommandCompute::groups_y_len, DRWCommandCompute::groups_z_len, DRWCommandDraw::handle, DRWCommandDrawIndirect::handle, DRWCommandDrawInstance::handle, DRWCommandDrawInstanceRange::handle, DRWCommandDrawProcedural::handle, DRWCommandDrawRange::handle, DRWCommandComputeIndirect::indirect_buf, DRWCommandDrawIndirect::indirect_buf, DRWCommandDrawInstance::inst_count, DRWCommandDrawInstanceRange::inst_count, DRWCommandDrawInstanceRange::inst_first, DRWCommand::instance, DRWCommand::instance_range, DRWCommandsState::obmats_loc, DRWCommand::procedural, DRWCommand::range, DRWCommandSetStencil::ref, DRWCommandSetSelectID::select_buf, DRWCommand::select_id, DRWCommandSetSelectID::select_id, DRWManager::shader, DRWShadingGroup::shader, DRWCommand::state, state, DRWCommand::stencil, DRWCommandClear::stencil, DRWCommandBarrier::type, DRWCommandDrawInstance::use_attrs, USE_BATCHING, DRWCommandDrawProcedural::vert_count, DRWCommandDrawRange::vert_count, DRWCommandDrawRange::vert_first, DRWManager::view_active, and DRWCommandSetStencil::write_mask.
Referenced by drw_draw_pass_ex().
|
static |
Definition at line 587 of file draw_manager_exec.cc.
References DRWUniform::arraysize, BLI_assert, DRWUniform::block, DRWUniform::block_ref, drw_ensure_layer_attribute_buffer(), 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_BLOCK_VLATTRS, 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_STORAGE_BLOCK, DRW_UNIFORM_STORAGE_BLOCK_REF, DRW_UNIFORM_TEXTURE, DRW_UNIFORM_TEXTURE_REF, DRW_UNIFORM_TFEEDBACK_TARGET, DRW_UNIFORM_VERTEX_BUFFER_AS_STORAGE, DRW_UNIFORM_VERTEX_BUFFER_AS_STORAGE_REF, DRW_UNIFORM_VERTEX_BUFFER_AS_TEXTURE, DRW_UNIFORM_VERTEX_BUFFER_AS_TEXTURE_REF, DST, DRWUniform::fvalue, GPU_shader_transform_feedback_enable(), GPU_shader_uniform_float_ex(), GPU_shader_uniform_int_ex(), GPU_storagebuf_bind(), GPU_texture_bind_ex(), GPU_texture_image_bind(), GPU_uniformbuf_bind(), GPU_vertbuf_bind_as_ssbo(), GPU_vertbuf_bind_as_texture(), DRWUniform::ivalue, DRWUniform::length, DRWUniform::location, DRWData::matrices_ubo, DRWData::obattrs_ubo_pool, DRWData::obinfos_ubo, DRWUniform::pvalue, DRWUniform::sampler_state, DRWShadingGroup::shader, DRWUniform::ssbo, DRWUniform::ssbo_ref, state, DRWUniform::texture, DRWUniform::texture_ref, DRWUniform::type, DRWUniform::uniform_attrs, DRWShadingGroup::uniforms, UNUSED_VARS_NDEBUG, DRWUniform::vertbuf, DRWUniform::vertbuf_ref, and DRWManager::vmempool.
Referenced by draw_shgroup().
Definition at line 425 of file draw_manager_exec.cc.
References draw_culling_box_test(), DST, view, and DRWManager::view_default.
Definition at line 455 of file draw_manager_exec.cc.
References DST, DRWView::frustum_corners, view, and DRWManager::view_default.
Definition at line 461 of file draw_manager_exec.cc.
References DST, view, and DRWManager::view_default.
Referenced by blender::workbench::ShadowPass::init().
| 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 bounding-box per objects is implemented.
Definition at line 437 of file draw_manager_exec.cc.
References aabb_get_near_far_from_plane(), DST, min, mul_v4_m4v4(), plane_point_side_v3(), transpose_m4_m4(), view, and DRWManager::view_default.
Definition at line 431 of file draw_manager_exec.cc.
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 419 of file draw_manager_exec.cc.
References draw_culling_sphere_test(), DST, view, and DRWManager::view_default.
Referenced by ArmatureBoneDrawStrategyBBone::culling_test(), ArmatureBoneDrawStrategyEnvelope::culling_test(), pchan_culling_test_simple(), and pchan_culling_test_with_radius_scale().
| void DRW_draw_pass | ( | DRWPass * | pass | ) |
Definition at line 1254 of file draw_manager_exec.cc.
References drw_draw_pass_ex().
Referenced by basic_draw_scene(), blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_viewport(), blender::draw::DRW_curves_update(), DRW_hair_update(), external_draw_scene(), GPENCIL_antialiasing_draw(), gpencil_draw_mask(), GPENCIL_draw_object(), GPENCIL_draw_scene_depth_only(), 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_legacy_draw(), OVERLAY_edit_grease_pencil_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_legacy_draw(), OVERLAY_grease_pencil_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_curves_draw_wires(), OVERLAY_sculpt_draw(), OVERLAY_viewer_attribute_draw(), OVERLAY_volume_draw(), OVERLAY_wireframe_draw(), OVERLAY_wireframe_in_front_draw(), OVERLAY_xray_fade_draw(), select_debug_draw_scene(), and select_draw_scene().
|
static |
Definition at line 1178 of file draw_manager_exec.cc.
References DRWManager::batch, BLI_assert_msg, 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, DRWShadingGroup::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, DRWShadingGroup::last, DRWShadingGroup::next, DRWManager::shader, 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 ) |
Draw only a subset of shgroups. Used in special situations as grease pencil strokes.
Definition at line 1261 of file draw_manager_exec.cc.
References drw_draw_pass_ex().
| void DRW_select_load_id | ( | uint | id | ) |
Definition at line 26 of file draw_manager_exec.cc.
References BLI_assert, DST, G, G_FLAG_PICKSEL, and DRWManager::select_id.
Referenced by basic_cache_populate(), basic_cache_populate_particles(), camera_view3d_reconstruction(), ArmatureBoneDrawStrategyBBone::draw_bone(), ArmatureBoneDrawStrategyCustomShape::draw_bone(), ArmatureBoneDrawStrategyEnvelope::draw_bone(), ArmatureBoneDrawStrategyLine::draw_bone(), ArmatureBoneDrawStrategyOcta::draw_bone(), ArmatureBoneDrawStrategyWire::draw_bone(), 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 280 of file draw_manager_exec.cc.
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 | ( | ) |
Definition at line 317 of file draw_manager_exec.cc.
References DRW_STATE_DEFAULT, DRW_state_reset_ex(), GPU_line_smooth(), GPU_line_width(), GPU_point_size(), GPU_storagebuf_debug_unbind_all(), GPU_texture_image_unbind_all(), GPU_texture_unbind_all(), and GPU_uniformbuf_debug_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().
| void DRW_state_reset_ex | ( | DRWState | state | ) |
Reset state to not interfere with other UI draw-call.
Definition at line 262 of file draw_manager_exec.cc.
References drw_state_set(), DST, DRWManager::state, and state.
Referenced by DRW_state_reset(), external_draw_scene_do_image(), and external_draw_scene_do_v3d().
| void drw_state_set | ( | DRWState | state | ) |
Definition at line 68 of file draw_manager_exec.cc.
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 268 of file draw_manager_exec.cc.
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 250 of file draw_manager_exec.cc.
References GPU_stencil_compare_mask_set(), GPU_stencil_reference_set(), and GPU_stencil_write_mask_set().
Referenced by draw_shgroup().
|
static |
Definition at line 1169 of file draw_manager_exec.cc.
References DRWView::clip_planes, DRW_Global::clipping_ubo, draw_compute_culling(), DST, G_draw, GPU_uniformbuf_update(), DRWView::storage, DRWManager::view_active, and DRW_Global::view_ubo.
Referenced by drw_draw_pass_ex().
| const DRWView * DRW_view_get_active | ( | ) |
Definition at line 351 of file draw_manager_exec.cc.
References DST, and DRWManager::view_active.
Referenced by blender::draw::DRW_curves_update(), and external_image_space_matrix_set().
| void DRW_view_set_active | ( | const DRWView * | view | ) |
Set active view for rendering.
Definition at line 346 of file draw_manager_exec.cc.
References DST, view, DRWManager::view_active, and DRWManager::view_default.
Referenced by blender::draw::image_engine::ScreenSpaceDrawingMode< TextureMethod >::draw_viewport(), blender::draw::DRW_curves_update(), eevee_draw_scene(), 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(), select_draw_scene(), and workbench_render_to_image().