Blender  V3.3
Functions
workbench_data.c File Reference
#include "DRW_render.h"
#include "workbench_private.h"
#include "BLI_memblock.h"
#include "DNA_userdef_types.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "UI_resources.h"
#include "GPU_uniform_buffer.h"

Go to the source code of this file.

Functions

static void workbench_studiolight_data_update (WORKBENCH_PrivateData *wpd, WORKBENCH_UBO_World *wd)
 
void workbench_private_data_alloc (WORKBENCH_StorageList *stl)
 
void workbench_private_data_init (WORKBENCH_PrivateData *wpd)
 
void workbench_update_world_ubo (WORKBENCH_PrivateData *wpd)
 
void workbench_update_material_ubos (WORKBENCH_PrivateData *UNUSED(wpd))
 
World Data
GPUUniformBufworkbench_material_ubo_alloc (WORKBENCH_PrivateData *wpd)
 
static void workbench_ubo_free (void *elem)
 
static void workbench_view_layer_data_free (void *storage)
 
static WORKBENCH_ViewLayerDataworkbench_view_layer_data_ensure_ex (struct ViewLayer *view_layer)
 

Function Documentation

◆ workbench_material_ubo_alloc()

GPUUniformBuf* workbench_material_ubo_alloc ( WORKBENCH_PrivateData wpd)

◆ workbench_private_data_alloc()

void workbench_private_data_alloc ( WORKBENCH_StorageList stl)

◆ workbench_private_data_init()

void workbench_private_data_init ( WORKBENCH_PrivateData wpd)

Definition at line 134 of file workbench_data.c.

References RenderData::alphamode, WORKBENCH_PrivateData::background_color, BKE_scene_uses_blender_workbench(), BKE_studiolight_find(), BLI_memblock_alloc(), WORKBENCH_PrivateData::clip_state, View3DShading::color_type, copy_v4_fl(), copy_v4_fl4(), CTX_data_mode_enum_ex(), WORKBENCH_PrivateData::ctx_mode, CULL_BACKFACE_ENABLED, WORKBENCH_PrivateData::cull_state, Scene::display, DRW_context_state_get(), DRW_STATE_CLIP_PLANES, DRW_STATE_CULL_BACK, DRW_state_is_navigating(), DRW_state_is_playback(), View3DShading::flag, World::horb, World::horg, World::horr, WORKBENCH_PrivateData::is_navigating, WORKBENCH_PrivateData::is_playback, View3DShading::light, View3DShading::matcap, WORKBENCH_PrivateData::material_chunk_count, WORKBENCH_PrivateData::material_chunk_curr, WORKBENCH_PrivateData::material_index, WORKBENCH_PrivateData::material_ubo, WORKBENCH_ViewLayerData::material_ubo, WORKBENCH_PrivateData::material_ubo_curr, WORKBENCH_PrivateData::material_ubo_data, WORKBENCH_ViewLayerData::material_ubo_data, WORKBENCH_PrivateData::material_ubo_data_curr, NULL, OB_RENDER, OB_SOLID, DRWContextState::obact, DRWContextState::object_edit, DRWContextState::object_mode, WORKBENCH_PrivateData::preferences, Scene::r, R_ALPHAPREMUL, RegionView3D::rflag, DRWContextState::rv3d, RV3D_CLIPPING_ENABLED, RV3D_GPULIGHT_UPDATE, scene, WORKBENCH_PrivateData::scene, DRWContextState::scene, WORKBENCH_PrivateData::sh_cfg, DRWContextState::sh_cfg, WORKBENCH_PrivateData::shading, SceneDisplay::shading, View3D::shading, WORKBENCH_PrivateData::studio_light, View3DShading::studio_light, STUDIOLIGHT_TYPE_MATCAP, STUDIOLIGHT_TYPE_STUDIO, WORKBENCH_PrivateData::taa_sample_len, View3DShading::type, U, UNLIKELY, DRWContextState::v3d, V3D_LIGHTING_FLAT, V3D_LIGHTING_MATCAP, V3D_SHADING_CAVITY, V3D_SHADING_DEPTH_OF_FIELD, V3D_SHADING_MATERIAL_COLOR, V3D_SHADING_OBJECT_COLOR, V3D_SHADING_SHADOW, DRWContextState::view_layer, WORKBENCH_PrivateData::view_updated, WORKBENCH_PrivateData::vldata, WORKBENCH_PrivateData::volumes_do, workbench_antialiasing_sample_count_get(), workbench_material_ubo_alloc(), workbench_material_ubo_data(), workbench_view_layer_data_ensure_ex(), Scene::world, WORKBENCH_PrivateData::world_ubo, WORKBENCH_ViewLayerData::world_ubo, XRAY_ALPHA, View3DShading::xray_alpha, XRAY_ENABLED, and XRAY_FLAG_ENABLED.

Referenced by workbench_engine_init().

◆ workbench_studiolight_data_update()

static void workbench_studiolight_data_update ( WORKBENCH_PrivateData wpd,
WORKBENCH_UBO_World wd 
)
static

◆ workbench_ubo_free()

static void workbench_ubo_free ( void elem)
static

Definition at line 35 of file workbench_data.c.

References DRW_UBO_FREE_SAFE.

Referenced by workbench_update_material_ubos(), and workbench_view_layer_data_free().

◆ workbench_update_material_ubos()

void workbench_update_material_ubos ( WORKBENCH_PrivateData UNUSEDwpd)

◆ workbench_update_world_ubo()

void workbench_update_world_ubo ( WORKBENCH_PrivateData wpd)

◆ workbench_view_layer_data_ensure_ex()

static WORKBENCH_ViewLayerData* workbench_view_layer_data_ensure_ex ( struct ViewLayer view_layer)
static

◆ workbench_view_layer_data_free()

static void workbench_view_layer_data_free ( void storage)
static