Age | Commit message (Collapse) | Author |
|
Fixed bug #6153, Blender Crash during rendering (internal) with object selected in edit mode.
* Added a render parameter to several of multires's functions. If render==true, multires won't push data onto the undo stack, and regular Mesh data is always used (as opposed to EditMesh data.)
|
|
Removed special Sculpt Mode undo code. Sculpt Mode undo is no longer so useful, since in order to make it more correct it has gotten slower, so normal BIF_undo_push is used now. Fixes bug with Shape Keys, sculpting on a shape key wasn't doing undo properly.
|
|
Fixed bug #6046, updating edge data after applying multires
* Changing the Edge level in the Multires panel should update the edge render flag as well as the draw flag
|
|
Fixed bug #5990, Adding 5 levels of Multires crashes blender 2.43rc3
* Caused by old values in hashedgetab hanging around after all the edges were deleted. Fixed by just calling free_editMesh before building an editmesh from multires.
|
|
Fixed bug #5820, changing multires in edit mode turns the mesh black
* Added a call to recalc_editnormals when building an editmesh from a multires mesh.
|
|
* Switching levels in editmode should flush selection changes so that face selection is drawn correctly.
|
|
Partial fix for bug #5771, Multires tool deletes crease flags on edges
* Modified the edge flags code to support all of the edge flags (not just seams.)
* Added a new array to the Multires struct to store creases.
* For Mark Sharp, Clear Sharp, and Crease, displays an error if applied to a multires mesh not on level 1.
|
|
Fixed part 2 of bug #5749, Modifier redraw problems?
* Added an object flush after changing the Edge level on a multires mesh so the edges update when a Subsurf modifier is active.
Note that "Optimal Draw" must be turned on in the Subsurf options, otherwise it draws all edges.
|
|
Fixed bug #5756, Rendering artifacts when MRM is not set to maximum
Several changes were made:
* Added function multires_level_n to get the nth level from a multires mesh
* Removed the changes I made some time ago to init_render_mesh for multires meshes. Previously it was making a full copy of the mesh object in order to be able to apply deformations to the Pin level and propagate them to the Render level.
* Added two functions to DerivedMesh.c, multires_render_pin and multires_render_final. These two functions work together in the mesh_create_derived_*_render functions to apply all modifiers to the Pin level, then create the DerivedMesh from the Render level, and lastly restore the mesh to its original (undeformed) state.
* Added a check in multires_del_lower and multires_del_higher to ensure that level indices are properly clipped to the actual range of available levels.
|
|
sculpt+partial visibility, and sculpt+shapekeys, seems stable.
|
|
|
|
Background render for multires/sculpt crashed due to using UI data.
|
|
|
|
level 1.
|
|
also removed use_tex flag from the Multires struct (that is now stored implicitly by the fdata struct.)
|
|
first-level data in multires. The data is now stored in a standard CustomData struct in Multires, rather than being stored for each level. (The UVs can now only be edited on level 1.) Changes allow multiple sets of UVs to work correctly. This change should also decrease multires memory usage some (though only when UVs are being used, of course.)
Changes to CustomData:
Some functions would only return the current active layer, added extra variants that take an index to select the level (modeled after CustomData_get_layer_n.)
Still todo:
* UVs are being interpolated linearly, should probably offer Catmull-Clark subdivision like Subsurf modifier.
* Vertex Colors still don't support multiple customdata layers.
* Editing UV data on levels other than 1 should be disabled in the interface (same for weights)
|
|
|
|
must be subdivided up to the level of the new lowest level. This wasn't being done for dverts. In fixing this, I also reorganized the code for subdividing multires dverts, much cleaner now.
|
|
|
|
data after switching back to level 1.
|
|
being properly applied to the mesh on Level 1. 2) Corrected the algorithm that interpolates weightgroups for all the other levels so that it more or less matches the subsurf output.
|
|
more accurate 'Apply multires'
|
|
to the next level.
|
|
shape key on a multires mesh will give an error, and attempting to add multires to a mesh with shape keys will give the user an okee before deleting shape keys. (This isn't an optimal solution to the multires/shapekey situation, but a real fix is non-trivial.)
|
|
|
|
only stored for level 1.
|
|
Updated Python Mesh API to support UV and Color layers with names.
Similar to vertex group's
renamed a function in customdata.c CustomData_free_layers -> CustomData_free_layers_active and made CustomData_free_layers accept an index, this is needed so python could free layers that arnt active.
|
|
odd behaviour
Also fixed a memory leak with multires+deformverts in editmode.
|
|
|
|
than many small pieces.
|
|
memory rather than many small ones.
|
|
|
|
|
|
These can be created and deleted in the Mesh panel in the same place as
before. There is always one active UV and vertex color layer, that is
edited and displayed.
Important things to do:
- Render engine, material support
- Multires and NMesh now lose non active layers
Also CustomData changes to support muliple layers of the same type, and
changes to layer allocation, updated documentation is here:
http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
|
|
downwards, rather than than from the level beneath the current one.
|
|
materials
|
|
|
|
|
|
|
|
editmesh.
This is the last of the changes needed to support all the EditMesh data that
previously worked only with the regular Mesh, so this should fix bug #5331,
Various problems with Editmode Undo and Multi-Resolution Meshes.
|
|
setting on the global preferences
|
|
|
|
test_index_face check when reading editmode data for multires.
|
|
|
|
load properly from editmesh.
|
|
longer exits editmode, and undo should now work as expected. Still to come is loading customdata from the editmesh.
|
|
for bug #5331
|
|
Multires operations now pay attention to vertex flags, so both selection and
hiding are propagated up and down the levels.
Note: only the lowest level of detail for vertex flags is retained when
switching levels. E.g., after selecting vertices at the highest level, then
switching to the lowest level, then back to the highest level, the vertex
selection will have changed. (This is a potentially fixable issue.)
|
|
that changes mesh topology enabled, the render level will not have any effect.
|
|
render level as well, unless the render level has been set to something other than the max level. Also removed some unneeded code.
|