Blender V4.3
image_space.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
12
13struct ShaderParameters;
14
22 public:
23 virtual ~AbstractSpaceAccessor() = default;
24
32 virtual Image *get_image(Main *bmain) = 0;
33
39 virtual ImageUser *get_image_user() = 0;
40
49 virtual ImBuf *acquire_image_buffer(Image *image, void **lock) = 0;
50
54 virtual void release_buffer(Image *image, ImBuf *image_buffer, void *lock) = 0;
55
62 virtual void get_shader_parameters(ShaderParameters &r_shader_parameters,
63 ImBuf *image_buffer) = 0;
64
66 virtual bool use_tile_drawing() const = 0;
67
72 virtual void init_ss_to_texture_matrix(const ARegion *region,
73 const float image_offset[2],
74 const float image_resolution[2],
75 float r_uv_to_texture[4][4]) const = 0;
76};
77
78} // namespace blender::draw::image_engine
volatile int lock
virtual bool use_tile_drawing() const =0
Is (wrap) repeat option enabled in the space.
virtual void get_shader_parameters(ShaderParameters &r_shader_parameters, ImBuf *image_buffer)=0
virtual void init_ss_to_texture_matrix(const ARegion *region, const float image_offset[2], const float image_resolution[2], float r_uv_to_texture[4][4]) const =0
Initialize r_uv_to_texture matrix to transform from normalized screen space coordinates (0....
virtual void release_buffer(Image *image, ImBuf *image_buffer, void *lock)=0
virtual ImBuf * acquire_image_buffer(Image *image, void **lock)=0