Blender
V3.3
|
#include <image_space.hh>
Public Member Functions | |
virtual | ~AbstractSpaceAccessor ()=default |
virtual Image * | get_image (Main *bmain)=0 |
virtual ImageUser * | get_image_user ()=0 |
virtual ImBuf * | acquire_image_buffer (Image *image, void **lock)=0 |
virtual void | release_buffer (Image *image, ImBuf *image_buffer, void *lock)=0 |
virtual void | get_shader_parameters (ShaderParameters &r_shader_parameters, ImBuf *image_buffer)=0 |
virtual void | get_gpu_textures (Image *image, ImageUser *iuser, ImBuf *image_buffer, GPUTexture **r_gpu_texture, bool *r_owns_texture, GPUTexture **r_tex_tile_data)=0 |
virtual bool | use_tile_drawing () const =0 |
Is (wrap) repeat option enabled in the space. More... | |
virtual void | init_ss_to_texture_matrix (const ARegion *region, 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..1) to texture space UV coordinates. More... | |
Space accessor.
Image engine is used to draw the images inside multiple spaces
Definition at line 18 of file image_space.hh.
|
virtualdefault |
|
pure virtual |
Acquire the image buffer of the image.
image | Image to get the buffer from. Image is the same as returned from the get_image member. |
lock | pointer to a lock object. |
Implemented in blender::draw::image_engine::SpaceNodeAccessor.
|
pure virtual |
Retrieve the gpu textures to draw.
Implemented in blender::draw::image_engine::SpaceImageAccessor, and blender::draw::image_engine::SpaceNodeAccessor.
Return the active image of the space.
The returned image will be drawn in the space.
The return value is optional.
Implemented in blender::draw::image_engine::SpaceNodeAccessor.
|
pure virtual |
Return the ImageUser of the space.
The return value is optional.
Implemented in blender::draw::image_engine::SpaceNodeAccessor, and blender::draw::image_engine::SpaceImageAccessor.
|
pure virtual |
Update the r_shader_parameters with space specific settings.
Only update the ShaderParameters.flags and ShaderParameters.shuffle. Other parameters are updated inside the image engine.
Implemented in blender::draw::image_engine::SpaceImageAccessor, and blender::draw::image_engine::SpaceNodeAccessor.
Referenced by ShaderParameters::update().
|
pure virtual |
Initialize r_uv_to_texture matrix to transform from normalized screen space coordinates (0..1) to texture space UV coordinates.
Implemented in blender::draw::image_engine::SpaceNodeAccessor.
|
pure virtual |
Release a previous locked image from acquire_image_buffer.
Implemented in blender::draw::image_engine::SpaceNodeAccessor.
|
pure virtual |
Is (wrap) repeat option enabled in the space.
Implemented in blender::draw::image_engine::SpaceNodeAccessor, and blender::draw::image_engine::SpaceImageAccessor.