Caption: Extreme subdivision (no displacement) test.
Good news, the first part of LiveClay is almost done, there are few issues remaining that still prevent this to be released, but I hope they will be solved soon 🙂
The dynamic subdivision part is quite fast (as shown in video test 3: “extreme subdivision” where a 300k vertices mesh is dynamic subdivided with ease to a 3M vertices mesh and counting ;)) and there´s room to be improved yet, once the main part is done I would like to research and explore some concepts to accelerate it further, not the LiveClay itself but all other pen´s action inside heavily tesselated voxels, that would be quite common once LiveClay became mainstream among artists pipelines.
Also this is not te final GUI of LiveClay, the goal is to integrate it with the rest of the surface brushes.
The main remaining issues are:
Better pen displacement, currently I can get wrong mesh grow with self
intersecting faces .
-Correct draw update, as I subdivide some parts seems outdated in
Redrawing and some holes seems to appear, they are not real holes because
As the stroke get close to them they are correctly redrawn as faces.
Memory bug with resample? ( I use raycast to detect faces bigger than
The pen´s radius, but if I resample the object the raycast gives wrong results )
Symmetry support (I suspect what part of the code I should change ;))
Just another quick update, I wanted to squeeze most of the performance from the face classification step on both LiveClay (3DCoat) and UnlimitedClay (Blender) and I have implemented a fast face-discard code to avoid the expensive face-inside-sphere and ray-face-intersection tests, and I’m pretty satisfied with it and I think that it can further be improved with some code alligment to improve processor cache hits since is based on conditional ifs…
That code proves to be higly optimized as a I quickly discard faces to avoid expensive triangle-in-brush-sphere tests but sadly in Blender the PBVH issues is holding down performance to no end 😦 I have discovered also a memory issue that is eating a lot of RAM as I sculpt, due to no correctly freeing PBVH rebuilds, I have pointed many times that also a big performance eater is the global nature of all EditMesh operations: for split faces the function iterates over te whole verts, edges and faces lists, for any editmesh operation those lists are traversed, I hope that will be tackle in future Blender development and I hope BMesh will allow local editmesh operations.
Soon I will clean up the whole UnlimitedClay patch, to migrate the code to a recent build and spot loose bugs, in order to avoid unecessary delays for the community I will probably release then a developer/test patch to allow devs collaboration. Every performance improvement count and I’m sure with more hands the community will be playing soon with UnlimitedClay.
For LiveClay those issues doesn’t happen, everything is local and dynamic so performance is what you would expect and polycounts is not an issue, smoothing, clasiffication, and subdivision are local but still I need to deal with pole vertices in LiveClay and some minor fixes, I’m sure will be ready soon an oficial test 🙂
I’m happy to have my todo lists full 🙂 , as a funny (and dangerous :P) story I use to keep in the windows sticky notes, my todo list with pending tasks and subtask and done tasks and the other day I left my 4 years nefew play some games son my pc and after my return he messed up all my notes! O.o I guess is time to set up some parental controls LOL.