Blender  V3.3
Public Attributes | List of all members
WORKBENCH_PrivateData Struct Reference

#include <workbench_private.h>

Public Attributes

struct WORKBENCH_ViewLayerDatavldata
 
eGPUShaderConfig sh_cfg
 
DRWState clip_state
 
DRWState cull_state
 
View3DShading shading
 
StudioLightstudio_light
 
struct Scenescene
 
const UserDefpreferences
 
eContextObjectMode ctx_mode
 
struct GPUUniformBufworld_ubo
 
float background_color [4]
 
float shadow_cached_direction [3]
 
float shadow_direction_ws [3]
 
float shadow_mat [4][4]
 
float shadow_inv [4][4]
 
float shadow_far_plane [4]
 
float shadow_near_min [3]
 
float shadow_near_max [3]
 
float shadow_near_sides [2][4]
 
struct DRWShadingGroupshadow_pass_grp [2]
 
struct DRWShadingGroupshadow_fail_grp [2]
 
struct DRWShadingGroupshadow_fail_caps_grp [2]
 
bool shadow_changed
 
int taa_sample_len
 
int taa_sample_len_previous
 
int taa_sample
 
float taa_weight_accum
 
float taa_weights [9]
 
float taa_weights_sum
 
bool view_updated
 
bool valid_history
 
struct DRWViewview
 
float last_mat [4][4]
 
struct GPUTexturesmaa_edge_tx
 
struct GPUTexturesmaa_weight_tx
 
float smaa_mix_factor
 
struct GPUTexturematerial_buffer_tx
 
struct GPUTexturecomposite_buffer_tx
 
struct GPUTexturenormal_buffer_tx
 
struct GPUTextureaccum_buffer_tx
 
struct GPUTexturereveal_buffer_tx
 
struct GPUTextureobject_id_tx
 
WORKBENCH_Prepass prepass [2][2][WORKBENCH_DATATYPE_MAX]
 
struct BLI_memblockmaterial_ubo
 
struct BLI_memblockmaterial_ubo_data
 
WORKBENCH_UBO_Materialmaterial_ubo_data_curr
 
struct GPUUniformBufmaterial_ubo_curr
 
struct GPUTexturedummy_image_tx
 
int material_chunk_count
 
int material_chunk_curr
 
int material_index
 
struct GPUTexturedof_blur_tx
 
struct GPUTexturecoc_temp_tx
 
struct GPUTexturecoc_tiles_tx [2]
 
float dof_aperturesize
 
float dof_distance
 
float dof_invsensorsize
 
float dof_near_far [2]
 
float dof_blades
 
float dof_rotation
 
float dof_ratio
 
struct Objectcam_original_ob
 
bool volumes_do
 
bool dof_enabled
 
bool is_playback
 
bool is_navigating
 
bool reset_next_sample
 

Detailed Description

Definition at line 224 of file workbench_private.h.

Member Data Documentation

◆ accum_buffer_tx

struct GPUTexture* WORKBENCH_PrivateData::accum_buffer_tx

Transparent pipeline buffers.

Definition at line 302 of file workbench_private.h.

Referenced by workbench_transparent_cache_init(), and workbench_transparent_engine_init().

◆ background_color

float WORKBENCH_PrivateData::background_color[4]

Background color to clear the color buffer with.

Definition at line 244 of file workbench_private.h.

Referenced by workbench_draw_sample(), and workbench_private_data_init().

◆ cam_original_ob

struct Object* WORKBENCH_PrivateData::cam_original_ob

Definition at line 342 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ clip_state

DRWState WORKBENCH_PrivateData::clip_state

◆ coc_temp_tx

struct GPUTexture* WORKBENCH_PrivateData::coc_temp_tx

Definition at line 330 of file workbench_private.h.

Referenced by workbench_dof_cache_init(), and workbench_dof_engine_init().

◆ coc_tiles_tx

struct GPUTexture* WORKBENCH_PrivateData::coc_tiles_tx[2]

Definition at line 331 of file workbench_private.h.

Referenced by workbench_dof_cache_init(), and workbench_dof_engine_init().

