|
Blender
V2.93
|
#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 |
Base engine for external render engines. We use it for depth and non-mesh objects.
Definition in file external_engine.c.
| #define EXTERNAL_ENGINE "BLENDER_EXTERNAL" |
Definition at line 46 of file external_engine.c.
| typedef struct EXTERNAL_Data EXTERNAL_Data |
| typedef struct EXTERNAL_FramebufferList EXTERNAL_FramebufferList |
| typedef struct EXTERNAL_PassList EXTERNAL_PassList |
| typedef struct EXTERNAL_PrivateData EXTERNAL_PrivateData |
| typedef struct EXTERNAL_Storage EXTERNAL_Storage |
| typedef struct EXTERNAL_StorageList EXTERNAL_StorageList |
| typedef struct EXTERNAL_TextureList EXTERNAL_TextureList |
|
static |
Definition at line 209 of file external_engine.c.
|
static |
Definition at line 140 of file external_engine.c.
References EXTERNAL_FramebufferList::depth_buffer_fb, EXTERNAL_TextureList::depth_buffer_tx, EXTERNAL_PassList::depth_pass, EXTERNAL_PrivateData::depth_shgrp, DRW_context_state_get(), DRW_pass_create(), DRW_shgroup_create(), DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_DEPTH, DRW_texture_ensure_fullscreen_2d(), e_data, View3D::flag2, EXTERNAL_StorageList::g_data, GPU_DEPTH24_STENCIL8, EXTERNAL_PrivateData::need_depth, DRWContextState::v3d, and V3D_HIDE_OVERLAYS.
|
static |
Definition at line 169 of file external_engine.c.
References EXTERNAL_PrivateData::depth_shgrp, ParticleSettings::draw_as, DRW_cache_object_surface_get(), DRW_cache_particles_get_hair(), DRW_object_is_renderable(), DRW_object_is_visible_psys_in_active_context(), DRW_object_visibility_in_active_context(), DRW_shgroup_call, eModifierType_ParticleSystem, ListBase::first, EXTERNAL_StorageList::g_data, GPUBatch, if(), LISTBASE_FOREACH, Object::modifiers, EXTERNAL_PrivateData::need_depth, NULL, OB_GPENCIL, OB_MESH, OB_VISIBLE_SELF, ParticleSystem::part, PART_DRAW_PATH, PART_DRAW_REND, ParticleSettings::ren_as, and Object::type.
|
static |
Definition at line 262 of file external_engine.c.
References DefaultFramebufferList::default_fb, EXTERNAL_FramebufferList::depth_buffer_fb, DefaultFramebufferList::depth_only_fb, EXTERNAL_PassList::depth_pass, DRW_context_state_get(), DRW_draw_pass(), DRW_viewport_framebuffer_list_get(), DRWContextState::evil_C, external_draw_scene_do(), EXTERNAL_StorageList::g_data, GPU_DEPTH_BIT, GPU_framebuffer_bind(), GPU_framebuffer_blit(), EXTERNAL_PrivateData::need_depth, and EXTERNAL_PrivateData::update_depth.
|
static |
Definition at line 213 of file external_engine.c.
References BLI_strncpy(), data, DRWContextState::depsgraph, DRW_context_state_get(), DRW_STATE_DEFAULT, DRW_STATE_DEPTH_LESS_EQUAL, DRW_state_reset_ex(), ED_region_pixelspace(), DRWContextState::engine_type, DRWContextState::evil_C, GPU_bgl_end(), GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_push(), GPU_matrix_push_projection(), Scene::r, RE_engine_create(), DRWContextState::region, RegionView3D::render_engine, DRWContextState::rv3d, scene, DRWContextState::scene, RenderEngine::text, RenderEngine::tile_x, RenderEngine::tile_y, RenderData::tilex, RenderData::tiley, type, RenderEngine::type, RenderEngineType::view_draw, and RenderEngineType::view_update.
Referenced by external_draw_scene().
|
static |
Definition at line 293 of file external_engine.c.
References DRW_SHADER_FREE_SAFE, and e_data.
|
static |
Definition at line 105 of file external_engine.c.
References datatoc_common_view_lib_glsl, datatoc_depth_frag_glsl, datatoc_depth_vert_glsl, GPUShaderConfigData::def, ARegion::do_draw, DRW_context_state_get(), e_data, EXTERNAL_StorageList::g_data, GPU_shader_cfg_data, GPU_SHADER_CFG_DEFAULT, GPU_shader_create_from_arrays, GPUShaderConfigData::lib, MEM_mallocN, EXTERNAL_PrivateData::need_depth, NULL, DRWContextState::region, RGN_DRAW_NO_REBUILD, and EXTERNAL_PrivateData::update_depth.
|
extern |
Definition at line 59 of file intern/ghost/test/multitest/stubs.c.
Referenced by external_engine_init().
|
extern |
Referenced by external_engine_init().
|
extern |
Referenced by external_engine_init().
| struct GPUShader* depth_sh |
Definition at line 92 of file external_engine.c.
|
static |
Definition at line 300 of file external_engine.c.
| RenderEngineType DRW_engine_viewport_external_type |
Definition at line 320 of file external_engine.c.
Referenced by drw_engines_enable_from_engine(), and DRW_engines_register().
| struct { ... } e_data |
Referenced by external_cache_init(), external_engine_free(), and external_engine_init().
|
static |
Definition at line 298 of file external_engine.c.