Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gpu_select_private.h « intern « gpu « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 1b9a69f0e071e26e21ea98cac84b41040c73daf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* SPDX-License-Identifier: GPL-2.0-or-later
 * Copyright 2014 Blender Foundation. All rights reserved. */

/** \file
 * \ingroup gpu
 *
 * Selection implementations.
 */

#pragma once

#ifdef __cplusplus
extern "C" {
#endif

/* gpu_select_pick */

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);
/**
 * \return true if drawing is not needed.
 */
bool gpu_select_pick_is_cached(void);
void gpu_select_pick_cache_load_id(void);

/* gpu_select_sample_query */

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);

#define SELECT_ID_NONE ((uint)0xffffffff)

#ifdef __cplusplus
}
#endif