Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-15move pbvh into BKE, it used many BKE bad level includes.Campbell Barton
now blenlib/BLI doesn't depend on any blenkern/BKE functions, there are still some bad level includes but these are only to access G.background and the blender version define.
2012-11-08Attempt to fix OSX compilation issue.Sergey Sharybin
BLI_bitmap is not a sctruct, so that should be culptrit.
2012-11-08Fix #33116: Blender Crashes when saving inside Sculpt Mode with with GLSL ↵Sergey Sharybin
and textured view enabled. Issue was caused by call ED_sculpt_force_update from WM_file_write which frees derived mesh and pBVH and forces them to be re-created. After this sculpt session wasn't repairing properly. Freeing data from WM_file_write is not nice by itself, but it exposed possible real issue when sculpting on modifiers. Made it so BLI_pbvh_grids_update will update pointers to material flags and hidden grids as well. This isn't idea solution for particular circumstances from the report, since pBVH would be rebuilt after save which ends up with small interface lags for while pBVH is rebuilding. Would be nice to have multires displacement propagation to higher levels without freeing data.
2012-10-22Fix #32522: Object's diffuse color not showing in Sculpt ModeSergey Sharybin
Added option to display object's diffuse color multiplied by sculpting mask. This option could be found in Options panel of toolshelf when in sculpting mode. Thanks to Nicholas and Brecht for reviewing the patch!
2012-10-01mask data is no longer automatically added when sculpting (except when there ↵Campbell Barton
is a multi-res modifier).
2012-08-26style cleanup: whitespaceCampbell Barton
2012-06-10style cleanupCampbell Barton
2012-06-10Code cleanups for the PBVH, no functional changes.Nicholas Bishop
* Use the PBVHType consistently in pbvh_update_draw_buffers(). * Split the raycast function up, mesh and grid raycast get their own functions now. * Replace duplicated code in BLI_pbvh_node_add_proxy() with call to BLI_pbvh_node_num_verts().
2012-05-11style cleanup: mainly sculpt/whitespaceCampbell Barton
2012-05-11Add paint mask access to the PBVH vertex iterator.Nicholas Bishop
2012-05-11Add access to mesh vertex customdata to the PBVH.Nicholas Bishop
2012-05-11Replace hardcoded DMGridData structure with CCGElem/CCGKey.Nicholas Bishop
* Changes to DerivedMesh interface: DMGridData has been removed, getGridData() now returns an array of CCGElem pointers. Also added getGridKey() to initialize a CCGKey (implemented only by CCGDerivedMesh.) * PBVH: added BLI_pbvh_get_grid_key(). * A lot of code is affected, but mainly is just replacing DMGridData.co, DMGridData.no, and sizeof(DMGridData) with the CCG_*_elem functions, removing the reliance on grid elements of exactly six floats.
2012-04-22style cleanup: commentsCampbell Barton
2012-03-14Skip hidden elements in PBVH iterator, raycast, and drawing.Nicholas Bishop
2012-03-14Skip hidden elements in PBVH iterator, raycast, and drawing.Nicholas Bishop
2012-03-13Code cleanup: use explicit PBVH type enum rather than checking for grids or ↵Nicholas Bishop
faces. No functional changes, this is just a bit easier to read I think (and nicer if we add more PBVH types in the future, e.g. for dynamic topology sculpting.)
2012-03-06Draw individual face's material and shading correctly in the PBVH.Nicholas Bishop
Previously, the shading and material was set once per PBVHNode when drawing. This is still the case, but PBVHNodes are now built to contain only one material and shading mode. This is done with an extra partitioning step; once the number of primitives in the node falls below the PBVH leaf limit, it's primitives are checked for matching materials. If more than one material or shading mode is present in the node, it is split and partitioned (partitioned by material rather than 3D location.) Given a sufficiently 'annoying' input, like a dense mesh with thousands of materials randomly scattered across it, this could greatly increase PBVH build time (since nodes might end up containing a single primitive), but in general this shouldn't come up. In order to support materials for grids, the CCGDM is building another grid array (of DMFaceMat structs). This could be used to replace CCGDM.faceFlag for some small memory savings (TODO).
2012-03-04style cleanup - comment spelling + translate some dutch.Campbell Barton
2012-03-04style cleanup / comment formatting for bli/bke/bmeshCampbell Barton
2012-02-23Code cleanup: remove unused 'skip' field from PBVH iterator.Nicholas Bishop
2012-02-23Code cleanup: move the PBVH iterator's initialization into a function.Nicholas Bishop
Should be no functional changes, just shortens the amount of code living in the macro.
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-02-27pedantic warning cleanup, also remove texspace_edit() since its been added ↵Campbell Barton
using a different method.
2011-02-20Fix for crash when sculpting on multires object during playbackSergey Sharybin
- Restored BLI_pbvh_grids_update stuff; - Marc all nodes as changes in ED_sculpt_modifiers_changed, so draw_buffers would be keept correct.
2011-02-18doxygen: add blenlib under core as module.Nathan Letwory
2011-01-31Todo issue: sculpting on deformed meshSergey Sharybin
Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating?
2010-07-14Merge GSOC Sculpt Branch: 28499-30319Jason Wilkins
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins See log of that branch for details.
2010-06-22[#22262] Sculpting shape keys using the Smooth brush switches the shape to ↵Sergey Sharybin
the Basis PBVH used the same verts array as mesh data and shape key/reference key coords were applying on the mesh data, so on some refreshing undeformed mesh was displayed. Added utility functions to get vert coords from key block, apply new vert coords on keyblock and function to apply coords on bpvh, so now pbvh uses it's ovn vertex array and no changes are making to the mesh data. Additional change: Store key block name in SculptUndoNode, so now shape wouldn't be copied to wrong keyblock on undo
2010-06-02Sculpt & modifiers: patch by Sergey Sharybin, with modifications by me.Brecht Van Lommel
Fixes various crashes and redraw problems, most noticeable new feature is that you can now sculpt on a multires mesh with deforming modifiers preceding it. I've left out support for sculpting on multires with enabled modifiers following it, in this case only the base mesh can be sculpted now. The code changes needed to do this are just too ugly in my opinion, would need a more torough redesign which I don't think we should try now. In my opinion this is also not really an important case, since it's going to be incredibly slow anyway to run a modifier on a high res mesh while sculpting. So, to summarize current state: * Fastest sculpting: base mesh with no modifiers or multires with only modifiers preceding it. * Slower sculpting: base mesh with modifiers, depends on the speed of the modifiers. * Not supported: multires mesh with modifiers following it.
2010-03-22Fix #20548: flat shading not drawing right in sculpt mode.Brecht Van Lommel
2010-03-22spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text)Campbell Barton
2010-02-12correct fsf addressCampbell Barton
2009-12-11Sculpt:Brecht Van Lommel
* Temporary workaround for sculpt not working well with small polygons, still seems to be some issues, but can at least paint now. * Small optimization avoiding local function variable aliasing.
2009-12-11Sculpt Branch:Brecht Van Lommel
* Added detection if VBO extension is supported. * Redraw other 3d views after sculpting. * Fix brush sometimes punching through mesh with very small polygons, added an extra epsilon to the ray-triangle intersection.
2009-12-09Sculpt Branch:Brecht Van Lommel
* Smooth brush works again for multires. * Optimal Display option for multires modifier, same as subsurf.
2009-11-25Sculpt: Grid based PBVHBrecht Van Lommel
* PBVH can now be created contain both from face grids or standard meshes. The former is much quicker to build for high res meshes. * Moved some drawing code into pbvh (mostly for the frustum test). * Moved ray intersection code into pbvh. * GPU buffers also can be built from either mesh or grids now. * Updated sculpt code to work with this. The ugly part is that there is now a macro for iterating over vertices, to handle both cases, and some duplicated code for e.g. undo. * Smooth brush does not work yet with grids.
2009-11-06Sculpt: WIP brush behavior changesBrecht Van Lommel
* Draw/Inflate/Layer now keep working on the original mesh coordinates and normals from when the stroke started. This helps avoid the mesh blowing up, but can still be better. The old behavior is still available as "Accumulate" in the UI. * This requires some more memory usage for the BVH, would like to find a way to avoid that. * Smooth falloff is now the default. * Spacing is now enabled by default, with a value of 7.5. * Anchored now stores normals per node to save some memory.
2009-11-04Sculpt: updating normals now no longer uses the vert-face map, to save memory.Brecht Van Lommel
The weak point now is the thread-safe atomic access to normals from multiple threads, did not seem to be a bottleneck in my tests but I don't really trust it to be fast.
2009-11-02Sculpt: Multithreading & PBVH ChangesBrecht Van Lommel
* Sculpting, normal update and bounding box code is now multithreaded using OpenMP. * Fix a number of update issues: normals on node boundaries, outdated bounding boxes, partial redraw, .. . There's probably still a few left, but should be better now. * Clicking once now does a single paint instead of two (was also painting on mouse up event). * Smooth shading now is enabled for the full mesh when the first face uses it (so it can be tested at least). Implementation Notes: * PBVH search can now be done either using a callback or bt gathering the nodes in an array. The latter makes multithreading with OpenMP easier. * Normals update code is now inside PBVH, was doing it per node before but should do all faces first and only then vertices. * Instead of using search modes + 1 modified flag, now nodes get 4 flags to indicate what needs to be updated for them, found that this makes it easier for me to understand the code and fix update bugs. * PBVHNode is now exposed as an abstract type, I think this makes it more clear what is happening than having it's data passed as part of callback functions. * Active_verts list was replaced by looping over nodes and the vertices inside them. However the grab brush still uses the active_verts system, will fix that later. * Some micro-optimizations, like avoiding a few multiplications/divisions, using local variables instead of pointers, or looping over fewer vertices to update the bounding boxes.
2009-10-27Commit of the sculpt patch (#19672). Further development will be in this ↵Nicholas Bishop
branch until we merge to trunk.