Blender V4.3
workbench_engine.cc File Reference
#include "BKE_editmesh.hh"
#include "BKE_modifier.hh"
#include "BKE_object.hh"
#include "BKE_paint.hh"
#include "BKE_particle.h"
#include "BKE_pbvh_api.hh"
#include "BKE_report.hh"
#include "DEG_depsgraph_query.hh"
#include "DNA_fluid_types.h"
#include "ED_paint.hh"
#include "ED_view3d.hh"
#include "GPU_capabilities.hh"
#include "IMB_imbuf_types.hh"
#include "draw_common.hh"
#include "draw_sculpt.hh"
#include "workbench_private.hh"
#include "workbench_engine.h"

Go to the source code of this file.

Classes

class  blender::workbench::Instance
 
struct  WORKBENCH_Data
 

Namespaces

namespace  blender
 
namespace  blender::workbench
 

Interface with legacy C DRW manager

static const DrawEngineDataSize workbench_data_size = DRW_VIEWPORT_DATA_SIZE(WORKBENCH_Data)
 
DrawEngineType draw_engine_workbench
 
RenderEngineType DRW_engine_viewport_workbench_type
 
static void workbench_engine_init (void *vedata)
 
static void workbench_cache_init (void *vedata)
 
static void workbench_cache_populate (void *vedata, Object *object)
 
static void workbench_cache_finish (void *vedata)
 
static void workbench_draw_scene (void *vedata)
 
static void workbench_instance_free (void *instance)
 
static void workbench_engine_free ()
 
static void workbench_view_update (void *vedata)
 
static void workbench_id_update (void *vedata, ID *id)
 
static bool workbench_render_framebuffers_init ()
 
static void write_render_color_output (RenderLayer *layer, const char *viewname, GPUFrameBuffer *fb, const rcti *rect)
 
static void write_render_z_output (RenderLayer *layer, const char *viewname, GPUFrameBuffer *fb, const rcti *rect, const float4x4 &winmat)
 
static void workbench_render_to_image (void *vedata, RenderEngine *engine, RenderLayer *layer, const rcti *rect)
 
static void workbench_render_update_passes (RenderEngine *engine, Scene *scene, ViewLayer *view_layer)
 

Function Documentation

◆ workbench_cache_finish()

static void workbench_cache_finish ( void * vedata)
static

Definition at line 549 of file workbench_engine.cc.

Referenced by workbench_render_to_image().

◆ workbench_cache_init()

static void workbench_cache_init ( void * vedata)
static

Definition at line 532 of file workbench_engine.cc.

Referenced by workbench_render_to_image().

◆ workbench_cache_populate()

◆ workbench_draw_scene()

◆ workbench_engine_free()

static void workbench_engine_free ( )
static

Definition at line 572 of file workbench_engine.cc.

References blender::workbench::ShaderCache::release().

◆ workbench_engine_init()

static void workbench_engine_init ( void * vedata)
static

◆ workbench_id_update()

static void workbench_id_update ( void * vedata,
ID * id )
static

Definition at line 585 of file workbench_engine.cc.

References UNUSED_VARS.

◆ workbench_instance_free()

static void workbench_instance_free ( void * instance)
static

Definition at line 567 of file workbench_engine.cc.

References instance.

◆ workbench_render_framebuffers_init()

◆ workbench_render_to_image()

◆ workbench_render_update_passes()

static void workbench_render_update_passes ( RenderEngine * engine,
Scene * scene,
ViewLayer * view_layer )
static

◆ workbench_view_update()

static void workbench_view_update ( void * vedata)
static

◆ write_render_color_output()

static void write_render_color_output ( RenderLayer * layer,
const char * viewname,
GPUFrameBuffer * fb,
const rcti * rect )
static

◆ write_render_z_output()

Variable Documentation

◆ draw_engine_workbench

DrawEngineType draw_engine_workbench
Initial value:
= {
nullptr,
nullptr,
N_("Workbench"),
nullptr,
}
#define N_(msgid)
static void workbench_draw_scene(void *vedata)
static void workbench_cache_init(void *vedata)
static void workbench_id_update(void *vedata, ID *id)
static void workbench_instance_free(void *instance)
static void workbench_engine_init(void *vedata)
static void workbench_view_update(void *vedata)
static void workbench_render_to_image(void *vedata, RenderEngine *engine, RenderLayer *layer, const rcti *rect)
static void workbench_cache_finish(void *vedata)
static const DrawEngineDataSize workbench_data_size
static void workbench_engine_free()
static void workbench_cache_populate(void *vedata, Object *object)

Definition at line 784 of file workbench_engine.cc.

◆ DRW_engine_viewport_workbench_type

RenderEngineType DRW_engine_viewport_workbench_type
Initial value:
= {
nullptr,
nullptr,
"BLENDER_WORKBENCH",
N_("Workbench"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
{
nullptr,
nullptr,
nullptr,
},
}
@ RE_INTERNAL
Definition RE_engine.h:47
@ RE_USE_STEREO_VIEWPORT
Definition RE_engine.h:53
@ RE_USE_GPU_CONTEXT
Definition RE_engine.h:54
void DRW_render_to_image(RenderEngine *engine, Depsgraph *depsgraph)
DrawEngineType draw_engine_workbench
static void workbench_render_update_passes(RenderEngine *engine, Scene *scene, ViewLayer *view_layer)

Definition at line 802 of file workbench_engine.cc.

Referenced by drw_engines_enable_from_engine(), and DRW_engines_register().

◆ workbench_data_size

const DrawEngineDataSize workbench_data_size = DRW_VIEWPORT_DATA_SIZE(WORKBENCH_Data)
static

Definition at line 782 of file workbench_engine.cc.