Blender
V3.3
|
#include "DRW_render.h"
#include "DEG_depsgraph_query.h"
#include "DNA_particle_types.h"
#include "BKE_pointcache.h"
#include "ED_particle.h"
#include "overlay_private.h"
Go to the source code of this file.
Functions | |
Edit Particles | |
void | OVERLAY_edit_particle_cache_init (OVERLAY_Data *vedata) |
void | OVERLAY_edit_particle_cache_populate (OVERLAY_Data *vedata, Object *ob) |
void | OVERLAY_edit_particle_draw (OVERLAY_Data *vedata) |
Particles | |
void | OVERLAY_particle_cache_init (OVERLAY_Data *vedata) |
void | OVERLAY_particle_cache_populate (OVERLAY_Data *vedata, Object *ob) |
void | OVERLAY_particle_draw (OVERLAY_Data *vedata) |
void OVERLAY_edit_particle_cache_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 24 of file overlay_particle.c.
References DRW_Global::block_ubo, ParticleEditSettings::brushtype, OVERLAY_PrivateData::clipping_state, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_create(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_bool_copy(), DRW_shgroup_uniform_texture(), DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, OVERLAY_PrivateData::edit_particle, OVERLAY_PrivateData::edit_particle_point_grp, OVERLAY_PassList::edit_particle_ps, OVERLAY_PrivateData::edit_particle_strand_grp, G_draw, OVERLAY_shader_edit_particle_point(), OVERLAY_shader_edit_particle_strand(), OVERLAY_StorageList::pd, PE_BRUSH_WEIGHT, PE_settings(), OVERLAY_Data::psl, DRWContextState::scene, OVERLAY_PrivateData::select_mode, ParticleEditSettings::selectmode, sh, state, OVERLAY_Data::stl, OVERLAY_PrivateData::use_weight, and DRW_Global::weight_ramp.
Referenced by OVERLAY_cache_init().
void OVERLAY_edit_particle_cache_populate | ( | OVERLAY_Data * | vedata, |
Object * | ob | ||
) |
Definition at line 50 of file overlay_particle.c.
References DEG_get_original_id(), DEG_get_original_object(), DRWContextState::depsgraph, DRW_cache_particles_get_edit_inner_points(), DRW_cache_particles_get_edit_strands(), DRW_cache_particles_get_edit_tip_points(), DRW_context_state_get(), DRW_shgroup_call, OVERLAY_PrivateData::edit_particle, OVERLAY_PrivateData::edit_particle_point_grp, OVERLAY_PrivateData::edit_particle_strand_grp, ELEM, ListBase::first, GPUBatch, Scene::id, LISTBASE_FOREACH, ParticleSystem::next, NULL, Object::particlesystem, OVERLAY_StorageList::pd, PE_create_current(), PE_get_current_from_psys(), SCE_SELECT_END, SCE_SELECT_POINT, DRWContextState::scene, OVERLAY_PrivateData::select_mode, OVERLAY_Data::stl, and OVERLAY_PrivateData::use_weight.
Referenced by OVERLAY_cache_populate().
void OVERLAY_edit_particle_draw | ( | OVERLAY_Data * | vedata | ) |
Definition at line 105 of file overlay_particle.c.
References DRW_draw_pass(), DRW_state_is_fbo(), OVERLAY_PassList::edit_particle_ps, OVERLAY_Data::fbl, GPU_framebuffer_bind(), OVERLAY_FramebufferList::overlay_default_fb, and OVERLAY_Data::psl.
Referenced by OVERLAY_draw_scene().
void OVERLAY_particle_cache_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 123 of file overlay_particle.c.
References DRW_Global::block_ubo, ParticleEditSettings::brushtype, OVERLAY_PrivateData::clipping_state, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_create(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_texture(), DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, OVERLAY_PrivateData::edit_particle, G_draw, OVERLAY_shader_particle_dot(), OVERLAY_shader_particle_shape(), OVERLAY_PrivateData::particle_dots_grp, OVERLAY_PassList::particle_ps, OVERLAY_PrivateData::particle_shapes_grp, OVERLAY_StorageList::pd, PE_BRUSH_WEIGHT, PE_settings(), OVERLAY_Data::psl, DRW_Global::ramp, DRWContextState::scene, OVERLAY_PrivateData::select_mode, ParticleEditSettings::selectmode, sh, state, OVERLAY_Data::stl, and OVERLAY_PrivateData::use_weight.
Referenced by OVERLAY_cache_init().
void OVERLAY_particle_cache_populate | ( | OVERLAY_Data * | vedata, |
Object * | ob | ||
) |
Definition at line 149 of file overlay_particle.c.
References BKE_object_material_get_eval(), color, copy_v3_v3(), ParticleSettings::draw_as, ParticleSettings::draw_size, DRW_cache_particles_get_dots(), DRW_cache_particles_get_prim(), DRW_object_is_visible_psys_in_active_context(), DRW_shgroup_call, DRW_shgroup_call_instances_with_attrs(), DRW_shgroup_create_sub(), DRW_shgroup_uniform_vec4_copy(), ELEM, GPUBatch, if(), LISTBASE_FOREACH, NULL, ParticleSettings::omat, PART_DRAW_AXIS, PART_DRAW_CIRC, PART_DRAW_CROSS, PART_DRAW_DOT, PART_DRAW_GR, PART_DRAW_NOT, PART_DRAW_OB, PART_DRAW_REND, PART_HAIR, OVERLAY_PrivateData::particle_dots_grp, OVERLAY_PrivateData::particle_shapes_grp, Object::particlesystem, OVERLAY_StorageList::pd, Material::r, ParticleSettings::ren_as, OVERLAY_Data::stl, and ParticleSettings::type.
Referenced by OVERLAY_cache_populate().
void OVERLAY_particle_draw | ( | OVERLAY_Data * | vedata | ) |
Definition at line 200 of file overlay_particle.c.
References DRW_draw_pass(), OVERLAY_PassList::particle_ps, and OVERLAY_Data::psl.
Referenced by OVERLAY_draw_scene().