Blender V4.3
draw_subdivision.hh File Reference

Go to the source code of this file.

Classes

struct  blender::draw::DRWPatchMap
 
struct  blender::draw::DRWSubdivCache
 

Namespaces

namespace  blender
 
namespace  blender::gpu
 
namespace  blender::bke
 
namespace  blender::bke::subdiv
 
namespace  blender::draw
 

Functions

void blender::draw::DRW_create_subdivision (Object &ob, Mesh &mesh, MeshBatchCache &batch_cache, MeshBufferCache &mbc, const bool is_editmode, const bool is_paint_mode, const bool edit_mode_active, const float4x4 &object_to_world, const bool do_final, const bool do_uvedit, const bool do_cage, const ToolSettings *ts, const bool use_hide)
 
void blender::draw::DRW_subdivide_loose_geom (DRWSubdivCache &subdiv_cache, const MeshBufferCache &cache)
 
void blender::draw::DRW_subdiv_cache_free (bke::subdiv::Subdiv *subdiv)
 
void blender::draw::draw_subdiv_build_sculpt_data_buffer (const DRWSubdivCache &cache, gpu::VertBuf *mask_vbo, gpu::VertBuf *face_set_vbo, gpu::VertBuf *sculpt_data)
 
void blender::draw::draw_subdiv_accumulate_normals (const DRWSubdivCache &cache, gpu::VertBuf *pos_nor, gpu::VertBuf *face_adjacency_offsets, gpu::VertBuf *face_adjacency_lists, gpu::VertBuf *vertex_loop_map, gpu::VertBuf *vert_normals)
 
void blender::draw::draw_subdiv_finalize_normals (const DRWSubdivCache &cache, gpu::VertBuf *vert_normals, gpu::VertBuf *subdiv_loop_subdiv_vert_index, gpu::VertBuf *pos_nor)
 
void blender::draw::draw_subdiv_finalize_custom_normals (const DRWSubdivCache &cache, gpu::VertBuf *src_custom_normals, gpu::VertBuf *pos_nor)
 
void blender::draw::draw_subdiv_extract_pos_nor (const DRWSubdivCache &cache, gpu::VertBuf *flags_buffer, gpu::VertBuf *pos_nor, gpu::VertBuf *orco)
 
void blender::draw::draw_subdiv_interp_custom_data (const DRWSubdivCache &cache, gpu::VertBuf &src_data, gpu::VertBuf &dst_data, int comp_type, int dimensions, int dst_offset)
 
void blender::draw::draw_subdiv_extract_uvs (const DRWSubdivCache &cache, gpu::VertBuf *uvs, const int face_varying_channel, const int dst_offset)
 
void blender::draw::draw_subdiv_build_edge_fac_buffer (const DRWSubdivCache &cache, gpu::VertBuf *pos_nor, gpu::VertBuf *edge_draw_flag, gpu::VertBuf *poly_other_map, gpu::VertBuf *edge_fac)
 
void blender::draw::draw_subdiv_build_tris_buffer (const DRWSubdivCache &cache, gpu::IndexBuf *subdiv_tris, const int material_count)
 
void blender::draw::draw_subdiv_build_lines_buffer (const DRWSubdivCache &cache, gpu::IndexBuf *lines_indices)
 
void blender::draw::draw_subdiv_build_lines_loose_buffer (const DRWSubdivCache &cache, gpu::IndexBuf *lines_indices, gpu::VertBuf *lines_flags, uint edge_loose_offset, uint num_loose_edges)
 
void blender::draw::draw_subdiv_build_fdots_buffers (const DRWSubdivCache &cache, gpu::VertBuf *fdots_pos, gpu::VertBuf *fdots_nor, gpu::IndexBuf *fdots_indices)
 
void blender::draw::draw_subdiv_build_lnor_buffer (const DRWSubdivCache &cache, gpu::VertBuf *pos_nor, gpu::VertBuf *lnor)
 
void blender::draw::draw_subdiv_build_edituv_stretch_area_buffer (const DRWSubdivCache &cache, gpu::VertBuf *coarse_data, gpu::VertBuf *subdiv_data)
 
void blender::draw::draw_subdiv_build_edituv_stretch_angle_buffer (const DRWSubdivCache &cache, gpu::VertBuf *pos_nor, gpu::VertBuf *uvs, int uvs_offset, gpu::VertBuf *stretch_angles)
 
int blender::draw::subdiv_edges_per_coarse_edge (const DRWSubdivCache &cache)
 
int blender::draw::subdiv_verts_per_coarse_edge (const DRWSubdivCache &cache)
 
int blender::draw::subdiv_loose_edges_num (const MeshRenderData &mr, const DRWSubdivCache &cache)
 
int blender::draw::subdiv_full_vbo_size (const MeshRenderData &mr, const DRWSubdivCache &cache)
 
DRWSubdivCache

This holds the various buffers used to evaluate and render subdivision through OpenGL.

void blender::draw::draw_subdiv_cache_free (DRWSubdivCache &cache)
 
Utilities to build a gpu::VertBuf from an origindex buffer.
void blender::draw::draw_subdiv_init_origindex_buffer (gpu::VertBuf &buffer, int32_t *vert_origindex, uint num_loops, uint loose_len)
 
gpu::VertBufblender::draw::draw_subdiv_build_origindex_buffer (int *vert_origindex, uint num_loops)
 
Vertex Formats

Used for data transfer from OpenSubdiv, and for data processing on our side.

const GPUVertFormatblender::draw::draw_subdiv_get_pos_nor_format ()