Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-05-18 | Fix T44553: Dyntopo ignores front-face option | Campbell Barton | |
When 'Front Faces' brush option was enabled, dyntop would still adjust detail on back-faces. | |||
2015-05-15 | Cleanup: style, spelling | Campbell Barton | |
2015-05-12 | Dyntopo PBVH build optimization: | Antony Riakiotakis | |
Optimize the full rebuild case for now (though same code can be adapted to partial redraws) Main changes here: * Calculate bounding centroid for faces only once (instead of every intermediate node) * Faces do not get added to GSets immediately, instead we track a face array which has faces that belong in a node in consecutive order. Nodes just keep accounting of start and length in the array. * Due to faces not being added to GSets, we can skip doing cleanup of GSets and readdition for each intermediate node and instead only add the faces to the final leafs node GSets when those nodes are created. Results: For a 1.9 million face test model, PBVH generation time (roughly measured by undoing) is dropped from 6 seconds to about 4 seconds. Still too high, but still a nice improvement. TODO: Thread some parts. Unfortunately threading the GSet assignment part might not help much since we'd need a lot of locking to avoid collisions with node assignments, especially for unique vertices. | |||
2015-04-26 | Correct own error in recent sculpt changes | Campbell Barton | |
mixed up squared nonsquared length, also remove invalid verify check. | |||
2015-04-25 | Cleanup: use 8 space indent for multi-line args | Campbell Barton | |
2015-04-19 | disable verify from last commit (too slow) | Campbell Barton | |
2015-04-19 | Dyntopo: USE_EDGEQUEUE_TAG broke even subdiv | Campbell Barton | |
While adding edges to the queue multiple times is redundant, walking over them is still needed. | |||
2015-04-16 | Dyntopo: avoid redundant loop collapsing edges | Campbell Barton | |
2015-04-16 | Dyntopo: blend vertex normals when collapsing | Campbell Barton | |
2015-04-15 | BMesh: dyntopo used lopsided normals | Campbell Barton | |
Normals from subdivided edges were only taken from the edges first vertex. Interpolate between the two to give more even results. | |||
2015-04-15 | BMesh: avoid ghash lookups splitting the pbvh | Campbell Barton | |
This isn't a bottleneck but may as well avoid the extra ghash overhead. | |||
2015-04-14 | Dyntopo queue added the same edges multiple times | Campbell Barton | |
Use tagging to avoid re-evaluating the same edges while sculpting. While gives only minor speedup, it allows for changes to the queue without additional redundant checks. | |||
2015-04-14 | BMesh: avoid customdata copy for new dyntopo verts | Campbell Barton | |
2015-04-14 | BMesh: avoid redundant face-exists check (dyntopo) | Campbell Barton | |
2015-04-13 | BMesh: resolve skinny face artifacts /w dyntopo | Campbell Barton | |
Dyntopo can currently create skinny faces, especially when the faces are much larger then the resolution. To get the old behavior, set debug value to 1234 | |||
2015-04-13 | error in last commit | Campbell Barton | |
2015-04-13 | BMesh: diagram for dyntopo edge subdiv | Campbell Barton | |
2015-04-12 | Dyntopo: redundant length check subdividing edges | Campbell Barton | |
2015-04-12 | BMesh: minor optimization counting adjacent data | Campbell Barton | |
add BM_***_count_is_over(), _count_is_equal() Useful if we only want to know if the count is a smaller value. | |||
2014-10-11 | Sculpt: update dystopia debug verify | Campbell Barton | |
2014-10-10 | Sculpt: remove offset args from internal funcs | Campbell Barton | |
Detect this from the element type, also typecheck lookup functions | |||
2014-10-10 | BLI_buffer: empty macro | Campbell Barton | |
2014-10-07 | Sculpt: dyntopo, avoid redundant gset remove calls | Campbell Barton | |
2014-10-06 | Dyntopo: minor speedup collapsing edges | Campbell Barton | |
2014-10-03 | Comments: note on bmesh_region_match | Campbell Barton | |
also correct buffer type | |||
2014-09-14 | Sculpt: check mask is present before reading | Campbell Barton | |
2014-06-13 | GSet, GHash: Add BLI_gset_add, since its common to add members to a set | Campbell Barton | |
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same. | |||
2014-05-05 | Hidden PBVH nodes: | Antony Riakiotakis | |
Set hidden when rebuilding the PBVH tree if all primitives are hidden. | |||
2014-04-30 | Code cleanup: remove unused includes | Campbell Barton | |
Opted to keep includes if they are used indirectly (even if removing is possible). | |||
2014-04-17 | Make sure we invalidate the node ID layer each time the PBVH is reset. | Antony Riakiotakis | |
It makes code more tidy (avoids having to call invalidation on a myriad places). Also makes sure other invalidation cases (some mesh change, e.g.) work as expected. | |||
2014-04-17 | Refactor 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-16 | Dyntopo: | Antony Riakiotakis | |
Store PBVH node ID in CustomData. This avoids a number of hash deletions and checks/insertions on big hashes. | |||
2014-04-16 | Dyntopo: slightly change node invalidation, only vertices can change BB | Antony Riakiotakis | |
recalculation, only faces can change normal invalidation. | |||
2014-04-13 | Code cleanup: quiet warnings & style | Campbell Barton | |
2014-04-11 | Fix redraw and undo issues with hidden parts in dyntopo after recent | Antony Riakiotakis | |
changes. | |||
2014-04-11 | Code cleanup: use bool | Campbell Barton | |
2014-04-11 | Dyntopo: use hidden face flags in more places | Campbell Barton | |
2014-04-10 | Dyntopo: Minor display optimization. | Antony Riakiotakis | |
While hiding, flush the hidden flags to the faces. This avoids iterating through all the loops while updating the GPU buffers. | |||
2014-04-08 | Dyntopo: replace GHash with GSet, saves some memory | Campbell Barton | |
2014-04-08 | Mempool: delay allocating an initial chunk, its not always used | Campbell Barton | |
2014-04-07 | Code cleanup: remove unused functions and convert int -> bool | Campbell Barton | |
2014-04-07 | Dyntopo: minor speedups with bmesh use. | Campbell Barton | |
2014-04-07 | Dyntopo: avoid mask layer lookups while adding/removing verts | Campbell Barton | |
2014-04-05 | Dyntopo: minor optimizations for edge queue | Campbell Barton | |
2014-04-05 | Remove redundant call to CustomData_get_offset | Campbell Barton | |
2014-04-05 | Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient now | Campbell Barton | |
2014-04-05 | Solve issue with dyntopo collapse. | Antony Riakiotakis | |
It was possible to delete a masked vertex during collapsing. Looks like this is one of the causes for hangs during masked flood filling. | |||
2014-04-04 | Code cleanup: no need to use calloc when memory is initialized after | Campbell Barton | |
also replace AT with __func__ since AT expands the full pathname | |||
2014-04-02 | Fix some redrawing and possibly other issues in dyntopo: | Antony Riakiotakis | |
When node face gets deleted, added or exchanged, the nodes should update their draw buffers, normals and bounding boxes. This was not being done before so there were graphical glitches apparent, especially in collapse mode. | |||
2014-04-01 | Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define | Campbell Barton | |