Dev:Source/Development/Todo/BMesh

提供: wiki
移動先: 案内検索

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

  • done
      Crash 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.
  • done
      Crash when dissolving vertices, more info in this post on BlenderArtists.
  • done
      When 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.
  • done
      Crash 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.
  • done
      In 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.
  • done
      Crash when opening a file http://www.pasteall.org/21698 ZanQdo
  • done
      Renaming a vertex color segfauls ZanQdo
    • Can't reproduce Joeedh 01:08, 26 May 2011 (CEST)
    • It still happens consistently here on lin64. BTW it was vertex color, not vertex group. my mistake! ZanQdo 4 Jun 2011 (CEST)
  • done
      Crash when entering to Weight Paint mode (ZanQdo)
    • Can't reproduce Joeedh 01:08, 26 May 2011 (CEST)
    • Seems to work fine now ZanQdo 4 Jun 2011 (CEST)
  • done
      Crash on this file with animated Weight Group http://www.pasteall.org/blend/6512 ZanQdo
    • Seems to work fine now ZanQdo 4 Jun 2011 (CEST)
  • done
      In 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).
  • done
      Crash: 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)
  • done
      Crash: X/Collapse, move an edge http://www.pasteall.org/blend/7211 ZanQdo
  • done
      Crash: default cube scene, edit mode, control-h, "hook to new object", exit edit mode (reported by ville)
  • done
      edge slide crash when more than one edge selected http://www.pasteall.org/blend/8239; also, why does only one edge slide?
  • done
      Make face other problems: makes crossed edges sometimes (see http://www.screenr.com/iJgs), http://www.pasteall.org/blend/8367.
  • done
      collapse edge crashes on subsurf'd cube when 'Apply modifier to edit cage' active. http://www.pasteall.org/blend/8389
  • done
      export obj (bmesh version) crashes if object has no materials (delete default cube, add another one)
  • done
      crash when: extrude a vertex, hit ctrl+R

Modifiers

  • done
      Solidify modifier: Inner/Outer crease doesn't work correctly. Compare to trunk: http://pasteall.org/blend/6509 (ZanQdo)
  • done
      Edge split modifier in edit mode with Editing Cage applied hides all cage geometry. Compare to trunk: http://pasteall.org/blend/6510 (ZanQdo)
  • done
      Boolean Modifier leaves only vertices
  • done
      Decimate modifier leave only vertices

Mesh Edit

  • done
      knife 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]
  • done
      Edge Length and Face Area in the Properties side panel does nothing. There is no option for Face Angle
  • done
      Knife doesn't work correctly in "ortho" views
  • done
      knife doesn't snap to vertical edge under some circumstances (zooming in a lot on default cube, for instance)
  • done
      Select > Edge Ring
  • done
      Select > Edge Loop (ALT+RMB does however work)
  • done
      Select > Loose Verts/Edges
  • done
      Select > Non Manifold (Partially works. If you've made a hole in the mesh the edges making the hole should be selected)
  • done
      Select > 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
  • done
      Select > Triangles
  • done
      Spin
  • done
      Screw
  • done
      Meshes added through current python scripts don't have any faces (add_mesh_torus.py, Addon: Add Pipe joints)
  • done
      subsurface 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
  • done
      Select > Every N Number of Verts
  • done
      Faces flash once when doing extrude
  • done
      Face center dot disappears when doing mesh editing
  • Done?? Add Circle and Add Cylynder don't work