The Planet texture patch

Hi 🙂

This is the Planet texture patch for people to use it, few advices: at default values (i.e size = 0.25) it is like a curl texture, with lots of curls and at larger sizes (1.0+) and high octaves (4,5+) then it starts showing the planet surface-like features. It is also recommended to use the hard mode for more details 🙂

Here are blender versions already patched:

* windows (thanks Dingto)!)

* linux (64bits) (thanks Loopduplicate!)
here are some .blends too

* OSX (thanks Tkroo!)

blend1 , blend2 , blend3

Cheers Farsthary

Advertisements
The Planet texture patch

New “Planet” procedural texture

Hi all 🙂

This weekend I had to create a procedural planet for a local work, so I went straigth to tinkering with buil- in procedural textures…

Soon we will have a very cool OceanSim texture or simulator but what about planets? sadly there were no simple combination of procedurals that provides me that (surface with the desired characteristics):

It should have iso – lines that remind same – high levels, like coastal lines or lines like rivers, erosion and features like that  (the closer built-in procedural that currently have similar features in Blender is stucci at high octaves and turbulence and the magic one, but it’s not enough and are quite self similar at every scale)



It should be fractal like but should not be very similar among scales because otherwise you get very similar and smooth detail at every scale (like with Cloud procedural)

It should provide detail enough at all scales in order to avoid increasing the number of noise octaves beyond what blender currently offers with built-in procedurals; and for planet surfaces extremely close shorts should be made
to the surface or build very big spheres wher from far away any
smoothness will be inmediately spotted.


The usual approach is to use lots of layers and composited procedurals
in order to achieve that, with the corresponding slow down, and trial and
error approach or use some of the excelent directly aviable satellite pictures of planets.

So I end up creating a new procedural: “Planet” texture, that has all the needed features and more, it provides enough detail at every scale and more important, is not very similar at different scales so zooming in will give you an entirely different view with new details and features in the terrain, it also have iso-lines and features that simulate erosion, rivers, platforms, and more , all using a single procedural!!!


It also has a very interesting feature: at small scales it has a curl-like behaviour, and adding more octaves will add more small curls,
unlike the current Magic texture that only add detail to the existent
loops, this will prove usefull for rocks, and texture driven flow for
particles.

As always a picture worth a thousand word, judge yourself, I think this
texture is worth integration 😉 .

Hope you like it

Cheers
Farsthary

New “Planet” procedural texture

Ligthing the way, with Unlimited Clay

Hi guys, I have a good news, unlimited clay has implemented now navigation/PBVH build/sculpt raycast at 100%, with the same speed level of a regular mesh
this was a black spot I have since the very beginning of the rewrite and I have previously using the brute force method (iterating over the whole editverts and editfaces of the object) in order to grasp the inner working of the sculpt mode, but that was slowing down the speed at high vert counts even if I where not stroking, only moving the brush over the object O.o!, I was sure that eventually something must be done about that… so I did my homework this weekend and finally now the sculpt only iterates over the needed editfaces/verts. I´m not saying that unlimited clay as a whole currently has the same speed of sculpting over a regular mesh without modifiers, no, it still will be hold back by the editmesh tools limitations, but the important aspect of that is that the previous method was hiding the true performance issues due to the limitation of editmesh tools, now they are exposed, since the sculpt action now is no longuer a bottleneck.

Let me explain in bold words how sculpt mode works: Before actually start stroking and sculpting, Blender builds a PBVH tree out of the verts/faces of your base object, this is a spatial organization data structure in order to optimize the vert/faces search in order to avoid testing every element to see if is under the sculpt radius
once correctly build it, on every stroke is now easy to find the affected verts, it don´t have to be rebuild because every sculpt tool asume that the topology does not change and then save a lot of computation time because is a very slow step… but well, with unlimited clay the topology actually change, new verts are added (removed in the future) dynamically so the old PBVH is no longuer valid and it needs to be rebuild on every stroke, currently I´m fully rebuilding it and it has a huge impact in performance, making it slower than sculptris that don’t use an acceleration structure, it is a worst case, so I need to implement a PBVH Update function that only shoud update the existing PBVH tree with the new verts/faces or the deleted ones, and to complicate things further the subdivission step iterates over EVERY vert/face elements of the editmesh because is based on the subdivideflag() editmesh function and I have previously pointed the problem with the current Editmesh mode/structures, that they don´t offer acceleration structures to perform editions in realtime for high polycounts.
But, hey, this is not such a big deal… you know why? because I have narrowed down all the performance limitations to those two issues, the rest of the system is tunned and production ready, and I´m happy for that 😉 while those issues are indeed important and need to be tackle, rome wasn´t buit in a day, and I bet the first iterations of the sculpt mode where very limited, so Unlimited Clay is getting ready for the first round in the wild 😉 and hopefully will atract the attention of the blenderheads in the remaining issues 🙂 (If it wasn´t for Matt Ebb volumetrics could never be done, the same goes for Jahka and Stephen for SPH particles, and for UC I got some pretty good advices from Nicholas Bishop)
Sumarizing a little, to be done:

