Blender V4.3
blender::workbench::Instance Class Reference

Public Member Functions

GPUMaterial ** get_dummy_gpu_materials (int material_count)
void init (Object *camera_ob=nullptr)
void begin_sync ()
void end_sync ()
Material get_material (ObjectRef ob_ref, eV3DShadingColorType color_type, int slot=0)
void object_sync (Manager &manager, ObjectRef &ob_ref)
template<typename F>
void draw_to_mesh_pass (ObjectRef &ob_ref, bool is_transparent, F draw_callback)
void draw_mesh (ObjectRef &ob_ref, Material &material, gpu::Batch *batch, ResourceHandle handle, const MaterialTexture *texture=nullptr, bool show_missing_texture=false)
void mesh_sync (ObjectRef &ob_ref, ResourceHandle handle, const ObjectState &object_state)
void sculpt_sync (ObjectRef &ob_ref, ResourceHandle handle, const ObjectState &object_state)
void point_cloud_sync (Manager &manager, ObjectRef &ob_ref, const ObjectState &object_state)
void hair_sync (Manager &manager, ObjectRef &ob_ref, ResourceHandle emitter_handle, const ObjectState &object_state, ParticleSystem *psys, ModifierData *md)
void curves_sync (Manager &manager, ObjectRef &ob_ref, const ObjectState &object_state)
void draw (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx)
void draw_viewport (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx)
void draw_image_render (Manager &manager, GPUTexture *depth_tx, GPUTexture *depth_in_front_tx, GPUTexture *color_tx, RenderEngine *engine=nullptr)

Public Attributes

View view = {"DefaultView"}
SceneState scene_state
SceneResources resources
OpaquePass opaque_ps
TransparentPass transparent_ps
TransparentDepthPass transparent_depth_ps
ShadowPass shadow_ps
VolumePass volume_ps
OutlinePass outline_ps
DofPass dof_ps
AntiAliasingPass anti_aliasing_ps
Vector< GPUMaterial * > dummy_gpu_materials = {1, nullptr, {}}

Detailed Description

Definition at line 30 of file workbench_engine.cc.

Member Function Documentation

◆ begin_sync()

void blender::workbench::Instance::begin_sync ( )
inline

◆ curves_sync()

void blender::workbench::Instance::curves_sync ( Manager & manager,
ObjectRef & ob_ref,
const ObjectState & object_state )
inline

◆ draw()

void blender::workbench::Instance::draw ( Manager & manager,
GPUTexture * depth_tx,
GPUTexture * depth_in_front_tx,
GPUTexture * color_tx )
inline

◆ draw_image_render()

void blender::workbench::Instance::draw_image_render ( Manager & manager,
GPUTexture * depth_tx,
GPUTexture * depth_in_front_tx,
GPUTexture * color_tx,
RenderEngine * engine = nullptr )
inline

◆ draw_mesh()

void blender::workbench::Instance::draw_mesh ( ObjectRef & ob_ref,
Material & material,
gpu::Batch * batch,
ResourceHandle handle,
const MaterialTexture * texture = nullptr,
bool show_missing_texture = false )
inline

Definition at line 223 of file workbench_engine.cc.

References batch, draw_to_mesh_pass(), resources, and texture.

◆ draw_to_mesh_pass()

template<typename F>
void blender::workbench::Instance::draw_to_mesh_pass ( ObjectRef & ob_ref,
bool is_transparent,
F draw_callback )
inline

◆ draw_viewport()

void blender::workbench::Instance::draw_viewport ( Manager & manager,
GPUTexture * depth_tx,
GPUTexture * depth_in_front_tx,
GPUTexture * color_tx )
inline

◆ end_sync()

void blender::workbench::Instance::end_sync ( )
inline

Definition at line 85 of file workbench_engine.cc.

References resources.

◆ get_dummy_gpu_materials()

GPUMaterial ** blender::workbench::Instance::get_dummy_gpu_materials ( int material_count)
inline

Definition at line 51 of file workbench_engine.cc.

References dummy_gpu_materials.

Referenced by mesh_sync().

◆ get_material()

◆ hair_sync()

◆ init()

void blender::workbench::Instance::init ( Object * camera_ob = nullptr)
inline

◆ mesh_sync()

◆ object_sync()

◆ point_cloud_sync()

void blender::workbench::Instance::point_cloud_sync ( Manager & manager,
ObjectRef & ob_ref,
const ObjectState & object_state )
inline

◆ sculpt_sync()

Member Data Documentation

◆ anti_aliasing_ps

AntiAliasingPass blender::workbench::Instance::anti_aliasing_ps

Definition at line 46 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), draw_image_render(), and init().

◆ dof_ps

DofPass blender::workbench::Instance::dof_ps

Definition at line 45 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), draw_image_render(), and init().

◆ dummy_gpu_materials

Vector<GPUMaterial *> blender::workbench::Instance::dummy_gpu_materials = {1, nullptr, {}}

Definition at line 50 of file workbench_engine.cc.

Referenced by get_dummy_gpu_materials().

◆ opaque_ps

OpaquePass blender::workbench::Instance::opaque_ps

Definition at line 38 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), and draw_to_mesh_pass().

◆ outline_ps

OutlinePass blender::workbench::Instance::outline_ps

Definition at line 44 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), and init().

◆ resources

SceneResources blender::workbench::Instance::resources

◆ scene_state

◆ shadow_ps

ShadowPass blender::workbench::Instance::shadow_ps

Definition at line 42 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), init(), and mesh_sync().

◆ transparent_depth_ps

TransparentDepthPass blender::workbench::Instance::transparent_depth_ps

Definition at line 40 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), and draw_to_mesh_pass().

◆ transparent_ps

TransparentPass blender::workbench::Instance::transparent_ps

Definition at line 39 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), and draw_to_mesh_pass().

◆ view

View blender::workbench::Instance::view = {"DefaultView"}

Definition at line 32 of file workbench_engine.cc.

Referenced by draw().

◆ volume_ps

VolumePass blender::workbench::Instance::volume_ps

Definition at line 43 of file workbench_engine.cc.

Referenced by begin_sync(), draw(), and object_sync().


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