|
Blender V4.3
|
#include <cstdlib>#include "GPU_debug.hh"#include "GPU_framebuffer.hh"#include "GPU_select.hh"#include "GPU_state.hh"#include "MEM_guardedalloc.h"#include "BLI_rect.h"#include "BLI_utildefines.h"#include "BLI_vector.hh"#include "gpu_backend.hh"#include "gpu_query.hh"#include "gpu_select_private.hh"Go to the source code of this file.
Classes | |
| struct | GPUSelectQueryState |
Functions | |
| void | gpu_select_query_begin (GPUSelectBuffer *buffer, const rcti *input, const eGPUSelectMode mode, int oldhits) |
| bool | gpu_select_query_load_id (uint id) |
| uint | gpu_select_query_end () |
Variables | |
| static GPUSelectQueryState | g_query_state = {false} |
Interface for accessing GPU-related methods for selection. The semantics will be similar to glRenderMode(GL_SELECT) since the goal is to maintain compatibility.
Definition in file gpu_select_sample_query.cc.
| void gpu_select_query_begin | ( | GPUSelectBuffer * | buffer, |
| const rcti * | input, | ||
| const eGPUSelectMode | mode, | ||
| int | oldhits ) |
Definition at line 57 of file gpu_select_sample_query.cc.
References BLI_rcti_size_x(), BLI_rcti_size_y(), GPUSelectQueryState::buffer, 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(), 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_ex().
| uint gpu_select_query_end | ( | ) |
Definition at line 138 of file gpu_select_sample_query.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), GPUSelectQueryState::buffer, 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(), GPUSelectBuffer::storage, UNPACK4, GPUSelectQueryState::viewport, and GPUSelectQueryState::write_mask.
Referenced by GPU_select_end().
| bool gpu_select_query_load_id | ( | uint | id | ) |
Definition at line 113 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, GPUSelectQueryState::ids, GPUSelectQueryState::index, GPUSelectQueryState::mode, GPUSelectQueryState::oldhits, GPUSelectQueryState::queries, GPUSelectQueryState::query_issued, and GPUSelectBuffer::storage.
Referenced by GPU_select_load_id().
|
static |
Definition at line 55 of file gpu_select_sample_query.cc.
Referenced by gpu_select_query_begin(), gpu_select_query_end(), and gpu_select_query_load_id().