◆ composite_buffer_tx

struct GPUTexture* WORKBENCH_PrivateData::composite_buffer_tx

Definition at line 299 of file workbench_private.h.

◆ ctx_mode

eContextObjectMode WORKBENCH_PrivateData::ctx_mode

Copy of context mode for faster access.

Definition at line 240 of file workbench_private.h.

Referenced by workbench_color_type_get(), and workbench_private_data_init().

◆ cull_state

DRWState WORKBENCH_PrivateData::cull_state

◆ dof_aperturesize

float WORKBENCH_PrivateData::dof_aperturesize

Depth of field parameters.

Definition at line 333 of file workbench_private.h.

Referenced by workbench_dof_cache_init(), and workbench_dof_engine_init().

◆ dof_blades

float WORKBENCH_PrivateData::dof_blades

Definition at line 337 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ dof_blur_tx

struct GPUTexture* WORKBENCH_PrivateData::dof_blur_tx

Depth of field temp buffers.

Definition at line 329 of file workbench_private.h.

Referenced by workbench_dof_cache_init(), and workbench_dof_engine_init().

◆ dof_distance

float WORKBENCH_PrivateData::dof_distance

Definition at line 334 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ dof_enabled

bool WORKBENCH_PrivateData::dof_enabled

◆ dof_invsensorsize

float WORKBENCH_PrivateData::dof_invsensorsize

Definition at line 335 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ dof_near_far

float WORKBENCH_PrivateData::dof_near_far[2]

Definition at line 336 of file workbench_private.h.

Referenced by workbench_dof_cache_init(), and workbench_dof_engine_init().

◆ dof_ratio

float WORKBENCH_PrivateData::dof_ratio

Definition at line 339 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ dof_rotation

float WORKBENCH_PrivateData::dof_rotation

Definition at line 338 of file workbench_private.h.

Referenced by workbench_dof_engine_init().

◆ dummy_image_tx

struct GPUTexture* WORKBENCH_PrivateData::dummy_image_tx

Copy of txl->dummy_image_tx for faster access.

Definition at line 319 of file workbench_private.h.

Referenced by workbench_engine_init(), and workbench_image_setup_ex().

◆ is_navigating

bool WORKBENCH_PrivateData::is_navigating

◆ is_playback

bool WORKBENCH_PrivateData::is_playback

◆ last_mat

float WORKBENCH_PrivateData::last_mat[4][4]

Last projection matrix to see if view is still valid.

Definition at line 288 of file workbench_private.h.

Referenced by workbench_antialiasing_engine_init().

◆ material_buffer_tx

struct GPUTexture* WORKBENCH_PrivateData::material_buffer_tx

Opaque pipeline buffers.

Definition at line 298 of file workbench_private.h.

Referenced by workbench_opaque_cache_init(), and workbench_opaque_engine_init().

◆ material_chunk_count

int WORKBENCH_PrivateData::material_chunk_count

Total number of used material chunk.

Definition at line 321 of file workbench_private.h.

Referenced by workbench_material_chunk_select(), and workbench_private_data_init().

◆ material_chunk_curr

int WORKBENCH_PrivateData::material_chunk_curr

Index of current material chunk.

Definition at line 323 of file workbench_private.h.

Referenced by workbench_material_chunk_select(), and workbench_private_data_init().

◆ material_index

int WORKBENCH_PrivateData::material_index

Index of current material inside the material chunk. Only for material coloring mode.

Definition at line 325 of file workbench_private.h.

Referenced by workbench_material_setup_ex(), and workbench_private_data_init().

◆ material_ubo

struct BLI_memblock* WORKBENCH_PrivateData::material_ubo

Copy of vldata->material_ubo for faster access.

Definition at line 312 of file workbench_private.h.

Referenced by workbench_material_chunk_select(), workbench_material_ubo_alloc(), and workbench_private_data_init().

◆ material_ubo_curr

struct GPUUniformBuf* WORKBENCH_PrivateData::material_ubo_curr

◆ material_ubo_data

