Blender
V4.3
source
blender
draw
engines
image
image_private.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2020 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include <optional>
12
13
#include "
BKE_image.hh
"
14
15
#include "
image_instance_data.hh
"
16
#include "
image_texture_info.hh
"
17
18
/* Forward declarations */
19
extern
"C"
{
20
struct
Image
;
21
}
22
23
/* *********** LISTS *********** */
24
25
namespace
blender::draw::image_engine
{
26
27
struct
IMAGE_Data
{
28
void
*
engine_type
;
29
DRWViewportEmptyList
*
fbl
;
30
DRWViewportEmptyList
*
txl
;
31
DRWViewportEmptyList
*
psl
;
32
DRWViewportEmptyList
*
stl
;
33
IMAGE_InstanceData
*
instance_data
;
34
};
35
42
class
AbstractDrawingMode
{
43
public
:
44
virtual
~AbstractDrawingMode
() =
default
;
45
virtual
void
begin_sync
(
IMAGE_Data
*vedata)
const
= 0;
46
virtual
void
image_sync
(
IMAGE_Data
*vedata,
Image
*
image
,
ImageUser
*iuser)
const
= 0;
47
virtual
void
draw_viewport
(
IMAGE_Data
*vedata)
const
= 0;
48
virtual
void
draw_finish
(
IMAGE_Data
*vedata)
const
= 0;
49
};
50
51
/* `image_shader.cc` */
52
53
GPUShader
*
IMAGE_shader_image_get
();
54
GPUShader
*
IMAGE_shader_depth_get
();
55
void
IMAGE_shader_free
();
56
57
}
// namespace blender::draw::image_engine
BKE_image.hh
DRWViewportEmptyList
char DRWViewportEmptyList
Definition
DRW_render.hh:97
GPUShader
struct GPUShader GPUShader
Definition
blender/display_driver.h:21
blender::draw::Image
Definition
DRW_gpu_wrapper.hh:1168
blender::draw::image_engine::AbstractDrawingMode
Definition
image_private.hh:42
blender::draw::image_engine::AbstractDrawingMode::draw_viewport
virtual void draw_viewport(IMAGE_Data *vedata) const =0
blender::draw::image_engine::AbstractDrawingMode::~AbstractDrawingMode
virtual ~AbstractDrawingMode()=default
blender::draw::image_engine::AbstractDrawingMode::image_sync
virtual void image_sync(IMAGE_Data *vedata, Image *image, ImageUser *iuser) const =0
blender::draw::image_engine::AbstractDrawingMode::begin_sync
virtual void begin_sync(IMAGE_Data *vedata) const =0
blender::draw::image_engine::AbstractDrawingMode::draw_finish
virtual void draw_finish(IMAGE_Data *vedata) const =0
image
input_tx image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "preview_img") .compute_source("compositor_compute_preview.glsl") .do_static_compilation(true)
image_instance_data.hh
image_texture_info.hh
blender::draw::image_engine
Definition
image_batches.hh:13
blender::draw::image_engine::IMAGE_shader_image_get
GPUShader * IMAGE_shader_image_get()
Definition
image_shader.cc:29
blender::draw::image_engine::IMAGE_shader_free
void IMAGE_shader_free()
Definition
image_shader.cc:47
blender::draw::image_engine::IMAGE_shader_depth_get
GPUShader * IMAGE_shader_depth_get()
Definition
image_shader.cc:38
ImageUser
Definition
DNA_image_types.h:26
Image
Definition
DNA_image_types.h:142
blender::draw::image_engine::IMAGE_Data
Definition
image_private.hh:27
blender::draw::image_engine::IMAGE_Data::psl
DRWViewportEmptyList * psl
Definition
image_private.hh:31
blender::draw::image_engine::IMAGE_Data::fbl
DRWViewportEmptyList * fbl
Definition
image_private.hh:29
blender::draw::image_engine::IMAGE_Data::engine_type
void * engine_type
Definition
image_private.hh:28
blender::draw::image_engine::IMAGE_Data::instance_data
IMAGE_InstanceData * instance_data
Definition
image_private.hh:33
blender::draw::image_engine::IMAGE_Data::txl
DRWViewportEmptyList * txl
Definition
image_private.hh:30
blender::draw::image_engine::IMAGE_Data::stl
DRWViewportEmptyList * stl
Definition
image_private.hh:32
blender::draw::image_engine::IMAGE_InstanceData
Definition
image_instance_data.hh:25
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0