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
2018-01-15Sculpting: Sdd an option to hide mask in viewportSergey Sharybin
Brushes themselves are still affected by the mask, but the viewport is not showing the mask. This way it's easier to see details while sculpting. Studio request by Julien Kaspar
2017-10-05Vertex Paint: apply when cursor isn't over facesCampbell Barton
This behavior makes more sense for sculpt, less so for painting. Restores non PBVH behavior, adding `BKE_pbvh_find_nearest_to_ray` - similar to ray-cast except it finds the closest point on the surface.
2017-10-05Cleanup: rename dist -> depthCampbell Barton
Prepare to add code that stores distance to the ray, avoid confusion.
2017-09-27Vertex/Weight Paint: Use PBVH for paintingCampbell Barton
2016 GSOC project by @nathanvollmer, see D2150 - Mirrored painting and radial symmetry, like in sculpt mode. - Volume based splash prevention, which avoids painting vertices far away from the 3D brush location. - Normal based splash prevention, which avoids painting vertices with normals opposite the normal at the 3D brush location. - Blur mode now uses a nearest neighbor average. - Average mode, which averages the color/weight of the vertices within the brush - Smudge mode, which pulls the colors/weights along the direction of the brush - RGB^2 color blending, which gives a more accurate blend between two colors - multithreading support. (PBVH leaves are painted in parallel.) - Foreground/background color picker in vertex paint
2016-07-06Cleanup: redundant 4th index in sculpt PBVHCampbell Barton
Since moving to MLoopTri this is no longer needed.
2016-06-02Fix T47637: Multiple multires objects in Sculpt mode make blender crash.Bastien Montagne
That was a nice and funny hunt, albeit rather time consumming! To summarize, so far code was using a static global gpu_buffer for pbvh vbo drawing of 'grid' types (multires mostly?). There were two issues here: 1) Global gpu buffer was assigned to GPU_PBVH_Buffers->index_buf, but then nearly no check was done when freeing that buffer, to ensure we were not freeing the global one (not totally sure this one was actually causing any issue, but was bad and unsafe anyway). Was solved by adding a flag to GPU_PBVH_Buffers to indicate when we are using some 'common' buffer here, which freeing is handled separately. 2) Main issue: if several multires objects in sculpt mode with different grid size were present simultaneously, the global gpu buffer had to be resized for each object draw (i.e., freed and re-allocated), but then the pbvh nodes from other objects storing freed reference to that global buffer had no way to know that it had been freed, which was causing the segfault & crash. Was solved by getting rid of that global buffer, and instead allocating one 'grid_commmon_gpu_buffer' per pbvh. Told ya baby, globals are *PURE EVIL*!
2015-07-16Split ray_face_intersection into quad/tri versionsCampbell Barton
Since many callers only need a single triangle
2015-07-16Add tessellation data to DerivedMesh (LoopTri)Campbell Barton
This stores loop indices into the loop array giving easier acess to data such as vertex-colors and UV's, removing the need to store an MFace duplicate of custom-data. This doesn't yet move all internal code from MFace to LoopTri just yet. Only applies to: - opengl drawing - sculpting (pbvh) - vertex/weight paint Thanks to @psy-fi for review, fixes and improvements to drawing!
2015-07-11Use const for sculpt varsCampbell Barton
resolves building with gcc4.9
2015-07-10Cleanup: use const for mesh functionsCampbell Barton
2015-05-27Fix T44745 non manifold edges of mesh do not work when smoothing inAntony Riakiotakis
multires. Code had special guards for such edges to stop this from happening. I don't see why this is needed though since code above assigns smoothed positions for all vertices in the grid. After removing the guards I saw that this in fact was the only place where grd adjacency was used, so I completely removed it.
2015-04-25Cleanup: use 8 space indent for multi-line argsCampbell Barton
2014-04-17Refactor to Dyntopo node customdata commit.Antony Riakiotakis
Don't use a dedicated node layer but use temporary int layer instead. Works like a charm as long as we are careful resetting the layer when needed (after pbvh clearing and always after bmesh has been filled in undo) Tip by Campbell, thanks!
2014-04-16Dyntopo:Antony Riakiotakis
Store PBVH node ID in CustomData. This avoids a number of hash deletions and checks/insertions on big hashes.
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-08Dyntopo: replace GHash with GSet, saves some memoryCampbell Barton
2014-03-24Code cleanup: styleCampbell Barton
2014-03-23Detail sampling operatorAntony Riakiotakis
Located on topology panel. To use just click on button and click on mesh. Operator will just use the dimensions of the triangles below to set the constant detail setting. Also changed pair of scale/detail size with nice separate float percentage value.
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-03Code clean-up change naming of gpu buffers used by pbvh to betterAntony Riakiotakis
reflect that. Previous name GPU_Buffers was very similar to GPU_Buffer, renamed to GPU_PBVH_Buffers
2013-09-18style cleanupCampbell Barton
2013-09-12code cleanup: headers - doxy comments.Campbell Barton
2013-08-26replace hashes with sets where possible.Campbell Barton
2013-07-23remove the pointer from BLI_bitmap's typedef, Campbell Barton
hides that an arg passed is really an array which may be modified by other functions.
2012-12-31add ".hh" as an extension for source scripts.Campbell Barton
2012-12-30Add dynamic topology support to the PBVHNicholas Bishop
* Add BLI_pbvh_build_bmesh(), similar to the other PBVH builders but specialized for BMesh. Whereas the PBVH leaf nodes for mesh and grids only store a start-index and count into the primitive indices array, the BMesh version uses GHashes to store the full set of faces and vertices in leaf nodes * Update PBVH iterator to handle BMesh * Make some of the pbvh.c functions non-static so they can be used by the new pbvh_bmesh code * The BLI_pbvh_bmesh_update_topology() function is the main reason for adding BMesh support to the PBVH. This function is used during a sculpt stroke to dynamically collapse edges that are particular short and subdivide edges that are particularly long.
2012-12-30Move layer displacements from SculptUndoNode to PBVHNodeNicholas Bishop
* This doesn't make much difference for regular mesh/multires sculpting, but for dynamic topology sculpting the undo stack isn't split up by PBVH nodes, so it's more convenient to store the layer data in PBVH nodes. * Note that the life cycle of the layer displacement data is unchanged -- it's only valid during a stroke with the layer brush, gets free'd when the undo step ends.
2012-12-30Code cleanup: move PBVH/PBVHNode structs into new header fileNicholas Bishop