Blender  V3.3
Classes | Macros | Typedefs | Functions | Variables
external_engine.c File Reference
#include "DRW_render.h"
#include "DNA_modifier_types.h"
#include "DNA_screen_types.h"
#include "DNA_view3d_types.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "ED_image.h"
#include "ED_screen.h"
#include "GPU_batch.h"
#include "GPU_debug.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
#include "GPU_state.h"
#include "GPU_viewport.h"
#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"
 

Typedefs

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

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 *UNUSED(vedata))
 
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 *UNUSED(vedata))
 
static void external_draw_scene_do (void *vedata)
 
static void external_draw_scene (void *vedata)
 
static void external_engine_free (void)
 
bool DRW_engine_external_acquire_for_image_editor (void)
 

Variables

char datatoc_basic_depth_frag_glsl []
 
char datatoc_basic_depth_vert_glsl []
 
char datatoc_common_view_lib_glsl []
 
struct {
   struct GPUShader *   depth_sh
 
e_data = {NULL}
 
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.c.

Macro Definition Documentation

◆ EXTERNAL_ENGINE

#define EXTERNAL_ENGINE   "BLENDER_EXTERNAL"

Definition at line 37 of file external_engine.c.

Typedef Documentation

◆ EXTERNAL_Data

typedef struct EXTERNAL_Data EXTERNAL_Data

◆ EXTERNAL_FramebufferList

◆ EXTERNAL_PassList

◆ EXTERNAL_PrivateData

◆ EXTERNAL_Storage

◆ EXTERNAL_StorageList

◆ EXTERNAL_TextureList

Function Documentation

◆ DRW_engine_external_acquire_for_image_editor()

bool DRW_engine_external_acquire_for_image_editor ( void  )

◆ external_cache_finish()

static void external_cache_finish ( void UNUSEDvedata)
static

Definition at line 229 of file external_engine.c.

◆ external_cache_image_add()

static void external_cache_image_add ( DRWShadingGroup grp)
static

◆ external_cache_init()

static void external_cache_init ( void vedata)
static

◆ external_cache_populate()

static void external_cache_populate ( void vedata,
Object ob 
)
static

◆ external_draw_scene()

static void external_draw_scene ( void vedata)
static

◆ external_draw_scene_do()

static void external_draw_scene_do ( void vedata)
static

◆ external_draw_scene_do_image()

static void external_draw_scene_do_image ( void UNUSEDvedata)
static

◆ external_draw_scene_do_v3d()

static void external_draw_scene_do_v3d ( void vedata)
static

◆ external_engine_free()

static void external_engine_free ( void  )
static

Definition at line 419 of file external_engine.c.

References DRW_SHADER_FREE_SAFE, and e_data.

◆ external_engine_init()

static void external_engine_init ( void vedata)
static

◆ external_image_space_matrix_set()

static void external_image_space_matrix_set ( const RenderEngine engine)
static

Variable Documentation

◆ datatoc_basic_depth_frag_glsl

char datatoc_basic_depth_frag_glsl[]
extern

◆ datatoc_basic_depth_vert_glsl

char datatoc_basic_depth_vert_glsl[]
extern

◆ datatoc_common_view_lib_glsl

char datatoc_common_view_lib_glsl[]
extern

Definition at line 43 of file intern/ghost/test/multitest/stubs.c.

◆ depth_sh

struct GPUShader* depth_sh

Definition at line 85 of file external_engine.c.

◆ draw_engine_external_type

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

Definition at line 426 of file external_engine.c.

Referenced by drw_engine_enable_image_editor().

◆ DRW_engine_viewport_external_type

RenderEngineType DRW_engine_viewport_external_type
Initial value:
= {
N_("External"),
{NULL, NULL, NULL},
}
#define RE_USE_STEREO_VIEWPORT
Definition: RE_engine.h:51
#define RE_INTERNAL
Definition: RE_engine.h:43
DrawEngineType draw_engine_external_type
#define EXTERNAL_ENGINE

Definition at line 447 of file external_engine.c.

Referenced by drw_engines_enable_from_engine(), and DRW_engines_register().

◆ 

struct { ... } e_data

◆ external_data_size

const DrawEngineDataSize external_data_size = DRW_VIEWPORT_DATA_SIZE(EXTERNAL_Data)
static

Definition at line 424 of file external_engine.c.