Dev:Source/Development/Todo/BMesh
< Dev:Source | Development | Todo
2015年12月28日 (月) 04:11時点におけるwiki>Brechtによる版 (moved Dev:2.5/Source/Development/Todo/BMesh to Dev:Source/Development/Todo/BMesh)
Here are the known todos remaining
目次
BMesh Todos
Update: We now have a bug tracker for BMesh bugs so while this page wont be removed, the tracker should prove more useful in tracking each issue and assigning issues to developers.
See: http://projects.blender.org/tracker/?atid=516&group_id=9&func=browse
--Ideasman42 12:50, 31 August 2011 (CEST)
Uv Unwrapping
- stretch is shown wrong for area
- stretch is not shown for angle
- island select selects all, instead of just the island of interest
- UVs > Show/Hide Faces (the only thing it does is deselecting)
- UVs > Snap > Selected to Adjacent Unselected
- Smart UV Project
- Lightmap Pack
- New UV Maps are called "Face Texture". This is not what they are.. they are UV Maps
- Follow Active Quads (always give the error "Active face not selected." even though it's)
- Suzanne Mesh unwrap has a few vertices in wrong place (very long spikes)
Animating
- add 1 shapekey to a "heavy mesh" and playback speed crawls ZanQdo
Compositing
BMESH_TODOs In Code
- bmesh/intern/bmesh_construct.c: does BM_Copy_Attributes need special handling for hide flags?
- bmesh/intern/bmesh_eulers.c: make separate debug levels of validation
- bmesh/intern/bmesh_eulers.c: add UnglueFaceRegionMakeVert and GlueFaceRegionKillVert eulers
- bmesh/intern/bmesh_marking.c: BM_editselection_plane missing some special handling of based on edge lengths of faces
- bmesh/intern/bmesh_mods.c: check KV valence in bmesh_collapse_vert
- bmesh/intern/bmesh_newcore.c: reinsert validation code in bmesh_loop_reverse
- bmesh/intern/bmesh_operators.c: investigate not freeing flag until all operators have executed (performance optimization)
- bmesh/intern/bmesh_polygon.c: add tesselator to create BMTriangles from copied faces
- bmesh/intern/bmesh_polygon.c: add function that checks for and flags degenerate faces
- bmesh/intern/bmesh_queries.c: move BM_Face_Sharededges to struct and wrap
- bmesh/intern/bmesh_walkers.c: add searchmask filtering
- bmesh/intern/createops.c: some fix to edge_weight_path needed
- bmesh/intern/subdivideop.c: clip if needed by mirror modifier
- blenkernel/BKE_customdata.h: CustomData_update_typemap shouldn't be public, but needed in readfile
- blenkernel/intern/bvhutils.c: bvhtree_from_mesh_faces needs work
- blenkernel/intern/customdata.c: layerInterp_mdisps needs to actually interpolate, and layerValidate_mdisps should do something too
- blenkernel/intern/editderivedbmesh.c: bmDM_drawMappedFaces should pay attention to useColors and setMaterial parameters, and similar for bmDM_drawMappedFacesGLSL
- blenkernel/intern/editderivedbmesh.c: bmDM_copyFaceArray has a hack that should be fixed
- blenkernel/intern/editderivedbmesh.c: bmDM_getFaceDataArray still needs to get tface data derived from loops
- blenkernel/intern/mesh.c: convert_mfaces_to_mpolys: deal with fgons
- blenkernel/intern/multires.c: need to update multires data after topology change
- blenkernel/intern/subsurf_ccg.c: implement ss_sync_from_uv
- blenkernel/intern/BME_conversions.c: BME_bmesh_to_derivedmesh should add in mloops and mpolys as well
- blenlib/BLI_smallhash.h: want to use ABS(key) but MSVC throws error
- blenlib/intern/scanfill.c: memory alloc issue (optimization?) in new_mem_element
- blenlib/intern/scanfill.c: BLI_edgefill always checks for shortest diag in quad
- editors/armature/editarmature.c: envelope_bone_weighting should do something when dgroupflip; add_verts_to_dgroups needs some work
- editors/armature/meshlaplacian.c: heat_bone_weighting should do something when dgroupflip
- editors/include/ED_mesh.h: declare EM_cache_x_mirror_vert
- editors/mesh/bmesh_tools.c: do_smooth_vertex needs to handle x-axis editing properly
- editors/mesh/bmesh_tools.c: make shape_propagate into a bmop, and fix tagging there of mesh objects that share the data
- editors/mesh/bmesh_tools.c: make blend_from_shape_exec a bmop
- editors/mesh/bmesh_tools.c: select_axis_exec needs a way to select on an arbitrary axis
- editors/mesh/bmeshutils.c: smarter code in EDBM_MakeEditBMesh when no polys present yet has faces
- editors/mesh/bmeshutils.c: implement EDBM_deselect_flush
- editors/mesh/bmesh_select.c: fix mouse_mesh_shortest_path
- editors/mesh/bmesh_select.c: implement select and deselect nth tools
- editors/mesh/editbmesh_add.c: change primitive plane and cube to have side sqrt(2)
- editors/mesh/editbmesh_bvh.c: implement BMBVH_VertVisible
- editors/mesh/editface.c: paintface_deselect_all_visible needs to call object_facesel_flush_dm
- editors/mesh/mesh_data.c: implement copy_editface_active_customdata
- editors/mesh/mesh_intern.h: move labda_PdistVL2Dfl to math_geometry.c
- editors/mesh/mesh_tools.c: use ME_EDIT_MIRROR_TOPO at appropriate places
- editors/mesh/mesh_tools.c: implement mesh_separate_material
- editors/mesh/mesh_tools.c: implement split_mesh
- editors/mesh/mesh_tools.c: implement xsortvert_flag
- editors/object/object_bake.c: implement do_multires_bake
- editors/object/object_bake.c: implement get_ccgdm_data
- editors/object/object_bake.c: implement apply_heights_callback
- editors/object/object_bake.c: implement apply_tangmat_callback
- editors/object/object_edit.c: need to do more when exiting edit mode and restore mode includes OB_MODE_WEIGHT_PAINT
- editors/object/object_shapekey.c: object_shape_key_mirror needs work
- editors/object/object_vgroup.c: implement ED_vgroup_mirror for mesh objects
- editors/physics/particle_edit.c: PE_mirror_x should call mesh_get_x_mirror_faces
- editors/sculpt_paint/paint_vertex.c: wpaint_fill should call mesh_get_x_mirror_vert
- editors/sculpt_paint/paint_vertex.c: implement weight_sample_invoke
- editors/sculpt_paint/paint_vertex.c: implement weight_paint_sample_enum_itemf
- editors/sculpt_paint/paint_vertex.c: do_weight_paint_vertex should call mesh_get_x_mirror_vert
- editors/sculpt_paint/paint_vertex.c: set_wpaint needs work
- editors/transform/transform.c: createSlideVerts may be doing something evil
- editors/transform/transform.c: projectSVData needs good way to only selectively interpolate vertex data
- editors/transform/transform.c: freeSlideVerts should do something when ME_DRAWEXTRA_EDGELEN
- editors/transform/transform_conversions.c: createTransEditVerts needs work for mirror
- editors/transform/transform_conversions.c: special_aftertrans_update needs to create mesh_octree_table
- editors/transform/transform_snap.c: peelObjects needs work when OB_DUPLI
- editors/uvedit/uvedit_draw.c: fix SI_UVDT_STRETCH_ANGLE case in draw_uvs_stretch
- editors/util/ed_util.c: ED_editors_exit should do something with mesh_octree_table and mesh_mirrtopo_table
- editors/uvedit/uvedit_ops.c: fix poly_uv_area
- editors/uvedit/uvedit_ops.c: implement s, t, u tools in weld_align_uv
- makesrna/intern/rna_mesh.c: implement some properties in rna_def_mtexpoly
- modifiers/intern/MOD_bevel.c: implement bevel modifier
Completed Tasks
This list the tasks marked as "DONE", so people can view what are already done, and to help Devs to keep things in order, since for now there's no Bug Tracker for the Bmesh Branch.
Crashers
- doneCrash when using the Mesh Deform modifier and tab into Edit Mode. The smaller cube has the Mesh Deform modifier, the bigger cube is set as the Object in the modifier. Blend file, select the big cube, tab into Edit Mode and Blender crashes.
- doneCrash when dissolving vertices, more info in this post on BlenderArtists.
- doneWhen Proportional Editing is either on Enable or Connected in the UV/Image Editor and you try to Scale or Rotate Blender crashes. Blend file, when opened, press S or R in the UV/Image editor.
- doneCrash when using Select > Unlink Selection in the UV/Image Editor. Seems to happen every time you even try it. Blend file, use from the menus: Select > Unlink Selection or press ALT+L.
- doneIn the UV/Image Editor when using any of the tools under UVs > Weld/Align. Under normal use (selecting more then one vertices) the tools work sometimes, but occasionally crashes Blender. When selecting just one vertices in the UV Editor and using one of the tools it seems to always result in a crash. Blend file, select a vertices and use one of the tools under UVs > Weld/Align.
- doneCrash when opening a file http://www.pasteall.org/21698 ZanQdo
- doneRenaming a vertex color segfauls ZanQdo
- doneCrash when entering to Weight Paint mode (ZanQdo)
- doneCrash on this file with animated Weight Group http://www.pasteall.org/blend/6512 ZanQdo
- Seems to work fine now ZanQdo 4 Jun 2011 (CEST)
- doneIn the UV/Image Editor using Select > Select Linked (CTRL+L). A little bit inconsistent results, most of the times it doesn't crash, but eventually it will happen. The console writes out the message "Memoryblock UvLinkStack: end corrupt" which seems to be related to it. The same blend file as in the "Weld/Align"-crasher should work, select a vertices and run the Select > Select Linked (or press CTRL+L) a few times (5-10 maybe).
- doneCrash: apply mirror to http://www.pasteall.org/blend/8029 (notice faces disappear), then apply the mirror, then delete the selected vertex (X/Vertices) in http://www.pasteall.org/blend/8030 (reported by ville)
- doneCrash: X/Collapse, move an edge http://www.pasteall.org/blend/7211 ZanQdo
- doneCrash: default cube scene, edit mode, control-h, "hook to new object", exit edit mode (reported by ville)
- doneedge slide crash when more than one edge selected http://www.pasteall.org/blend/8239; also, why does only one edge slide?
- doneMake face other problems: makes crossed edges sometimes (see http://www.screenr.com/iJgs), http://www.pasteall.org/blend/8367.
- donecollapse edge crashes on subsurf'd cube when 'Apply modifier to edit cage' active. http://www.pasteall.org/blend/8389
- doneexport obj (bmesh version) crashes if object has no materials (delete default cube, add another one)
- donecrash when: extrude a vertex, hit ctrl+R
Modifiers
- doneSolidify modifier: Inner/Outer crease doesn't work correctly. Compare to trunk: http://pasteall.org/blend/6509 (ZanQdo)
- doneEdge split modifier in edit mode with Editing Cage applied hides all cage geometry. Compare to trunk: http://pasteall.org/blend/6510 (ZanQdo)
- doneBoolean Modifier leaves only vertices
- doneDecimate modifier leave only vertices
Mesh Edit
- doneknife tool in user prefs, input, has entry with no name, tools not accessible (i.e. cannot use knife) [Bmesh branch of Blender 2.5, compiled to revision 36445. http://graphicall.org/74]
- doneEdge Length and Face Area in the Properties side panel does nothing. There is no option for Face Angle
- doneKnife doesn't work correctly in "ortho" views
- doneknife doesn't snap to vertical edge under some circumstances (zooming in a lot on default cube, for instance)
- doneSelect > Edge Ring
- doneSelect > Edge Loop (ALT+RMB does however work)
- doneSelect > Loose Verts/Edges
- doneSelect > Non Manifold (Partially works. If you've made a hole in the mesh the edges making the hole should be selected)
- doneSelect > Quads
- Now there is a general 'Select by Number of Vertices' where you can select faces with number of vertices Equal, Less Than, or Greater Than a given number
- doneSelect > Triangles
- doneSpin
- doneScrew
- doneMeshes added through current python scripts don't have any faces (add_mesh_torus.py, Addon: Add Pipe joints)
- donesubsurface after subdividing an edge doesn't display correctly. [Bmesh branch of Blender 2.5, compiled to revision 36445. http://graphicall.org/74]; other general problems of subsurface display updates while in edit mode, e.g. http://www.pasteall.org/pic/16546 (also, look into render problems there)* Done??
loop to region/region to loop - doneSelect > Every N Number of Verts
- doneFaces flash once when doing extrude
- doneFace center dot disappears when doing mesh editing
- Done??
Add Circle and Add Cylynder don't work