– A good implementation of PBVH update (good performance gain if could be implemented, a must before public release)

– A good triangle relaxing scheme (I’m on it, this will guaratee a cleaner topology)

– Improve limitations of the EditMesh.

I want to make a pause here because it has many future implications, this module is getting a complete overhaul from the Bmesh project and many things will change, and I´m eagerly awaiting it, if finally Bmesh implement acceleration structures to perform edits in realtime … well, OMG! this issue would be gone forverer and I just will have to make the compatibilization job 😉 , if not, and is just a drop-in replacement of the current system (of course with all the incredible new features and flexibility that the current sistem lacks), well, then this will fall OUTSIDE the Unlimited Clay project and will span a NEW PROJECT: “Realtime Edit mode” 🙂 I´m getting exited about this because as soon as I see the end of my roadmap on the horizon I´m start getting the hunger for new defys ;)! of course, only if is not tackled before, by some other dev and after solving my debt with the community regarding the particles surfacing project 😉 (regarding the particle surfacing I´m seing some bits of code in the Blender source that is pointing some work started in that direction… I just need confirmation if someone is working silently on that ;)?) and while “Realtime Edit mode” is independent from unlimited clay, will contribute directly to it and the rest of Blender because Edit Mode is the backbone of Blender and let´s face it … is getting behind.

Unlimited Clay is far from finish yet, I´m just start seing its horizon, nothing more :P, I need to implement lots of small things to polish it and make it ready for trunk sometime in the future. I need to solve my SVN branch issues, clean a lot the patch to release it and solve some include functions that are in many different spaces with no link between them, implement the undo among other things and there´s this saying: everything will take more time than you think 😉 … but I´m happy because now the unlimited clay path have ligth, and you now know that something is getting cooking in order to raise Edit Mode to keep the Sculpt Mode pace, is not fair to have sculpt models in the order of million verts and watch Blender fall on knees if you ever dare to enter Edit mode 😉

regards Farsthary

Ligthing the way, with Unlimited Clay

This is possible!

Hi guys! 🙂


Remember my old burned PSU? well, I’ve been using a PSU that a friend has borrowed me since then, but to my surprise a very generous sponsor contacted me a few weeks ago about the possibility of sending me a good quality PSU: with very little hope for an easy/fast solution to my situation I told him that he could try sending it via certificated shipment and I get ready for waiting several months… but, OMG!, this friday when I returned from my work my jaw dropped on the floor when I saw it has arrived!!
It was really fast, proven me that is very possible to receive such items without much issues :), the PSU is much more than I will ever need and the quality is something I have never seen 😉
THANKS A LOT!!!!

cheers to all Farsthary

This is possible!

More optimizations

Hi guys 🙂

Wow every time I felt down the community is there for me 🙂 and I never forget that guys! my rant was not for the community, just being sad for seeing my communication channels get squeezed without could do nothing … and the remaining, the email, is pretty slow for my purposes… I miss the days where I could spend hours searching and downloading papers, watching tutorials or vimeo/youtube simulation videos or experimental features, for my sad (and the progress of the world) I’ve seeing the evolve of the internet content toward videos/Hi-def and that is something out of my horizon, that is something awesome indeed, and a picture tell more than a thousand words, but well, inward and outward blockade makes makes things worse….
Anyway, enough of the sad mood, the wave of warm feelings I have get from all of you gives me new strengths and hopes 🙂

Recently I have solved a bug that allows me 2x speed improvements over previous implementations, I was iterating in an algorithm over faces and then over verts making unnecessary calculations… so I down it to over editverts only and get the speed boost 😉 !
There’s lot of things to be improved and although is much faster than before I’m still not satisfy yet, implementing the pbvh_updateUClay() if succeeded could help with the speed also.
A reduce brush could be implemented (in a similar way like decimate modifier) just need to be researched later and also the merging of near geometry (for merging tentacles fro example 😉 ) also the undo is yet to be implemented.
I just need to keep it simple at first in order to improve the base as much as I can before start adding layers of features.
I’m trying to commit my changes to my branch (and also make it visible to the sculpt code masters: Nicholas Bishop, Jason Wilkins, etc) but is very outdated and I need to start from a fresh code base … I’m using TortoiseSVN on windows, any advice?

Thanks to everyone and all the best Farsthary

More optimizations