struct BLI_memblock* WORKBENCH_PrivateData::material_ubo_data

Copy of vldata->material_ubo_data for faster access.

Definition at line 314 of file workbench_private.h.

Referenced by workbench_material_chunk_select(), and workbench_private_data_init().

◆ material_ubo_data_curr

WORKBENCH_UBO_Material* WORKBENCH_PrivateData::material_ubo_data_curr

Current material chunk being filled by workbench_material_setup_ex().

Definition at line 316 of file workbench_private.h.

Referenced by workbench_material_chunk_select(), workbench_material_setup_ex(), and workbench_private_data_init().

◆ normal_buffer_tx

struct GPUTexture* WORKBENCH_PrivateData::normal_buffer_tx

◆ object_id_tx

struct GPUTexture* WORKBENCH_PrivateData::object_id_tx

Object IDs buffer for curvature & outline.

Definition at line 305 of file workbench_private.h.

Referenced by workbench_cache_finish(), workbench_cavity_cache_init(), workbench_engine_init(), and workbench_outline_cache_init().

◆ preferences

const UserDef* WORKBENCH_PrivateData::preferences

Shorthand version of U global for user preferences.

Definition at line 238 of file workbench_private.h.

Referenced by workbench_antialiasing_sample_count_get(), and workbench_private_data_init().

◆ prepass

WORKBENCH_Prepass WORKBENCH_PrivateData::prepass[2][2][WORKBENCH_DATATYPE_MAX]

Pre-pass information for each draw types [transparent][infront][datatype].

Definition at line 308 of file workbench_private.h.

Referenced by workbench_cache_finish(), workbench_image_setup_ex(), workbench_material_setup_ex(), workbench_opaque_cache_init(), and workbench_transparent_cache_init().

◆ reset_next_sample

bool WORKBENCH_PrivateData::reset_next_sample

Definition at line 350 of file workbench_private.h.

Referenced by workbench_antialiasing_engine_init().

◆ reveal_buffer_tx

struct GPUTexture* WORKBENCH_PrivateData::reveal_buffer_tx

◆ scene

struct Scene* WORKBENCH_PrivateData::scene

Copy of ctx_draw->scene for faster access.

Definition at line 236 of file workbench_private.h.

Referenced by workbench_cache_populate(), workbench_color_type_get(), and workbench_private_data_init().

◆ sh_cfg

eGPUShaderConfig WORKBENCH_PrivateData::sh_cfg

Copy of draw_ctx->sh_cfg for faster access.

Definition at line 228 of file workbench_private.h.

Referenced by blender::draw::test_workbench_glsl_shaders(), workbench_private_data_init(), and workbench_shader_get_ex().

◆ shading

View3DShading WORKBENCH_PrivateData::shading

◆ shadow_cached_direction

float WORKBENCH_PrivateData::shadow_cached_direction[3]

Previous shadow direction to test if shadow has changed.

Definition at line 248 of file workbench_private.h.

Referenced by workbench_shadow_object_shadow_distance(), and workbench_shadow_update().

◆ shadow_changed

bool WORKBENCH_PrivateData::shadow_changed

If the shadow has changed direction and ob bboxes needs to be updated.

Definition at line 266 of file workbench_private.h.

Referenced by workbench_shadow_object_shadow_bbox_get(), and workbench_shadow_update().

◆ shadow_direction_ws

float WORKBENCH_PrivateData::shadow_direction_ws[3]

Current shadow direction in world space.

Definition at line 250 of file workbench_private.h.

Referenced by workbench_shadow_cache_populate(), workbench_shadow_data_update(), and workbench_shadow_update().

◆ shadow_fail_caps_grp

struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_fail_caps_grp[2]

◆ shadow_fail_grp

struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_fail_grp[2]

◆ shadow_far_plane

float WORKBENCH_PrivateData::shadow_far_plane[4]

Far plane of the view frustum. Used for shadow volume extrusion.

Definition at line 255 of file workbench_private.h.

Referenced by workbench_shadow_object_shadow_distance(), and workbench_shadow_update().

◆ shadow_inv

