Blender
V3.3
|
Go to the source code of this file.
Macros | |
#define | SELECT_ID_NONE ((uint)0xffffffff) |
Functions | |
void | gpu_select_pick_begin (GPUSelectResult *buffer, uint buffer_len, const rcti *input, eGPUSelectMode mode) |
bool | gpu_select_pick_load_id (uint id, bool end) |
uint | gpu_select_pick_end (void) |
void | gpu_select_pick_cache_begin (void) |
void | gpu_select_pick_cache_end (void) |
bool | gpu_select_pick_is_cached (void) |
void | gpu_select_pick_cache_load_id (void) |
void | gpu_select_query_begin (GPUSelectResult *buffer, uint buffer_len, const rcti *input, eGPUSelectMode mode, int oldhits) |
bool | gpu_select_query_load_id (uint id) |
uint | gpu_select_query_end (void) |
Selection implementations.
Definition in file gpu_select_private.h.
Definition at line 40 of file gpu_select_private.h.
void gpu_select_pick_begin | ( | GPUSelectResult * | buffer, |
uint | buffer_len, | ||
const rcti * | input, | ||
eGPUSelectMode | mode | ||
) |
Definition at line 295 of file gpu_select_pick.c.
References GPUPickState::all, ALLOC_DEPTHS, BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), DepthBufCache::buf, buffer, GPUPickState::buffer, GPUPickState::buffer_len, GPUPickState::cache, GPUPickState::clip_readpixels, GPUPickState::clip_rect, depth_buf_malloc(), DEPTH_MAX, GPUPickState::depth_test, GPUPickState::dst, g_pick_state, GPUPickState::gpu, GPU_clear_depth(), GPU_color_mask(), GPU_debug_group_begin(), GPU_DEPTH_LESS_EQUAL, GPU_depth_mask(), GPU_depth_test(), GPU_depth_test_get(), GPU_scissor_get(), GPU_SELECT_PICK_ALL, GPU_viewport(), GPU_viewport_size_get_f(), GPU_write_mask_get(), input, GPUPickState::is_cached, GPUPickState::is_init, MEM_mallocN, GPUPickState::mode, GPUPickState::nearest, NULL, GPUPickState::prev_id, GPUPickState::rect_depth, GPUPickState::rect_depth_test, GPUPickState::rect_len, rect_subregion_stride_calc(), GPUPickState::scissor, GPUPickState::src, GPUPickState::sub_rect, UNPACK4, GPUPickState::use_cache, and GPUPickState::write_mask.
Referenced by GPU_select_begin().
Definition at line 705 of file gpu_select_pick.c.
References BLI_assert, g_pick_state, GPUPickState::is_cached, and GPUPickState::use_cache.
Referenced by GPU_select_begin().
Definition at line 715 of file gpu_select_pick.c.
References BLI_freelistN(), BLI_listbase_count(), GPUPickState::bufs, GPUPickState::cache, g_pick_state, GPUPickState::is_cached, and GPUPickState::use_cache.
Referenced by GPU_select_cache_end().
Definition at line 731 of file gpu_select_pick.c.
References BLI_assert, GPUPickState::bufs, GPUPickState::cache, depth_buf_subrect_depth_any(), depth_buf_subrect_depth_any_filled(), g_pick_state, gpu_select_load_id_pass_all(), gpu_select_load_id_pass_nearest(), GPU_SELECT_PICK_ALL, GPUPickState::is_cached, LISTBASE_FOREACH, GPUPickState::mode, NULL, and GPUPickState::sub_rect.
Referenced by GPU_select_cache_load_id().
Definition at line 538 of file gpu_select_pick.c.
References GPUPickState::all, BLI_addtail(), BLI_assert, GPUPickState::buffer, GPUPickState::buffer_len, GPUPickState::bufs, GPUPickState::cache, GPUSelectResult::depth, DepthID::depth, depth_cmp(), depth_id_cmp(), GPUPickState::depth_test, GPUPickState::dst, EVAL_TEST, g_pick_state, GPUPickState::gpu, GPU_debug_group_end(), GPU_depth_test(), GPU_SELECT_PICK_ALL, gpu_select_pick_load_id(), GPU_viewport(), GPU_write_mask(), GPUSelectResult::id, DepthID::id, GPUPickState::is_cached, GPUPickState::is_init, ListBase::last, MEM_freeN, MEM_mallocN, MEM_SAFE_FREE, GPUPickState::mode, GPUPickState::nearest, NULL, GPUPickState::prev_id, GPUPickState::rect_depth, GPUPickState::rect_depth_test, GPUPickState::rect_len, SubRectStride::skip, SubRectStride::span, SubRectStride::span_len, GPUPickState::src, SubRectStride::start, GPUPickState::sub_rect, UNPACK4, GPUPickState::use_cache, GPUPickState::viewport, and GPUPickState::write_mask.
Referenced by GPU_select_end().
Definition at line 726 of file gpu_select_pick.c.
References g_pick_state, and GPUPickState::is_cached.
Referenced by GPU_select_is_cached().
Definition at line 478 of file gpu_select_pick.c.
References BLI_addtail(), DepthBufCache::buf, GPUPickState::bufs, GPUPickState::cache, GPUPickState::clip_readpixels, depth_buf_malloc(), depth_buf_rect_depth_any(), depth_buf_rect_depth_any_filled(), fb(), g_pick_state, GPUPickState::gpu, GPU_clear_depth(), GPU_DATA_UINT, GPU_depth_mask(), GPU_depth_mask_get(), GPU_framebuffer_active_get(), GPU_framebuffer_read_depth(), gpu_select_load_id_pass_all(), gpu_select_load_id_pass_nearest(), GPU_SELECT_PICK_ALL, id, DepthBufCache::id, GPUPickState::is_init, GPUPickState::mode, GPUPickState::prev_id, GPUPickState::rect_depth, GPUPickState::rect_depth_test, GPUPickState::rect_len, GPUPickState::src, SWAP, UNPACK4, and GPUPickState::use_cache.
Referenced by GPU_select_load_id(), and gpu_select_pick_end().
void gpu_select_query_begin | ( | GPUSelectResult * | buffer, |
uint | buffer_len, | ||
const rcti * | input, | ||
eGPUSelectMode | mode, | ||
int | oldhits | ||
) |
Definition at line 58 of file gpu_select_sample_query.cc.
References BLI_rcti_size_x(), BLI_rcti_size_y(), buffer, GPUSelectQueryState::buffer, GPUSelectQueryState::buffer_len, GPUSelectQueryState::depth_test, g_query_state, blender::gpu::GPUBackend::get(), GPU_clear_depth(), GPU_color_mask(), GPU_debug_group_begin(), GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_LESS_EQUAL, GPU_depth_mask(), GPU_depth_test(), GPU_depth_test_get(), blender::gpu::GPU_QUERY_OCCLUSION, GPU_scissor(), GPU_scissor_get(), GPU_scissor_test(), GPU_SELECT_ALL, GPU_SELECT_NEAREST_FIRST_PASS, GPU_SELECT_NEAREST_SECOND_PASS, GPU_viewport(), GPU_viewport_size_get_i(), GPU_write_mask_get(), GPUSelectQueryState::ids, GPUSelectQueryState::index, blender::gpu::QueryPool::init(), input, GPUSelectQueryState::mode, GPUSelectQueryState::oldhits, GPUSelectQueryState::queries, GPUSelectQueryState::query_issued, blender::gpu::GPUBackend::querypool_alloc(), GPUSelectQueryState::scissor, UNPACK2, UNPACK4, GPUSelectQueryState::viewport, and GPUSelectQueryState::write_mask.
Referenced by GPU_select_begin().
Definition at line 141 of file gpu_select_sample_query.cc.
References GPUSelectQueryState::buffer, GPUSelectQueryState::buffer_len, GPUSelectResult::depth, GPUSelectQueryState::depth_test, blender::gpu::QueryPool::end_query(), g_query_state, blender::gpu::QueryPool::get_occlusion_result(), GPU_debug_group_end(), GPU_depth_test(), GPU_SELECT_NEAREST_SECOND_PASS, GPU_viewport(), GPU_write_mask(), GPUSelectResult::id, GPUSelectQueryState::ids, GPUSelectQueryState::mode, GPUSelectQueryState::oldhits, GPUSelectQueryState::queries, GPUSelectQueryState::query_issued, result, blender::Span< T >::size(), UNPACK4, GPUSelectQueryState::viewport, and GPUSelectQueryState::write_mask.
Referenced by GPU_select_end().
Definition at line 116 of file gpu_select_sample_query.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::gpu::QueryPool::begin_query(), BLI_assert, GPUSelectQueryState::buffer, blender::gpu::QueryPool::end_query(), g_query_state, GPU_SELECT_NEAREST_SECOND_PASS, GPUSelectResult::id, GPUSelectQueryState::ids, GPUSelectQueryState::index, GPUSelectQueryState::mode, GPUSelectQueryState::oldhits, GPUSelectQueryState::queries, and GPUSelectQueryState::query_issued.
Referenced by GPU_select_load_id().