Blender
V3.3
|
#include "DRW_render.h"
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BLI_alloca.h"
#include "DNA_particle_types.h"
#include "GPU_shader.h"
#include "basic_engine.h"
#include "basic_private.h"
Go to the source code of this file.
Classes | |
struct | BASIC_StorageList |
struct | BASIC_PassList |
struct | BASIC_Data |
struct | BASIC_PrivateData |
Macros | |
#define | BASIC_ENGINE "BLENDER_BASIC" |
Typedefs | |
typedef struct BASIC_StorageList | BASIC_StorageList |
typedef struct BASIC_PassList | BASIC_PassList |
typedef struct BASIC_Data | BASIC_Data |
typedef struct BASIC_PrivateData | BASIC_PrivateData |
Functions | |
static void | basic_cache_init (void *vedata) |
static struct GPUBatch ** | basic_object_surface_material_get (Object *ob) |
static void | basic_cache_populate_particles (void *vedata, Object *ob) |
static void | basic_cache_populate (void *vedata, Object *ob) |
static void | basic_cache_finish (void *vedata) |
static void | basic_draw_scene (void *vedata) |
static void | basic_engine_free (void) |
Variables | |
static const DrawEngineDataSize | basic_data_size = DRW_VIEWPORT_DATA_SIZE(BASIC_Data) |
DrawEngineType | draw_engine_basic_type |
Simple engine for drawing color and/or depth. When we only need simple flat shaders.
Definition in file basic_engine.c.
#define BASIC_ENGINE "BLENDER_BASIC" |
Definition at line 26 of file basic_engine.c.
typedef struct BASIC_Data BASIC_Data |
typedef struct BASIC_PassList BASIC_PassList |
typedef struct BASIC_PrivateData BASIC_PrivateData |
typedef struct BASIC_StorageList BASIC_StorageList |
Definition at line 228 of file basic_engine.c.
References UNUSED_VARS.
Definition at line 61 of file basic_engine.c.
References BASIC_shaders_curves_depth_sh_get(), BASIC_shaders_depth_conservative_sh_get(), BASIC_shaders_depth_sh_get(), BASIC_shaders_pointcloud_depth_conservative_sh_get(), BASIC_shaders_pointcloud_depth_sh_get(), BASIC_PrivateData::depth_curves_shgrp, BASIC_PrivateData::depth_hair_shgrp, BASIC_PassList::depth_pass, BASIC_PassList::depth_pass_cull, BASIC_PassList::depth_pass_pointcloud, BASIC_PrivateData::depth_pointcloud_shgrp, BASIC_PrivateData::depth_shgrp, BASIC_PrivateData::depth_shgrp_cull, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_create(), DRW_shgroup_uniform_vec2(), DRW_STATE_CLIP_PLANES, DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_IN_FRONT_SELECT, DRW_state_is_material_select(), DRW_state_is_select(), DRW_STATE_WRITE_DEPTH, DRW_viewport_invert_size_get(), DRW_viewport_size_get(), BASIC_StorageList::g_data, GPU_SHADER_CFG_CLIPPED, MEM_callocN, sh, DRWContextState::sh_cfg, state, and BASIC_PrivateData::use_material_slot_selection.
Definition at line 148 of file basic_engine.c.
References basic_cache_populate_particles(), basic_object_surface_material_get(), BKE_object_supports_material_slots(), BKE_sculptsession_use_pbvh_draw(), BASIC_PrivateData::depth_curves_shgrp, BASIC_PrivateData::depth_pointcloud_shgrp, BASIC_PrivateData::depth_shgrp, BASIC_PrivateData::depth_shgrp_cull, DRW_cache_object_all_edges_get(), DRW_cache_object_material_count_get(), DRW_cache_object_surface_get(), DRW_context_state_get(), DRW_object_axis_orthogonal_to_view(), DRW_object_is_flat(), DRW_object_is_renderable(), DRW_select_load_id(), DRW_shgroup_call, DRW_shgroup_call_sculpt(), DRW_shgroup_curves_create_sub(), DRW_state_is_image_render(), Object::dt, Object::dtx, View3DShading::flag, View3DOverlay::flag, BASIC_StorageList::g_data, GPUBatch, NULL, OB_CURVES, OB_DRAW_IN_FRONT, OB_DRAWWIRE, OB_POINTCLOUD, OB_SOLID, OB_WIRE, DRWContextState::object_edit, View3D::overlay, RegionView3D::persp, Object::runtime, DRWContextState::rv3d, RV3D_ORTHO, Object_Runtime::select_id, View3D::shading, Object::type, View3DShading::type, BASIC_PrivateData::use_material_slot_selection, DRWContextState::v3d, V3D_OVERLAY_WIREFRAMES, and V3D_SHADING_BACKFACE_CULLING.
Definition at line 127 of file basic_engine.c.
References BASIC_PrivateData::depth_hair_shgrp, ParticleSettings::draw_as, DRW_cache_particles_get_hair(), DRW_object_is_visible_psys_in_active_context(), DRW_select_load_id(), DRW_shgroup_call, Object::dtx, ListBase::first, BASIC_StorageList::g_data, GPUBatch, if(), NULL, OB_DRAW_IN_FRONT, ParticleSettings::omat, PART_DRAW_PATH, PART_DRAW_REND, Object::particlesystem, ParticleSettings::ren_as, Object::runtime, Object_Runtime::select_id, and BASIC_PrivateData::use_material_slot_selection.
Referenced by basic_cache_populate().
Definition at line 235 of file basic_engine.c.
References BASIC_PassList::depth_pass, BASIC_PassList::depth_pass_cull, BASIC_PassList::depth_pass_pointcloud, and DRW_draw_pass().
Definition at line 247 of file basic_engine.c.
References BASIC_shaders_free().
Definition at line 118 of file basic_engine.c.
References BLI_array_alloca, DRW_cache_object_material_count_get(), and DRW_cache_object_surface_material_get().
Referenced by basic_cache_populate().
|
static |
Definition at line 252 of file basic_engine.c.
DrawEngineType draw_engine_basic_type |
Definition at line 254 of file basic_engine.c.
Referenced by drw_engines_enable_basic(), and DRW_engines_register().