float WORKBENCH_PrivateData::shadow_inv[4][4]

◆ shadow_mat

float WORKBENCH_PrivateData::shadow_mat[4][4]

Shadow precomputed matrices.

Definition at line 252 of file workbench_private.h.

Referenced by workbench_shadow_object_shadow_bbox_get(), and workbench_shadow_update().

◆ shadow_near_max

float WORKBENCH_PrivateData::shadow_near_max[3]

◆ shadow_near_min

float WORKBENCH_PrivateData::shadow_near_min[3]

Min and max of shadow_near_corners. Speed up culling test.

Definition at line 257 of file workbench_private.h.

Referenced by workbench_shadow_camera_in_object_shadow(), and workbench_shadow_update().

◆ shadow_near_sides

float WORKBENCH_PrivateData::shadow_near_sides[2][4]

This is a parallelogram, so only 2 normal and distance to the edges.

Definition at line 260 of file workbench_private.h.

Referenced by workbench_shadow_camera_in_object_shadow(), and workbench_shadow_update().

◆ shadow_pass_grp

struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_pass_grp[2]

◆ smaa_edge_tx

struct GPUTexture* WORKBENCH_PrivateData::smaa_edge_tx

Temp buffers to store edges and weights.

Definition at line 292 of file workbench_private.h.

Referenced by workbench_antialiasing_cache_init(), and workbench_antialiasing_engine_init().

◆ smaa_mix_factor

float WORKBENCH_PrivateData::smaa_mix_factor

Weight of the smaa pass.

Definition at line 295 of file workbench_private.h.

Referenced by workbench_antialiasing_cache_init(), and workbench_antialiasing_draw_pass().

◆ smaa_weight_tx

struct GPUTexture* WORKBENCH_PrivateData::smaa_weight_tx

◆ studio_light

StudioLight* WORKBENCH_PrivateData::studio_light

◆ taa_sample

int WORKBENCH_PrivateData::taa_sample

◆ taa_sample_len

int WORKBENCH_PrivateData::taa_sample_len

◆ taa_sample_len_previous

int WORKBENCH_PrivateData::taa_sample_len_previous

Total number of samples of the previous TAA. When changed TAA will be reset.

Definition at line 272 of file workbench_private.h.

Referenced by workbench_antialiasing_engine_init(), and workbench_private_data_alloc().

◆ taa_weight_accum

float WORKBENCH_PrivateData::taa_weight_accum

Weight accumulated.

Definition at line 276 of file workbench_private.h.

Referenced by workbench_antialiasing_cache_init(), and workbench_antialiasing_draw_pass().

◆ taa_weights

float WORKBENCH_PrivateData::taa_weights[9]

Samples weight for this iteration.

Definition at line 278 of file workbench_private.h.

Referenced by workbench_antialiasing_cache_init(), and workbench_antialiasing_setup().

◆ taa_weights_sum

float WORKBENCH_PrivateData::taa_weights_sum

Sum of taa_weights.

Definition at line 280 of file workbench_private.h.

Referenced by workbench_antialiasing_draw_pass(), and workbench_antialiasing_setup().

◆ valid_history

bool WORKBENCH_PrivateData::valid_history

True if the history buffer contains relevant data and false if it could contain garbage.

Definition at line 284 of file workbench_private.h.

Referenced by workbench_antialiasing_draw_pass(), and workbench_antialiasing_engine_init().

◆ view

struct DRWView* WORKBENCH_PrivateData::view

◆ view_updated

bool WORKBENCH_PrivateData::view_updated

If the view has been updated and TAA needs to be reset.

Definition at line 282 of file workbench_private.h.

Referenced by workbench_antialiasing_engine_init(), workbench_antialiasing_view_updated(), workbench_private_data_alloc(), and workbench_private_data_init().

◆ vldata

struct WORKBENCH_ViewLayerData* WORKBENCH_PrivateData::vldata

◆ volumes_do

bool WORKBENCH_PrivateData::volumes_do

◆ world_ubo

struct GPUUniformBuf* WORKBENCH_PrivateData::world_ubo

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