Blender V5.0
blender::image_engine::ScreenTileTextures< Divisions > Class Template Reference

Screen space method using a multiple textures covering the region. More...

#include <image_drawing_mode.hh>

Inherits blender::image_engine::BaseTextureMethod.

Public Member Functions

 ScreenTileTextures (State *instance_data)
void ensure_texture_infos () override
 Ensure enough texture infos are allocated in instance_data.
void update_bounds (const ARegion *region) override
 Update the uv and region bounds of all texture_infos of instance_data.
int2 gpu_texture_size () const
void ensure_gpu_textures_allocation () override

Static Public Attributes

static const size_t TexturesPerDimension = Divisions + 1
static const size_t TexturesRequired = TexturesPerDimension * TexturesPerDimension
static const size_t VerticesPerDimension = TexturesPerDimension + 1

Additional Inherited Members

Protected Member Functions inherited from blender::image_engine::BaseTextureMethod
 BaseTextureMethod (State *instance_data)
Protected Attributes inherited from blender::image_engine::BaseTextureMethod
Stateinstance_data

Detailed Description

template<size_t Divisions>
class blender::image_engine::ScreenTileTextures< Divisions >

Screen space method using a multiple textures covering the region.

This method improves panning speed, but has some drawing artifacts and therefore isn't selected.

Definition at line 104 of file image_drawing_mode.hh.

Constructor & Destructor Documentation

◆ ScreenTileTextures()

template<size_t Divisions>
blender::image_engine::ScreenTileTextures< Divisions >::ScreenTileTextures ( State * instance_data)
inline

Member Function Documentation

◆ ensure_gpu_textures_allocation()

template<size_t Divisions>
void blender::image_engine::ScreenTileTextures< Divisions >::ensure_gpu_textures_allocation ( )
inlineoverridevirtual

◆ ensure_texture_infos()

template<size_t Divisions>
void blender::image_engine::ScreenTileTextures< Divisions >::ensure_texture_infos ( )
inlineoverridevirtual

Ensure enough texture infos are allocated in instance_data.

Implements blender::image_engine::BaseTextureMethod.

Definition at line 127 of file image_drawing_mode.hh.

References blender::image_engine::BaseTextureMethod::instance_data, and TexturesRequired.

◆ gpu_texture_size()

template<size_t Divisions>
int2 blender::image_engine::ScreenTileTextures< Divisions >::gpu_texture_size ( ) const
inline

Get the texture size of a single texture for the current settings.

Definition at line 161 of file image_drawing_mode.hh.

References blender::math::ceil(), ceil, DRW_context_get(), and DRWContext::viewport_size_get().

Referenced by ensure_gpu_textures_allocation().

◆ update_bounds()

template<size_t Divisions>
void blender::image_engine::ScreenTileTextures< Divisions >::update_bounds ( const ARegion * region)
inlineoverridevirtual

Member Data Documentation

◆ TexturesPerDimension

template<size_t Divisions>
const size_t blender::image_engine::ScreenTileTextures< Divisions >::TexturesPerDimension = Divisions + 1
static

Definition at line 106 of file image_drawing_mode.hh.

◆ TexturesRequired

template<size_t Divisions>
const size_t blender::image_engine::ScreenTileTextures< Divisions >::TexturesRequired = TexturesPerDimension * TexturesPerDimension
static

Definition at line 107 of file image_drawing_mode.hh.

Referenced by ensure_texture_infos().

◆ VerticesPerDimension

template<size_t Divisions>
const size_t blender::image_engine::ScreenTileTextures< Divisions >::VerticesPerDimension = TexturesPerDimension + 1
static

Definition at line 108 of file image_drawing_mode.hh.


The documentation for this class was generated from the following file: