46 #define EXTERNAL_ENGINE "BLENDER_EXTERNAL"
116 .vert = (
const char *[]){sh_cfg->
lib,
121 .defs = (
const char *[]){sh_cfg->
def,
NULL},
154 GPU_ATTACHMENT_TEXTURE(txl->depth_buffer_tx),
258 data->info[0] =
'\0';
274 const float clear_col[4] = {0, 0, 0, 0};
278 GPU_framebuffer_clear_color(dfbl->
default_fb, clear_col);
337 #undef EXTERNAL_ENGINE
General operations, lookup, etc. for blender objects.
#define LISTBASE_FOREACH(type, var, list)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
@ eModifierType_ParticleSystem
#define V3D_HIDE_OVERLAYS
@ DRW_STATE_DEPTH_LESS_EQUAL
#define DRW_SHADER_FREE_SAFE(shader)
#define DRW_STATE_DEFAULT
#define DRW_VIEWPORT_DATA_SIZE(ty)
#define DRW_shgroup_call(shgroup, geom, ob)
void ED_region_pixelspace(struct ARegion *region)
struct GPUFrameBuffer GPUFrameBuffer
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
void GPU_matrix_pop(void)
void GPU_matrix_pop_projection(void)
void GPU_matrix_push(void)
void GPU_matrix_push_projection(void)
struct GPUShader GPUShader
const GPUShaderConfigData GPU_shader_cfg_data[GPU_SHADER_CFG_LEN]
#define GPU_shader_create_from_arrays(...)
struct GPUTexture GPUTexture
#define RE_USE_STEREO_VIEWPORT
GPUBatch * DRW_cache_particles_get_hair(Object *object, ParticleSystem *psys, ModifierData *md)
GPUBatch * DRW_cache_object_surface_get(Object *ob)
DefaultFramebufferList * DRW_viewport_framebuffer_list_get(void)
bool DRW_object_is_renderable(const Object *ob)
int DRW_object_visibility_in_active_context(const Object *ob)
bool DRW_object_is_visible_psys_in_active_context(const Object *object, const ParticleSystem *psys)
const DRWContextState * DRW_context_state_get(void)
DRWShadingGroup * DRW_shgroup_create(struct GPUShader *shader, DRWPass *pass)
DRWPass * DRW_pass_create(const char *name, DRWState state)
void DRW_draw_pass(DRWPass *pass)
void DRW_state_reset_ex(DRWState state)
void DRW_texture_ensure_fullscreen_2d(GPUTexture **tex, eGPUTextureFormat format, DRWTextureFlag flags)
RenderEngine * RE_engine_create(RenderEngineType *type)
static void external_cache_populate(void *vedata, Object *ob)
RenderEngineType DRW_engine_viewport_external_type
struct EXTERNAL_FramebufferList EXTERNAL_FramebufferList
struct EXTERNAL_StorageList EXTERNAL_StorageList
struct EXTERNAL_PassList EXTERNAL_PassList
struct EXTERNAL_Storage EXTERNAL_Storage
static void external_draw_scene(void *vedata)
char datatoc_common_view_lib_glsl[]
static DrawEngineType draw_engine_external_type
static void external_engine_init(void *vedata)
static struct @208 e_data
static void external_cache_finish(void *UNUSED(vedata))
struct EXTERNAL_TextureList EXTERNAL_TextureList
struct GPUShader * depth_sh
static void external_engine_free(void)
struct EXTERNAL_Data EXTERNAL_Data
char datatoc_depth_vert_glsl[]
struct EXTERNAL_PrivateData EXTERNAL_PrivateData
static const DrawEngineDataSize external_data_size
char datatoc_depth_frag_glsl[]
static void external_draw_scene_do(void *vedata)
static void external_cache_init(void *vedata)
void GPU_framebuffer_blit(GPUFrameBuffer *gpufb_read, int read_slot, GPUFrameBuffer *gpufb_write, int write_slot, eGPUFrameBufferBits blit_buffers)
void *(* MEM_mallocN)(size_t len, const char *str)
const struct bContext * evil_C
struct Depsgraph * depsgraph
struct RenderEngineType * engine_type
struct RegionView3D * rv3d
struct GPUFrameBuffer * depth_only_fb
struct GPUFrameBuffer * default_fb
EXTERNAL_FramebufferList * fbl
EXTERNAL_StorageList * stl
EXTERNAL_TextureList * txl
struct GPUFrameBuffer * depth_buffer_fb
struct DRWPass * depth_pass
DRWShadingGroup * depth_shgrp
struct EXTERNAL_PrivateData * g_data
struct EXTERNAL_Storage * storage
struct GPUTexture * depth_buffer_tx
struct RenderEngine * render_engine
void(* view_draw)(struct RenderEngine *engine, const struct bContext *context, struct Depsgraph *depsgraph)
void(* view_update)(struct RenderEngine *engine, const struct bContext *context, struct Depsgraph *depsgraph)