38 #define BASIC_ENGINE "BLENDER_BASIC"
97 .vert = (
const char *[]){sh_cfg->
lib,
102 .defs = (
const char *[]){sh_cfg->
def,
NULL},
106 .vert = (
const char *[]){sh_cfg->
lib,
110 .geom = (
const char *[]){sh_cfg->
lib,
115 .defs = (
const char *[]){sh_cfg->
def,
"#define CONSERVATIVE_RASTER\n",
NULL},
135 for (
int i = 0; i < 2; i++) {
193 if (is_flat_object_viewed_from_side) {
205 const bool do_cull = (draw_ctx->
v3d &&
210 if (use_sculpt_pbvh) {
bool BKE_sculptsession_use_pbvh_draw(const struct Object *ob, const struct View3D *v3d)
@ V3D_SHADING_BACKFACE_CULLING
char DRWViewportEmptyList
@ DRW_STATE_IN_FRONT_SELECT
@ DRW_STATE_DEPTH_LESS_EQUAL
#define DRW_SHADER_FREE_SAFE(shader)
#define DRW_PASS_CREATE(pass, state)
#define DRW_VIEWPORT_DATA_SIZE(ty)
#define DRW_shgroup_call(shgroup, geom, ob)
struct GPUShader GPUShader
const GPUShaderConfigData GPU_shader_cfg_data[GPU_SHADER_CFG_LEN]
#define GPU_shader_create_from_arrays(...)
#define GPU_SHADER_CFG_LEN
char datatoc_conservative_depth_geom_glsl[]
struct BASIC_Data BASIC_Data
static void basic_cache_populate(void *vedata, Object *ob)
struct BASIC_PrivateData BASIC_PrivateData
struct BASIC_StorageList BASIC_StorageList
BASIC_Shaders sh_data[GPU_SHADER_CFG_LEN]
static const DrawEngineDataSize basic_data_size
static void basic_cache_finish(void *vedata)
char datatoc_common_view_lib_glsl[]
struct BASIC_PassList BASIC_PassList
static void basic_engine_init(void *UNUSED(vedata))
static void basic_engine_free(void)
char datatoc_depth_vert_glsl[]
DrawEngineType draw_engine_basic_type
static void basic_cache_init(void *vedata)
struct BASIC_Shaders BASIC_Shaders
static void basic_draw_scene(void *vedata)
static struct @191 e_data
char datatoc_depth_frag_glsl[]
GPUBatch * DRW_cache_object_all_edges_get(Object *ob)
GPUBatch * DRW_cache_particles_get_hair(Object *object, ParticleSystem *psys, ModifierData *md)
GPUBatch * DRW_cache_object_surface_get(Object *ob)
bool DRW_object_is_flat(Object *ob, int *r_axis)
bool DRW_object_axis_orthogonal_to_view(Object *ob, int axis)
bool DRW_state_is_select(void)
bool DRW_object_is_renderable(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)
const float * DRW_viewport_size_get(void)
bool DRW_state_is_image_render(void)
const float * DRW_viewport_invert_size_get(void)
void DRW_shgroup_call_sculpt(DRWShadingGroup *shgroup, Object *ob, bool use_wire, bool use_mask)
DRWShadingGroup * DRW_shgroup_create(struct GPUShader *shader, DRWPass *pass)
void DRW_shgroup_uniform_vec2(DRWShadingGroup *shgroup, const char *name, const float *value, int arraysize)
void DRW_draw_pass(DRWPass *pass)
void *(* MEM_callocN)(size_t len, const char *str)
DRWViewportEmptyList * fbl
DRWViewportEmptyList * txl
struct DRWPass * depth_pass_cull[2]
struct DRWPass * depth_pass[2]
DRWShadingGroup * depth_shgrp[2]
DRWShadingGroup * depth_hair_shgrp[2]
DRWShadingGroup * depth_shgrp_cull[2]
struct GPUShader * depth_conservative
struct BASIC_PrivateData * g_data
struct Object * object_edit
struct RegionView3D * rv3d