Blender
V3.3
|
#include <workbench_private.h>
Definition at line 224 of file workbench_private.h.
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().
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().
struct Object* WORKBENCH_PrivateData::cam_original_ob |
Definition at line 342 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
DRWState WORKBENCH_PrivateData::clip_state |
Global clip and cull states.
Definition at line 230 of file workbench_private.h.
Referenced by workbench_opaque_cache_init(), workbench_private_data_init(), and workbench_transparent_cache_init().
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().
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().
struct GPUTexture* WORKBENCH_PrivateData::composite_buffer_tx |
Definition at line 299 of file workbench_private.h.
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().
DRWState WORKBENCH_PrivateData::cull_state |
Definition at line 230 of file workbench_private.h.
Referenced by workbench_opaque_cache_init(), workbench_private_data_init(), workbench_shadow_cache_populate(), and workbench_transparent_cache_init().
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().
float WORKBENCH_PrivateData::dof_blades |
Definition at line 337 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
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().
float WORKBENCH_PrivateData::dof_distance |
Definition at line 334 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
bool WORKBENCH_PrivateData::dof_enabled |
Convenience boolean.
Definition at line 347 of file workbench_private.h.
Referenced by workbench_dof_cache_init(), workbench_dof_draw_pass(), workbench_dof_engine_init(), and workbench_transparent_draw_depth_pass().
float WORKBENCH_PrivateData::dof_invsensorsize |
Definition at line 335 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
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().
float WORKBENCH_PrivateData::dof_ratio |
Definition at line 339 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
float WORKBENCH_PrivateData::dof_rotation |
Definition at line 338 of file workbench_private.h.
Referenced by workbench_dof_engine_init().
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().
bool WORKBENCH_PrivateData::is_navigating |
Definition at line 349 of file workbench_private.h.
Referenced by workbench_antialiasing_engine_init(), workbench_antialiasing_sample_count_get(), and workbench_private_data_init().
bool WORKBENCH_PrivateData::is_playback |
Definition at line 348 of file workbench_private.h.
Referenced by workbench_antialiasing_draw_pass(), workbench_antialiasing_engine_init(), workbench_antialiasing_sample_count_get(), workbench_in_front_history_needed(), and workbench_private_data_init().
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().
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().
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().
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().
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().
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().
struct GPUUniformBuf* WORKBENCH_PrivateData::material_ubo_curr |
Definition at line 317 of file workbench_private.h.
Referenced by workbench_material_chunk_select(), workbench_material_setup_ex(), workbench_opaque_cache_init(), workbench_private_data_init(), and workbench_transparent_cache_init().
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().
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().
struct GPUTexture* WORKBENCH_PrivateData::normal_buffer_tx |
Definition at line 300 of file workbench_private.h.
Referenced by workbench_cavity_cache_init(), workbench_opaque_cache_init(), and workbench_opaque_engine_init().
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().
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().
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().
bool WORKBENCH_PrivateData::reset_next_sample |
Definition at line 350 of file workbench_private.h.
Referenced by workbench_antialiasing_engine_init().
struct GPUTexture* WORKBENCH_PrivateData::reveal_buffer_tx |
Definition at line 303 of file workbench_private.h.
Referenced by workbench_transparent_cache_init(), and workbench_transparent_engine_init().
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().
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().
View3DShading WORKBENCH_PrivateData::shading |
Copy of scene->display.shading or v3d->shading for viewport.
Definition at line 232 of file workbench_private.h.
Referenced by blender::draw::test_workbench_glsl_shaders(), workbench_cache_populate(), workbench_cavity_data_update(), workbench_color_type_get(), workbench_dof_engine_init(), workbench_draw_sample(), workbench_image_setup_ex(), workbench_is_specular_highlight_enabled(), workbench_material_setup_ex(), workbench_material_ubo_data(), workbench_opaque_cache_init(), workbench_private_data_init(), workbench_shader_composite_get(), workbench_shader_get_ex(), workbench_shadow_data_update(), workbench_studiolight_data_update(), and workbench_update_world_ubo().
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().
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().
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().
struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_fail_caps_grp[2] |
Definition at line 264 of file workbench_private.h.
Referenced by workbench_shadow_cache_init(), and workbench_shadow_cache_populate().
struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_fail_grp[2] |
Definition at line 263 of file workbench_private.h.
Referenced by workbench_shadow_cache_init(), and workbench_shadow_cache_populate().
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().
float WORKBENCH_PrivateData::shadow_inv[4][4] |
Definition at line 253 of file workbench_private.h.
Referenced by workbench_shadow_object_shadow_bbox_get(), and workbench_shadow_update().
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().
float WORKBENCH_PrivateData::shadow_near_max[3] |
Definition at line 258 of file workbench_private.h.
Referenced by workbench_shadow_camera_in_object_shadow(), and workbench_shadow_update().
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().
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().
struct DRWShadingGroup* WORKBENCH_PrivateData::shadow_pass_grp[2] |
Definition at line 262 of file workbench_private.h.
Referenced by workbench_shadow_cache_init(), and workbench_shadow_cache_populate().
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().
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().
struct GPUTexture* WORKBENCH_PrivateData::smaa_weight_tx |
Definition at line 293 of file workbench_private.h.
Referenced by workbench_antialiasing_cache_init(), and workbench_antialiasing_engine_init().
StudioLight* WORKBENCH_PrivateData::studio_light |
Chosen studiolight or matcap.
Definition at line 234 of file workbench_private.h.
Referenced by workbench_is_specular_highlight_enabled(), workbench_opaque_cache_init(), workbench_private_data_init(), workbench_studiolight_data_update(), and workbench_transparent_lighting_uniforms().
int WORKBENCH_PrivateData::taa_sample |
Current TAA sample index in [0..taa_sample_len[ range.
Definition at line 274 of file workbench_private.h.
Referenced by workbench_antialiasing_draw_pass(), workbench_antialiasing_engine_init(), workbench_antialiasing_setup(), workbench_cavity_data_update(), workbench_dof_cache_init(), workbench_draw_scene(), workbench_render(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
int WORKBENCH_PrivateData::taa_sample_len |
Total number of samples to after which TAA stops accumulating samples.
Definition at line 270 of file workbench_private.h.
Referenced by workbench_antialiasing_cache_init(), workbench_antialiasing_draw_pass(), workbench_antialiasing_engine_init(), workbench_antialiasing_setup(), workbench_cavity_total_sample_count(), workbench_dof_cache_init(), workbench_draw_scene(), workbench_private_data_init(), and workbench_render().
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().
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().
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().
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().
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().
struct DRWView* WORKBENCH_PrivateData::view |
View
Definition at line 286 of file workbench_private.h.
Referenced by workbench_antialiasing_engine_init(), and workbench_antialiasing_setup().
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().
struct WORKBENCH_ViewLayerData* WORKBENCH_PrivateData::vldata |
ViewLayerData for faster access.
Definition at line 226 of file workbench_private.h.
Referenced by workbench_cavity_cache_init(), workbench_cavity_samples_ubo_ensure(), workbench_dof_cache_init(), workbench_dof_engine_init(), and workbench_private_data_init().
bool WORKBENCH_PrivateData::volumes_do |
True if any volume needs to be rendered.
Definition at line 345 of file workbench_private.h.
Referenced by workbench_private_data_init(), workbench_volume_cache_init(), workbench_volume_draw_pass(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().
struct GPUUniformBuf* WORKBENCH_PrivateData::world_ubo |
Shorthand for wpd->vldata->world_ubo.
Definition at line 242 of file workbench_private.h.
Referenced by workbench_cavity_cache_init(), workbench_opaque_cache_init(), workbench_outline_cache_init(), workbench_private_data_init(), workbench_transparent_lighting_uniforms(), workbench_update_world_ubo(), workbench_volume_modifier_cache_populate(), and workbench_volume_object_cache_populate().