Blender V4.3
external_engine.cc File Reference
#include "DRW_engine.hh"
#include "DRW_render.hh"
#include "DNA_modifier_types.h"
#include "DNA_screen_types.h"
#include "DNA_view3d_types.h"
#include "BKE_object.hh"
#include "BKE_particle.h"
#include "ED_image.hh"
#include "ED_screen.hh"
#include "GPU_batch.hh"
#include "GPU_debug.hh"
#include "GPU_matrix.hh"
#include "GPU_shader.hh"
#include "GPU_state.hh"
#include "GPU_viewport.hh"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "external_engine.h"

Go to the source code of this file.

Classes

struct  EXTERNAL_Storage
 
struct  EXTERNAL_StorageList
 
struct  EXTERNAL_FramebufferList
 
struct  EXTERNAL_TextureList
 
struct  EXTERNAL_PassList
 
struct  EXTERNAL_Data
 
struct  EXTERNAL_PrivateData
 

Macros

#define EXTERNAL_ENGINE   "BLENDER_EXTERNAL"
 

Functions

static void external_engine_init (void *vedata)
 
static void external_cache_image_add (DRWShadingGroup *grp)
 
static void external_cache_init (void *vedata)
 
static void external_cache_populate (void *vedata, Object *ob)
 
static void external_cache_finish (void *)
 
static void external_draw_scene_do_v3d (void *vedata)
 
static void external_image_space_matrix_set (const RenderEngine *engine)
 
static void external_draw_scene_do_image (void *)
 
static void external_draw_scene_do (void *vedata)
 
static void external_draw_scene (void *vedata)
 
static void external_engine_free ()
 
bool DRW_engine_external_acquire_for_image_editor ()
 
void DRW_engine_external_free (RegionView3D *rv3d)
 

Variables

char datatoc_basic_depth_frag_glsl []
 
char datatoc_basic_depth_vert_glsl []
 
char datatoc_common_view_lib_glsl []
 
struct { 
 
   GPUShader *   depth_sh 
 
e_data = {nullptr} 
 
static const DrawEngineDataSize external_data_size = DRW_VIEWPORT_DATA_SIZE(EXTERNAL_Data)
 
DrawEngineType draw_engine_external_type
 
RenderEngineType DRW_engine_viewport_external_type
 

Detailed Description

Base engine for external render engines. We use it for depth and non-mesh objects.

Definition in file external_engine.cc.

Macro Definition Documentation

◆ EXTERNAL_ENGINE

#define EXTERNAL_ENGINE   "BLENDER_EXTERNAL"

Definition at line 39 of file external_engine.cc.

Function Documentation

◆ DRW_engine_external_acquire_for_image_editor()

◆ DRW_engine_external_free()

◆ external_cache_finish()

static void external_cache_finish ( void * )
static

Definition at line 233 of file external_engine.cc.

◆ external_cache_image_add()

static void external_cache_image_add ( DRWShadingGroup * grp)
static

◆ external_cache_init()

◆ external_cache_populate()

◆ external_draw_scene()

◆ external_draw_scene_do()

static void external_draw_scene_do ( void * vedata)
static

◆ external_draw_scene_do_image()

◆ external_draw_scene_do_v3d()

◆ external_engine_free()

static void external_engine_free ( )
static

Definition at line 435 of file external_engine.cc.

References DRW_SHADER_FREE_SAFE, and e_data.

◆ external_engine_init()

◆ external_image_space_matrix_set()

Variable Documentation

◆ datatoc_basic_depth_frag_glsl

char datatoc_basic_depth_frag_glsl[]

Definition at line 41 of file external_engine.cc.

◆ datatoc_basic_depth_vert_glsl

char datatoc_basic_depth_vert_glsl[]

Definition at line 42 of file external_engine.cc.

◆ datatoc_common_view_lib_glsl

char datatoc_common_view_lib_glsl[]

Definition at line 44 of file external_engine.cc.

◆ depth_sh

GPUShader* depth_sh

Definition at line 87 of file external_engine.cc.

◆ draw_engine_external_type

DrawEngineType draw_engine_external_type
Initial value:
= {
nullptr,
nullptr,
N_("External"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static void external_cache_populate(void *vedata, Object *ob)
static void external_cache_finish(void *)
static void external_draw_scene(void *vedata)
static void external_engine_init(void *vedata)
static const DrawEngineDataSize external_data_size
static void external_cache_init(void *vedata)
static void external_engine_free()
#define N_(msgid)

Definition at line 442 of file external_engine.cc.

Referenced by drw_engine_enable_image_editor().

◆ DRW_engine_viewport_external_type

RenderEngineType DRW_engine_viewport_external_type
Initial value:
= {
nullptr,
nullptr,
N_("External"),
nullptr,
nullptr,
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
DrawEngineType draw_engine_external_type
#define EXTERNAL_ENGINE

Definition at line 463 of file external_engine.cc.

Referenced by drw_engines_enable_from_engine(), and DRW_engines_register().

◆ [struct]

struct { ... } e_data

◆ external_data_size

const DrawEngineDataSize external_data_size = DRW_VIEWPORT_DATA_SIZE(EXTERNAL_Data)
static

Definition at line 440 of file external_engine.cc.