Blender
V3.3
|
#include <cstdlib>
#include "GPU_debug.h"
#include "GPU_framebuffer.h"
#include "GPU_select.h"
#include "GPU_state.h"
#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.h"
Go to the source code of this file.
Classes | |
struct | GPUSelectQueryState |
Functions | |
void | gpu_select_query_begin (GPUSelectResult *buffer, uint buffer_len, 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 | ( | GPUSelectResult * | buffer, |
uint | buffer_len, | ||
const rcti * | input, | ||
const 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().
|
static |
Definition at line 56 of file gpu_select_sample_query.cc.
Referenced by gpu_select_query_begin(), gpu_select_query_end(), and gpu_select_query_load_id().