Blender
V3.3
|
#include "DRW_render.h"
#include "ED_view3d.h"
#include "DNA_mesh_types.h"
#include "BKE_customdata.h"
#include "BKE_editmesh.h"
#include "BKE_object.h"
#include "draw_cache_impl.h"
#include "draw_manager_text.h"
#include "overlay_private.h"
Go to the source code of this file.
Macros | |
#define | OVERLAY_EDIT_TEXT |
Functions | |
void | OVERLAY_edit_mesh_init (OVERLAY_Data *vedata) |
void | OVERLAY_edit_mesh_cache_init (OVERLAY_Data *vedata) |
static void | overlay_edit_mesh_add_ob_to_pass (OVERLAY_PrivateData *pd, Object *ob, bool in_front) |
void | OVERLAY_edit_mesh_cache_populate (OVERLAY_Data *vedata, Object *ob) |
static void | overlay_edit_mesh_draw_components (OVERLAY_PassList *psl, OVERLAY_PrivateData *pd, bool in_front) |
void | OVERLAY_edit_mesh_draw (OVERLAY_Data *vedata) |
#define OVERLAY_EDIT_TEXT |
Definition at line 23 of file overlay_edit_mesh.c.
|
static |
Definition at line 212 of file overlay_edit_mesh.c.
References BKE_object_get_editmesh_eval_cage(), BKE_object_get_editmesh_eval_final(), CD_MVERT_SKIN, CustomData_get_offset(), Object::data, DRW_cache_circle_get(), DRW_mesh_batch_cache_get_edit_edges(), DRW_mesh_batch_cache_get_edit_facedots(), DRW_mesh_batch_cache_get_edit_skin_roots(), DRW_mesh_batch_cache_get_edit_triangles(), DRW_mesh_batch_cache_get_edit_vertices(), DRW_shgroup_call_instances_with_attrs(), DRW_shgroup_call_no_cull, OVERLAY_PrivateData::edit_mesh, Mesh::edit_mesh, OVERLAY_PrivateData::edit_mesh_edges_grp, OVERLAY_PrivateData::edit_mesh_facedots_grp, OVERLAY_PrivateData::edit_mesh_faces_cage_grp, OVERLAY_PrivateData::edit_mesh_faces_grp, OVERLAY_PrivateData::edit_mesh_skin_roots_grp, OVERLAY_PrivateData::edit_mesh_verts_grp, GPUBatch, if(), and OVERLAY_PrivateData::select_vert.
Referenced by OVERLAY_edit_mesh_cache_populate().
void OVERLAY_edit_mesh_cache_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 42 of file overlay_edit_mesh.c.
References View3DOverlay::backwire_opacity, DRW_Global::block_ubo, OVERLAY_PrivateData::clipping_state, OVERLAY_ShadingData::data_mask, DefaultTextureList::depth, OVERLAY_PrivateData::do_edges, OVERLAY_PrivateData::do_faces, OVERLAY_PrivateData::do_zbufclip, DRW_context_state_get(), DRW_PASS_CREATE, DRW_shgroup_create(), DRW_shgroup_state_enable(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_bool_copy(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_ivec4(), DRW_shgroup_uniform_ivec4_copy(), DRW_shgroup_uniform_texture(), DRW_shgroup_uniform_texture_ref(), DRW_STATE_BLEND_ALPHA, DRW_STATE_CULL_BACK, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_FIRST_VERTEX_CONVENTION, DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_viewport_texture_list_get(), OVERLAY_TextureList::dummy_depth_tx, View3DOverlay::edit_flag, OVERLAY_PrivateData::edit_mesh, OVERLAY_PrivateData::edit_mesh_analysis_grp, OVERLAY_PassList::edit_mesh_analysis_ps, OVERLAY_PrivateData::edit_mesh_depth_grp, OVERLAY_PassList::edit_mesh_depth_ps, OVERLAY_PrivateData::edit_mesh_edges_grp, OVERLAY_PassList::edit_mesh_edges_ps, OVERLAY_PrivateData::edit_mesh_facedots_grp, OVERLAY_PrivateData::edit_mesh_faces_cage_grp, OVERLAY_PassList::edit_mesh_faces_cage_ps, OVERLAY_PrivateData::edit_mesh_faces_grp, OVERLAY_PassList::edit_mesh_faces_ps, OVERLAY_PrivateData::edit_mesh_normals_grp, OVERLAY_PassList::edit_mesh_normals_ps, OVERLAY_PrivateData::edit_mesh_skin_roots_grp, OVERLAY_PrivateData::edit_mesh_verts_grp, OVERLAY_PassList::edit_mesh_verts_ps, OVERLAY_PrivateData::flag, View3DShading::flag, G_draw, mask(), View3DOverlay::normals_constant_screen_size, View3DOverlay::normals_length, NULL, OB_SOLID, View3D::overlay, OVERLAY_shader_depth_only(), OVERLAY_shader_edit_mesh_analysis(), OVERLAY_shader_edit_mesh_edge(), OVERLAY_shader_edit_mesh_face(), OVERLAY_shader_edit_mesh_facedot(), OVERLAY_shader_edit_mesh_normal(), OVERLAY_shader_edit_mesh_skin_root(), OVERLAY_shader_edit_mesh_vert(), OVERLAY_StorageList::pd, OVERLAY_Data::psl, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, DRWContextState::scene, OVERLAY_PrivateData::select_edge, OVERLAY_PrivateData::select_face, OVERLAY_PrivateData::select_vert, ToolSettings::selectmode, SET_FLAG_FROM_TEST, sh, View3D::shading, OVERLAY_PrivateData::shdata, state, OVERLAY_Data::stl, Scene::toolsettings, OVERLAY_Data::txl, View3DShading::type, USER_GPU_FLAG_NO_EDIT_MODE_SMOOTH_WIRE, DRWContextState::v3d, V3D_OVERLAY_EDIT_BWEIGHTS, V3D_OVERLAY_EDIT_CONSTANT_SCREEN_SIZE_NORMALS, V3D_OVERLAY_EDIT_CREASES, V3D_OVERLAY_EDIT_EDGES, V3D_OVERLAY_EDIT_FACE_DOT, V3D_OVERLAY_EDIT_FACES, V3D_OVERLAY_EDIT_FREESTYLE_EDGE, V3D_OVERLAY_EDIT_FREESTYLE_FACE, V3D_OVERLAY_EDIT_OCCLUDE_WIRE, V3D_OVERLAY_EDIT_SEAMS, V3D_OVERLAY_EDIT_SHARP, V3D_SHADING_XRAY, VFLAG_EDGE_FREESTYLE, VFLAG_EDGE_SEAM, VFLAG_EDGE_SHARP, VFLAG_FACE_FREESTYLE, VFLAG_FACE_SELECTED, and DRW_Global::weight_ramp.
Referenced by OVERLAY_cache_init().
void OVERLAY_edit_mesh_cache_populate | ( | OVERLAY_Data * | vedata, |
Object * | ob | ||
) |
Definition at line 259 of file overlay_edit_mesh.c.
References Object::data, OVERLAY_PrivateData::do_zbufclip, DRW_cache_mesh_surface_get(), DRW_cache_mesh_surface_mesh_analysis_get(), DRW_cache_normal_arrow_get(), DRW_context_state_get(), DRW_mesh_batch_cache_get_edit_facedots(), DRW_mesh_batch_cache_get_edit_lnors(), DRW_mesh_batch_cache_get_edit_vnors(), DRW_shgroup_call_instances_with_attrs(), DRW_shgroup_call_no_cull, DRW_state_show_text(), DRW_text_edit_mesh_measure_stats(), Object::dt, Object::dtx, OVERLAY_PrivateData::edit_mesh, OVERLAY_PrivateData::edit_mesh_analysis_grp, OVERLAY_PrivateData::edit_mesh_depth_grp, OVERLAY_PrivateData::edit_mesh_normals_grp, OVERLAY_PrivateData::flag, GPUBatch, NULL, OB_DRAW_IN_FRONT, OB_WIRE, overlay_edit_mesh_add_ob_to_pass(), OVERLAY_EDIT_TEXT, OVERLAY_StorageList::pd, DRWContextState::region, DRWContextState::scene, OVERLAY_Data::stl, Scene::unit, DRWContextState::v3d, V3D_OVERLAY_EDIT_FACE_NORMALS, V3D_OVERLAY_EDIT_LOOP_NORMALS, V3D_OVERLAY_EDIT_OCCLUDE_WIRE, V3D_OVERLAY_EDIT_STATVIS, V3D_OVERLAY_EDIT_VERT_NORMALS, and OVERLAY_PrivateData::xray_enabled.
Referenced by OVERLAY_cache_populate().
void OVERLAY_edit_mesh_draw | ( | OVERLAY_Data * | vedata | ) |
Definition at line 330 of file overlay_edit_mesh.c.
References OVERLAY_PrivateData::do_zbufclip, DRW_draw_pass(), DRW_pass_is_empty(), DRW_state_is_fbo(), DRW_view_set_active(), OVERLAY_PrivateData::edit_mesh, OVERLAY_PassList::edit_mesh_analysis_ps, OVERLAY_PassList::edit_mesh_depth_ps, OVERLAY_PassList::edit_mesh_edges_ps, OVERLAY_PassList::edit_mesh_faces_cage_ps, OVERLAY_PassList::edit_mesh_faces_ps, OVERLAY_PassList::edit_mesh_normals_ps, OVERLAY_PassList::edit_mesh_verts_ps, OVERLAY_Data::fbl, GPU_framebuffer_bind(), IN_FRONT, NOT_IN_FRONT, NULL, OVERLAY_FramebufferList::overlay_default_fb, overlay_edit_mesh_draw_components(), OVERLAY_FramebufferList::overlay_in_front_fb, OVERLAY_StorageList::pd, OVERLAY_Data::psl, OVERLAY_Data::stl, OVERLAY_PrivateData::view_edit_edges, OVERLAY_PrivateData::view_edit_faces, OVERLAY_PrivateData::view_edit_faces_cage, and OVERLAY_PrivateData::view_edit_verts.
Referenced by OVERLAY_draw_scene().
|
static |
Definition at line 313 of file overlay_edit_mesh.c.
References DRW_draw_pass(), DRW_view_set_active(), OVERLAY_PassList::edit_mesh_edges_ps, OVERLAY_PassList::edit_mesh_faces_cage_ps, OVERLAY_PassList::edit_mesh_faces_ps, OVERLAY_PassList::edit_mesh_verts_ps, OVERLAY_PrivateData::view_edit_edges, OVERLAY_PrivateData::view_edit_faces, OVERLAY_PrivateData::view_edit_faces_cage, and OVERLAY_PrivateData::view_edit_verts.
Referenced by OVERLAY_edit_mesh_draw().
void OVERLAY_edit_mesh_init | ( | OVERLAY_Data * | vedata | ) |
Definition at line 27 of file overlay_edit_mesh.c.
References OVERLAY_PrivateData::do_zbufclip, DRW_context_state_get(), DRW_view_create_with_zoffset(), DRW_view_default_get(), OVERLAY_PrivateData::edit_mesh, OVERLAY_StorageList::pd, DRWContextState::rv3d, OVERLAY_Data::stl, DRWContextState::v3d, OVERLAY_PrivateData::view_edit_edges, OVERLAY_PrivateData::view_edit_faces, OVERLAY_PrivateData::view_edit_faces_cage, OVERLAY_PrivateData::view_edit_verts, and XRAY_FLAG_ENABLED.
Referenced by OVERLAY_engine_init().