Blender
V3.3
|
#include <image_space_image.hh>
Public Member Functions | |
SpaceImageAccessor (SpaceImage *sima) | |
Image * | get_image (Main *UNUSED(bmain)) override |
ImageUser * | get_image_user () override |
ImBuf * | acquire_image_buffer (Image *UNUSED(image), void **lock) override |
void | release_buffer (Image *UNUSED(image), ImBuf *image_buffer, void *lock) override |
void | get_shader_parameters (ShaderParameters &r_shader_parameters, ImBuf *image_buffer) override |
void | get_gpu_textures (Image *image, ImageUser *iuser, ImBuf *image_buffer, GPUTexture **r_gpu_texture, bool *r_owns_texture, GPUTexture **r_tex_tile_data) override |
bool | use_tile_drawing () const override |
Is (wrap) repeat option enabled in the space. More... | |
void | init_ss_to_texture_matrix (const ARegion *region, const float UNUSED(image_resolution[2]), float r_uv_to_texture[4][4]) const override |
![]() | |
virtual | ~AbstractSpaceAccessor ()=default |
virtual Image * | get_image (Main *bmain)=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 | 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... | |
Definition at line 14 of file image_space_image.hh.
|
inline |
Definition at line 18 of file image_space_image.hh.
|
inlineoverride |
Definition at line 32 of file image_space_image.hh.
References ED_space_image_acquire_buffer(), and lock.
|
inlineoverridevirtual |
Retrieve the gpu textures to draw.
Implements AbstractSpaceAccessor.
Definition at line 85 of file image_space_image.hh.
References BKE_image_get_gpu_texture(), BKE_image_get_gpu_tilemap(), BKE_image_get_gpu_tiles(), BKE_image_multilayer_index(), BKE_image_multiview_index(), BLI_assert, BLI_assert_msg, ImBuf::channels, ED_space_image_get_display_channel_mask(), SpaceImage::flag, GPU_R16F, GPU_RGBA16F, GPU_texture_create_2d(), IMA_SRC_TILED, IMA_TYPE_R_RESULT, image(), ImBuf::rect, ImBuf::rect_float, SI_SHOW_ZBUF, ImBuf::x, ImBuf::y, ImBuf::zbuf, and ImBuf::zbuf_float.
|
inlineoverride |
Definition at line 22 of file image_space_image.hh.
References ED_space_image().
|
inlineoverridevirtual |
Return the ImageUser of the space.
The return value is optional.
Implements AbstractSpaceAccessor.
Definition at line 27 of file image_space_image.hh.
References SpaceImage::iuser.
|
inlineoverridevirtual |
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.
Implements AbstractSpaceAccessor.
Definition at line 42 of file image_space_image.hh.
References copy_v4_fl4(), ED_space_image_get_display_channel_mask(), SpaceImage::flag, ShaderParameters::flags, IMAGE_DRAW_FLAG_APPLY_ALPHA, IMAGE_DRAW_FLAG_DEPTH, IMAGE_DRAW_FLAG_SHOW_ALPHA, IMAGE_DRAW_FLAG_SHUFFLING, IMB_alpha_affects_rgb(), ShaderParameters::shuffle, SI_SHOW_ALPHA, SI_SHOW_B, SI_SHOW_G, SI_SHOW_R, SI_SHOW_ZBUF, and SI_USE_ALPHA.
|
inlineoverride |
Definition at line 150 of file image_space_image.hh.
References BLI_rctf_size_x(), BLI_rctf_size_y(), View2D::cur, unit_m4(), ARegion::v2d, rctf::xmin, and rctf::ymin.
|
inlineoverride |
Definition at line 37 of file image_space_image.hh.
References ED_space_image_release_buffer(), and lock.
|
inlineoverridevirtual |
Is (wrap) repeat option enabled in the space.
Implements AbstractSpaceAccessor.
Definition at line 145 of file image_space_image.hh.
References SpaceImage::flag, and SI_DRAW_TILE.