72 if (edit ==
nullptr) {
88 if (psys ==
nullptr) {
89 printf(
"Error getting evaluated particle system for edit.\n");
93 blender::gpu::Batch *geom;
173 blender::gpu::Batch *shape =
nullptr;
180 float color[4] = {0.6f, 0.6f, 0.6f, part->draw_size};
struct Material * BKE_object_material_get_eval(struct Object *ob, short act)
#define LISTBASE_FOREACH(type, var, list)
MINLINE void copy_v3_v3(float r[3], const float a[3])
ID * DEG_get_original_id(ID *id)
Object * DEG_get_original_object(Object *object)
#define DRW_PASS_CREATE(pass, state)
#define DRW_shgroup_uniform_block(shgroup, name, ubo)
#define DRW_shgroup_call(shgroup, geom, ob)
PTCacheEdit * PE_get_current_from_psys(ParticleSystem *psys)
ParticleEditSettings * PE_settings(Scene *scene)
PTCacheEdit * PE_create_current(Depsgraph *depsgraph, Scene *scene, Object *ob)
void GPU_framebuffer_bind(GPUFrameBuffer *framebuffer)
struct GPUShader GPUShader
blender::gpu::Batch * DRW_cache_particles_get_prim(int type)
blender::gpu::Batch * DRW_cache_particles_get_dots(Object *object, ParticleSystem *psys)
blender::gpu::Batch * DRW_cache_particles_get_edit_strands(Object *object, ParticleSystem *psys, PTCacheEdit *edit, bool use_weight)
blender::gpu::Batch * DRW_cache_particles_get_edit_tip_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
blender::gpu::Batch * DRW_cache_particles_get_edit_inner_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
bool DRW_object_is_visible_psys_in_active_context(const Object *object, const ParticleSystem *psys)
const DRWContextState * DRW_context_state_get()
DRWShadingGroup * DRW_shgroup_create(GPUShader *shader, DRWPass *pass)
void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)
void DRW_shgroup_call_instances_with_attrs(DRWShadingGroup *shgroup, const Object *ob, blender::gpu::Batch *geom, blender::gpu::Batch *inst_attributes)
DRWShadingGroup * DRW_shgroup_create_sub(DRWShadingGroup *shgroup)
void DRW_shgroup_uniform_vec4_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_shgroup_uniform_bool_copy(DRWShadingGroup *shgroup, const char *name, const bool value)
void DRW_draw_pass(DRWPass *pass)
@ DRW_STATE_DEPTH_LESS_EQUAL
void OVERLAY_particle_draw(OVERLAY_Data *vedata)
void OVERLAY_edit_particle_cache_init(OVERLAY_Data *vedata)
void OVERLAY_particle_cache_init(OVERLAY_Data *vedata)
void OVERLAY_edit_particle_cache_populate(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_particle_cache_populate(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_edit_particle_draw(OVERLAY_Data *vedata)
GPUShader * OVERLAY_shader_edit_particle_point()
GPUShader * OVERLAY_shader_particle_shape()
GPUShader * OVERLAY_shader_edit_particle_strand()
GPUShader * OVERLAY_shader_particle_dot()
GPUUniformBuf * block_ubo
OVERLAY_StorageList * stl
OVERLAY_FramebufferList * fbl
GPUFrameBuffer * overlay_default_fb
DRWPass * edit_particle_ps
struct OVERLAY_PrivateData::@232 edit_particle
DRWShadingGroup * edit_particle_point_grp
DRWShadingGroup * edit_particle_strand_grp
DRWShadingGroup * particle_dots_grp
DRWShadingGroup * particle_shapes_grp
struct ParticleSystem * next