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
2014-05-05Hidden PBVH nodes:Antony Riakiotakis
Set hidden when rebuilding the PBVH tree if all primitives are hidden.
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-17Make 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-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-16Dyntopo: slightly change node invalidation, only vertices can change BBAntony Riakiotakis
recalculation, only faces can change normal invalidation.
2014-04-13Code cleanup: quiet warnings & styleCampbell Barton
2014-04-11Fix redraw and undo issues with hidden parts in dyntopo after recentAntony Riakiotakis
changes.
2014-04-11Code cleanup: use boolCampbell Barton
2014-04-11Dyntopo: use hidden face flags in more placesCampbell Barton
2014-04-10Dyntopo: 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-08Dyntopo: replace GHash with GSet, saves some memoryCampbell Barton
2014-04-08Mempool: delay allocating an initial chunk, its not always usedCampbell Barton
2014-04-07Code cleanup: remove unused functions and convert int -> boolCampbell Barton
2014-04-07Dyntopo: minor speedups with bmesh use.Campbell Barton
2014-04-07Dyntopo: avoid mask layer lookups while adding/removing vertsCampbell Barton
2014-04-05Dyntopo: minor optimizations for edge queueCampbell Barton
2014-04-05Remove redundant call to CustomData_get_offsetCampbell Barton
2014-04-05Mempool: remove BLI_MEMPOOL_SYSMALLOC, MEM_* allocs are more efficient nowCampbell Barton
2014-04-05Solve 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-04Code cleanup: no need to use calloc when memory is initialized afterCampbell Barton
also replace AT with __func__ since AT expands the full pathname
2014-04-02Fix 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-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-24Code Cleanup: PBVH, avoid sqrt and use bool for raycast functionsCampbell Barton
2014-03-23Change to sampling: Take biggest triangle side as detail size onAntony Riakiotakis
intersection, since detail determines the maximum allowed triangle edge size
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-03-22Flood fill for dyntopo constant detail mode.Antony Riakiotakis
Nothing spectacular here, fill tools are easy. Just take the dyntopo code and repeat until nothing more to do. The tool can be located in the dyntopo panel when the dyntopo constant detail is on. Also added scale factor for constant detail. This may change when detail sampling gets in, I am not very happy with having two numbers here, still it will give some more control for now.
2014-02-05Code cleanup: use bool for static methodsCampbell Barton
2014-01-12Style Cleanup: whitespaceCampbell Barton
2014-01-05Fix T38024 crash when rebuilding sculpt mode buffers.Antony Riakiotakis
Main issue here is that glBuf* calls were invoked from threads different than main thread. This caused a crash (since those do not have a GL context active). Fix here is twofold: * add an ID buffer in buffer pool that handles pbvh buffers and is freed from main thread when gpu_buffer_pool_free_unused is called. * do not create glbuffers in derivedmesh creation routine, rather tag nodes for update and create those in the draw function (guaranteed to be called from main thread) Reviewed By: brecht Differential Revision: https://developer.blender.org/D169
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-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-10-13fix for over-alloc in dyntopo, was allocating the vertex size, not pointer ↵Campbell Barton
size (~85% wasted space).
2013-10-10style cleanupCampbell Barton
2013-10-04Fix #36930: dynamic topology sculpting with masks gave bad results:Brecht Van Lommel
* The mask was not subdivided properly on splitting edges, which gave interesting but definitely wrong fractal-like borders around masks. * Edge splitting was only done where the mask was < 50%, with the reasoning that you can't do a 50% topology update. But this gives an ugly border in the mesh. The mask should already make the brush move the vertices only 50%, which means that topology updates will also happen less frequent, that should be enough.
2013-10-03Fix an own regression introduced in the dyntopo cleanup commits. Do notAntony Riakiotakis
remove a vertex from the pbvh if the only face it was part of was removed from the pbvh. This should work but no time to investigate now properly, and better have a solid release. The problem could be seen when sculpting to open meshes. Some vertices and faces on the boundaries would become stuck and unresponsive.
2013-09-12code cleanup: headers - doxy comments.Campbell Barton
2013-08-28avoid calling CustomData_bmesh_get to get CD_PAINT_MASK per vertex while ↵Campbell Barton
sculpting, store offset directly.
2013-08-26replace hashes with sets where possible.Campbell Barton
2013-08-24ghash: reserve size when its known or can be guessed close enough.Campbell Barton
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-21rename recently added BLI_ghash_assign() -> BLI_ghash_reinsert()Campbell Barton
2013-08-21Scultping: Growing the pbvh node container should use malloc instead ofAntony Riakiotakis
calloc. Since we copy the first 1/1.3 part of the new array from the existing nodes, only the rest 0.3/1.3 should be initialized to zero. This should in theory cut down the times of occasional hangs with dyntopo, since my guess is that it is caused by dynamic reallocations. Maybe a linked list structure would help here? This is a bigger change though, leaving as is for now. Also, minor cleanup, delete duplicate ghash deletion and remove unneeded commented code.
2013-08-21bmesh api cleanup, face creation args now accept an example face (as with ↵Campbell Barton
vertex and edge), also replace BM_face_create_quad_tri_v with BM_face_create_verts
2013-08-21use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either ↵Campbell Barton
side in some cases it gets a bit confusing. also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21style cleanup: also use ARRAY_HAS_ITEM macro for mempool checkCampbell Barton
2013-08-19Dyntopo:Antony Riakiotakis
* Actually check if normal recalculation flags exists and set it when splitting nodes in dyntopo. Right now, nodes that need GPU buffer update will always get in the list to get their normals generated, but to avoid a possible future breakage better do it right now. * Avoid keeping deleted/removed vertices in vertex-to-node and unique vertex hashes, since some checks rely on those and may go awry if these still exist. Also they pollute the hashes, and may hurt performance somewhat.
2013-08-19Dyntopo:Antony Riakiotakis
Turn off pbvh normal update flag after recalculation, saves recalculating normals every frame when not stroking the mesh. For this to work reliably with undo we need to support original normals in the bm_log (was marked as a TODO already in the code), so that undoing avoids having invalid normals in the mesh (since we don't update every frame anymore). This was added in this commit as well. Also added some (disabled) quite paranoid checks in the bmesh valication code for dyntopo hoping to catch the real normal update issue. No luck there yet.
2013-08-18Fix #34413 Dyntopo, smooth shading normals not getting uploaded to GPUAntony Riakiotakis
and undo buffers. When we have smooth shading we must not only update the unique vertex normals.
2013-08-18add hash function BLI_ghash_assign, BLI_edgehash_assignCampbell Barton
avoids remove,insert and only hashes the key once.
2013-08-17style cleanupCampbell Barton