Blender
V4.3
source
blender
gpu
intern
gpu_immediate_private.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2016 by Mike Erwin. All rights reserved.
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
11
#pragma once
12
13
#include <optional>
14
15
#include "
GPU_batch.hh
"
16
#include "
GPU_primitive.hh
"
17
#include "
GPU_shader.hh
"
18
#include "
GPU_vertex_format.hh
"
19
20
namespace
blender::gpu
{
21
22
class
Immediate
{
23
public
:
25
uchar
*
vertex_data
=
nullptr
;
27
uint
vertex_idx
= 0;
29
uint
vertex_len
= 0;
31
uint16_t
unassigned_attr_bits
= 0;
33
uint16_t
enabled_attr_bits
= 0;
34
36
GPUPrimType
prim_type
=
GPU_PRIM_NONE
;
37
GPUVertFormat
vertex_format
= {};
38
GPUShader
*shader =
nullptr
;
40
bool
strict_vertex_len
=
true
;
41
43
Batch *
batch
=
nullptr
;
44
48
std::optional<eGPUBuiltinShader>
prev_builtin_shader
;
50
std::optional<eGPUBuiltinShader>
builtin_shader_bound
;
52
float
uniform_color
[4];
53
54
public
:
55
Immediate
(){};
56
virtual
~Immediate
(){};
57
58
virtual
uchar
*
begin
() = 0;
59
virtual
void
end
() = 0;
60
};
61
62
}
// namespace blender::gpu
63
64
void
immActivate
();
65
void
immDeactivate
();
uchar
unsigned char uchar
Definition
BLI_sys_types.h:71
uint
unsigned int uint
Definition
BLI_sys_types.h:68
GPU_batch.hh
GPU_primitive.hh
GPUPrimType
GPUPrimType
Definition
GPU_primitive.hh:16
GPU_PRIM_NONE
@ GPU_PRIM_NONE
Definition
GPU_primitive.hh:31
GPU_shader.hh
GPU_vertex_format.hh
GPUShader
struct GPUShader GPUShader
Definition
blender/display_driver.h:21
blender::gpu::Immediate
Definition
gpu_immediate_private.hh:22
blender::gpu::Immediate::Immediate
Immediate()
Definition
gpu_immediate_private.hh:55
blender::gpu::Immediate::uniform_color
float uniform_color[4]
Definition
gpu_immediate_private.hh:52
blender::gpu::Immediate::vertex_format
GPUVertFormat vertex_format
Definition
gpu_immediate_private.hh:37
blender::gpu::Immediate::~Immediate
virtual ~Immediate()
Definition
gpu_immediate_private.hh:56
blender::gpu::Immediate::vertex_data
uchar * vertex_data
Definition
gpu_immediate_private.hh:25
blender::gpu::Immediate::builtin_shader_bound
std::optional< eGPUBuiltinShader > builtin_shader_bound
Definition
gpu_immediate_private.hh:50
blender::gpu::Immediate::vertex_idx
uint vertex_idx
Definition
gpu_immediate_private.hh:27
blender::gpu::Immediate::begin
virtual uchar * begin()=0
blender::gpu::Immediate::vertex_len
uint vertex_len
Definition
gpu_immediate_private.hh:29
blender::gpu::Immediate::batch
Batch * batch
Definition
gpu_immediate_private.hh:43
blender::gpu::Immediate::end
virtual void end()=0
blender::gpu::Immediate::strict_vertex_len
bool strict_vertex_len
Definition
gpu_immediate_private.hh:40
blender::gpu::Immediate::unassigned_attr_bits
uint16_t unassigned_attr_bits
Definition
gpu_immediate_private.hh:31
blender::gpu::Immediate::prim_type
GPUPrimType prim_type
Definition
gpu_immediate_private.hh:36
blender::gpu::Immediate::enabled_attr_bits
uint16_t enabled_attr_bits
Definition
gpu_immediate_private.hh:33
blender::gpu::Immediate::prev_builtin_shader
std::optional< eGPUBuiltinShader > prev_builtin_shader
Definition
gpu_immediate_private.hh:48
immDeactivate
void immDeactivate()
Definition
gpu_immediate.cc:33
immActivate
void immActivate()
Definition
gpu_immediate.cc:28
blender::gpu
Definition
blf_internal_types.hh:23
uint16_t
unsigned short uint16_t
Definition
stdint.h:79
GPUVertFormat
Definition
GPU_vertex_format.hh:73
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0