Blender V4.3
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
20namespace blender::gpu {
21
22class Immediate {
23 public:
25 uchar *vertex_data = nullptr;
34
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:
56 virtual ~Immediate(){};
57
58 virtual uchar *begin() = 0;
59 virtual void end() = 0;
60};
61
62} // namespace blender::gpu
63
64void immActivate();
65void immDeactivate();
unsigned char uchar
unsigned int uint
GPUPrimType
@ GPU_PRIM_NONE
struct GPUShader GPUShader
std::optional< eGPUBuiltinShader > builtin_shader_bound
virtual uchar * begin()=0
virtual void end()=0
std::optional< eGPUBuiltinShader > prev_builtin_shader
void immDeactivate()
void immActivate()
unsigned short uint16_t
Definition stdint.h:79