Blender  V2.93
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_screen.h"
#include "GPU_matrix.h"
#include "GPU_shader.h"
#include "GPU_state.h"
#include "GPU_viewport.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_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 (void *vedata)
 
static void external_draw_scene (void *vedata)
 
static void external_engine_free (void)
 

Variables

char datatoc_depth_frag_glsl []
 
char datatoc_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)
 
static 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 46 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

◆ external_cache_finish()

static void external_cache_finish ( void *  UNUSEDvedata)
static

Definition at line 209 of file external_engine.c.

◆ 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_engine_free()

static void external_engine_free ( void  )
static

Definition at line 293 of file external_engine.c.

References DRW_SHADER_FREE_SAFE, and e_data.

◆ external_engine_init()

static void external_engine_init ( void *  vedata)
static

Variable Documentation

◆ datatoc_common_view_lib_glsl

char datatoc_common_view_lib_glsl[]
extern

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

Referenced by external_engine_init().

◆ datatoc_depth_frag_glsl

char datatoc_depth_frag_glsl[]
extern

Referenced by external_engine_init().

◆ datatoc_depth_vert_glsl

char datatoc_depth_vert_glsl[]
extern

Referenced by external_engine_init().

◆ depth_sh

struct GPUShader* depth_sh

Definition at line 92 of file external_engine.c.

◆ draw_engine_external_type

DrawEngineType draw_engine_external_type
static
Initial value:
= {
N_("External"),
}
#define N_(msgid)
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)

Definition at line 300 of file external_engine.c.

◆ 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:65
#define RE_INTERNAL
Definition: RE_engine.h:57
static DrawEngineType draw_engine_external_type
#define EXTERNAL_ENGINE

Definition at line 320 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 298 of file external_engine.c.