Nostalgic Blend(er) of the past I

Hi all 🙂

Recently found my forgotten account in Vimeo where I posted several years ago (seems like yesterday) my experiments and tinkers. Since I will no longer use or maintain that account I’m uploading them to my active Youtube channel to avoid loosing them in case Vimeo servers drop inactive accounts.

OMG what a lot of memories they bring me, they still float around in this blog as I started it in 2007 when I called it: True Volumetrics (for Blender) and it has witness my personal growth from a curious kid to …. an older curious kid XD.

I will never forget at that time my huge lack of resources, it was just a year before, that I could finally bought my first Pentium 4 computer (256 MB RAM and 32 MB Video it was a dream come true at that time in Cuba), with little to none computer programming experience in the past, but a strong love for math and physics since I was studying Nuclear Physics and with a CG passion eroding me inside out for not choosing my perfect career. So, at the third year of Nuclear Physics (2 years before getting my degree!) I took the leap of faith and changed college: I remember it was a drama for me,  Directors, professors and classmates didn’t wanted me to leave as I was showing good promises in the field … making it more difficult for me to make the choice: -what if I’m wrong? what if I’m dropping a unique opportunity career for a mediocre future? cheers to them wherever they are now!

I think I will never know, and every time I face a life restart I have the very same fears, but at least the chosen path gave me the opportunity to realize my 2  biggest dreams: – Working at the CG industry and become free from the illness of my society.

Blender was my dream scene and my playground, due to my ingenuity I could not finish many projects there but I acted as a catalyst for them to happen. Instead of asking in forums for features I drafted them, showed them what can be achieved and that it was really possible, so experienced devs could turn them into life. The community opened me their arms and their heart and I still carry them with me, I guess that being open source, I can go back anytime in the future. Blender have long evolve those points and I see with pleasure how is turning into something bigger that the creators, become self sustainable. It has surpassed the critical mass for open source projects to continue live on forever and not be forgotten in the springs of short lived similar projects.

In those videos also appear my roots at 3DCoat, where I have sprout my first white hairs and I found a nest too and I pushed myself to horizons never expected before 🙂 We can’t have everything we want in life and our lifetime budget is limited 😦 we get consolation in the hope that, someday in the future we will see again our friends, relatives, lovers and things will be the same but is not. Our life threads diverge and we turn complete strangers again.

All that remains is nostalgia. 

Raul

Nostalgic Blend(er) of the past I

Particle Surface Polygonizer patch

Hi all 🙂

Stephen Whitehorn has recently made lots of refining and progress on our surface polygonizer patch, we’ve been working on this since long ago with some stalled periods 😉 he has recently refine and upgrade the code for a recent version as he has posted on his site:

hope you like it 🙂
Cheers

Particle Surface Polygonizer patch

UnlimitedClay paper

Unlimited Clay

Hi everyone 🙂

Some time ago I was working on an Unlimited Clay paper to explain some basic principles since in my research for implementing dynamic subdivision sculpting all the existent papers seems quite obscure to me at that time (plus a slow internet connection =  EPIC FAIL :P), I even dare to send it for SIGGRAPH 2011 where it got reduced to ashes by the review experts board 😛 (even ignoring Ton’s advices regarding that, he warn me that they will be heartless with the papers :D) but in the end, yes, they where right, I was quite naive and inexperienced in theoretical development, I prefer to jump and code and that actual working software speaks for itself, but what doesn’t kill you, make you stronger, as a saying said. I don’t have any problems in recognize my own mistakes 😉

But since recently Nicholas Bishop is taking great steps toward implementing dynamic topology sculpting in Blender I think is a good time to blow the dust of that paper because it still have some value in explaining few tricks of how dynamic subdivision sculpting works and hopefully can help to ease the way I have to walk by trial and error before.

dynamic subdivision sculpting final

Also I want to point out once more time that here in 3DC the team really appreciate the Blender development efforts and we admire it,  Andrew is one of the most amazing persons I have met, aside from his lightning fast  intelligence (that is my model to follow :)) he has one of the most altruist personality I have seen, he have a lot of things in common with Ton, I surely can said that if half of the enterprise owners out there where like them, this world would be a much better place. I would like to recognize the incredible effort the Blendiac family has made to format and upload the paper for me at that time.  I’m very thankful for all the wonderful people the Lord has put in my life.

All the best

Farsthary

 

UnlimitedClay paper

Why is UnlimitedClay on hold?

UC is currently on hold for several reasons, most important is that is awaiting for the official integration of B-Mesh project and some other sculpt improvements, as I have explained several times before the current mesh system in Blender does not allow real time incremental updates, and while prototypes of UC can be implemented performance will be terrible slow after several thousands of polygons. Of course, an intermediate data structure can be used but that would mean another computation layer that may not be worth to have once Bmesh enter the scene. The good news is that If I’m not mistaken Bmesh is closer and closer so I will soon set the foundations of UC in Blender 🙂

Cheers
Farsthary

Why is UnlimitedClay on hold?

UnlimitedClay for Blender alpha 2 patch in 3,2,1

* Note from Blendiac: Raul sent us this a few days ago, but due to a massive power and phone outage where we are, we only just managed to get online and post this. Forgive us Raul / Blendheads!

Hi all 🙂

As promised yesterday[*] here is the UnlimitedClay patch against an old
revision (32564), is a heavy patch where I move data a lot among files,
basically due to the need to expose editmesh functionality to the sculpt
module and viceversa, remember that UnlimietdClay is more like a hybrid of
both modes , also there are some incomplete features or temporal solutions
there (like drawing functions).

UnlimitedClay patch:
http://www.box.net/shared/ga1idr295e

There are several smoothing algorithm that I have earlier release as a
cleaner patch,  and rewritten to to avoid introducing new terms , so they
can be used here just for testing purposes, I don’t recomend to integrate
them as they are in this patch, if any dev is interesting in them please
search the Blender patch tracker where the correct patch is floating.

A new rewrite must be done for the new BMesh and also to implement better
PBVH support, I’m preparing a PDF where I explains the basic for dynamic
subdivision sculpting that will ease the task 🙂

I’m sure all the issues will be overcome soon. Enough of talk 😉

All the best,
Farsthary

UnlimitedClay for Blender alpha 2 patch in 3,2,1

Relaxation patch

Hi guys 🙂

As you may know, recently I have being working on several relaxation
algorithm that prove to be useful for mesh editing to extend functionality of the current smoothing algorithm implemented in Blender. Well, I have made a patch (link to the patch) with the two best relaxation algorithm I have being working on, the Improved Laplacian relaxation, with no shape shrinkage and the HC relaxation with low shape shrinkage.

The feature is fairly easy to use and it has toggable shape border
preservation.

Hope you like this
Farsthary

Relaxation patch

Congratulations in Valentine’s day

Oh yes, and now the kitsch picture 😉

Well , a quick update regarding UnlimitedClay and LiveClay:
————————————————————-
UnlimitedClay:
This weekend I have made a few tweaks to UC and got a minor speed boost, remaining still in my todo list to be released is:

-Implement the PBVH tree faces update (the current showstopper and the most performance hungry step).
-Fix some issues regarding PBVH leaves border faces that seems to get double sculpted.
-Implement correct undo/redo.

Once tackled those issues the patch will be ready for the wild, though fixing them will take a while, UnlimitedClay is in a more advanced stage than LiveClay currently so some leveraging work must be done in the second one.
————————————————————–
LiveClay:
Progress has being faster than I initially thougth, 3D principles are the same across aplications despite of its flavours 😉
The face dynamic subdivision with Loop triangle subdivision (and smoothing) is implemented at an estimated of 80%, remaining is few issues with face conectivity but not a showstopper.
I have Implemented also the Star-Flower subdivision scheme for testing purposes but can be usefull in the future too.
Due to the fully dynamic and local nature of 3DCoat the early performance test are quite optimistic, several million polygons are no issues exploting locality correctly and I hope as the implementation advances to further optimize it, also all of this is without CUDA, intel TBB, by pure software solution (the subdivision part) so there’s still room for improvement here 😉
But still there’s a lot of subtasks that must be accomplished before the first iteration of LiveClay get released.

All the best
Farsthary

Congratulations in Valentine’s day

Vortex particle update is committed in Trunk!

Hi all 🙂

Thanks to Jahka my particle’s vortex effector update is in trunk! Yay!!!
As he write in the commit log:

“Small particle effectors update:
* Greetings from farsthary: particle rotation is now taken into account for particle
effector direction.
** This gives all kinds of new possibilities as he shows in his blog
https://farsthary.wordpress.com/2011/02/08/vortex-particle-simple-tut/.
**The only modification I made to his patch was to use the actual rotated particle
direction as the effector direction as this defaults to the particle velocity
vector, so no actual new options are needed.
* I also added an “effector amount” setting for particle effectors so that only a
part of the particles can be considered as effectors. This makes it possible to
create simple “farsthary vortexes” with only one particle system.
* Also some tiny reorganization of the falloff min/max values for a nicer ui.

Thanks Jahka 🙂

Vortex particle update is committed in Trunk!

First baby steps of LiveClay feature in 3D-Coat!

Hi guys!

Still is too early to make official announcements so just take it like a status report of the upcoming feature in 3D-Coat: LiveClay. LiveClay is the equivalent as Unlimited Clay in Blender, it means Dynamic subdivision sculpting but eventually will become much more 😉 This is a very rough screen shot of two strokes in the same low detail surface, with and without dynamic subdivision.

3D-Coat LiveClay example

There’s a lot of road to walk still, and getting used to a new code base requires time 🙂 but as you know, I love to have my task list full. I also have Blender news for this week so stay in touch 😉

Cheers to all,
Farsthary

First baby steps of LiveClay feature in 3D-Coat!

Vortex particle simple tut

Hi guys!

A pending debt! using the new patch is a bit trickier, because you have to specify which particles will act as vortons (vortex particles) so the typical solution is to use the Tracers particles (the particles you will actually see) and complementary low number vortex particles with vorticity force with fallof forces and opposing vorticity in order to get realistic results.

Hope the video explains things a bit better

Cheers,

Farsthary

++++++++++++++ UPDATE Blend Files ++++++++++++++

BasicTracer2D.blend
ManualCurl.blend
WispyColider.blend

Vortex particle simple tut

The Blender 3D Cookbook

Hi all 🙂

For many people a step by step tutorial book is not enough, some people like the information collage.
Well, Ira Krakov have made a very nice 3D cookbook of many web floating tutorials and tip and tricks scattered over the time.
You will find from 2.4x tips (that can be reused for the experienced artist to 2.5x) to the most recent builds.
Is also a goodie that every tutorial is based on his own videos and timelapses, so if you like you can go deeper and watch them from Youtube.

http://www.lulu.com/product/paperback/the-blender-3d-cookbook-volume-1/11777448

He was kind enough to allow me to redistribute the Book inside of Cuba to support Blender in our country 🙂

Thanks!

The Blender 3D Cookbook

Spin my particles!

Hi guys!

This is a new particle development I have being doing under the radar, one of the new year surprises, the good news is that the needed changes in Blender to allow this are minimal …. just a few lines patch and voila!

Though this time, is not a full simulation that will do the magic for you, this is a mixture of simulation plus artistic freedom/control … I will explain the full technique in future posts.

Recently an Intel developer has written a series of articles about realtime vortex simulation for games. The demo is spectacular and best of all runs in realtime. Sadly the algorithm is not open source and I wanted something similar in Blender… so you know the end, don’t you ;)?

I end up taking a different approach with similar results and I’m very pleased! my approach require more complex set up but more advanced user control and best of all is completely Lagrangian, I mean completely boundless , whether the Intel approach is a hybrid algorithm lagrangian/eulerian (lattice-particle method).

I took advantage of the fact that the current Blender particle system is a second order simulation system , where particles act as  source of force field, and the current vortex particle field has the rotational vector very limited and locked to the particle velocity direction …. well, I have made a simple patch to allow more user control and watch yourself!

Take this as a proof that I’m still active 😉 !

Cheers,
Farsthary

Get the patch here!

Spin my particles!

Toward sculptris-like sculpting!

Hi 🙂

As my new year surprise for the community I will show you my recent advances in the subdivision algorithm for Unlimited Clay: now those ugly long and thin stretched triangles belong to the past! hope you like it 🙂


PS: before you ask, no, this is still not committed to my branch: there´s a bunch of issues not shown in this video that will prevent this for public usage yet but don´t worry, I´m working very hard to get as soon as possible a public build!

Best wishes for this new year!

Farsthary

note from the blog’s maintainer (Lapinou) :

Farsthary has been working on the unlimited clay algorithms during many monthes (so he doesn’t just tinker code, he also polishes it!): as often in the computer science world, developing a new feature follows the Pareto law : it takes 80% of the time to develop the 20% remaining stuffs (bug fixing, optimizations…), which explains why Farsthary is “only” posting “unlimited clay” stuffs in the mean time..moreover, he keeps learning new area of the blender code with limited help..

Thanks to the new skills in the mesh editing field he is learning, he will than be able to tackle the surface generation tool for fluid particles with more maturity (better designed code, etc)

As a gift for the new year, I suggest for those of us who are able and willing to, to save a extra few dollars  (more is difficult because of the crisis, I know what I am speaking about (issues to find a job)) for him and offering a little donation:as an example, it can be translated in simply smoking or drinking less during a week for his sake.

If many of us do even a tiny donation (not optimal relative to paypal, but better than nothing), this will keep his living condition at the same level than the previous years. Thanks!!

Toward sculptris-like sculpting!

Smoothing/Relaxation battery tests

This end of the year /new year will be full of surprises and good news … I hope that. 😉

Regarding Unlimited clay I have very good news and also a new development surprise in the particles simulation field … but sorry, you will have to wait a bit more for that ;), as I have a very low bandwith and in order to upload a new video I have to do wonders to shrink and split it in dozens of parts and send it by email to my friend Lapinou  … so new videos are staking here 😦 (lapinou’s note: finally uploaded!)

It’s now the turn of the test smoothing/relaxation algorithm I have been developing last week:

Three smoothing/relaxation algorithms are currently implemented in Blender (not counting the subdivision surfaces because it changes topology but the output of that algorithm is also a smooth surface) the smooth vertex editmesh tool, the relax addon and the UV Minimize stretch tool. I want to point out that there´s not the ideal relaxation algorithm valid
for every object: every relaxation scheme has advantages and drawbacks over others and are more or less suited for the task.

The smooth vert algorithm is an all around average solution, it performs a laplacian relaxation in the field and while is a very stable method it suffers from an excessive shrinkage effects of the shapes. The relax addon tries to solve the shrinkage issue and is very good on that, but it’s somehow slower since it’s based on shrinkwrap and laplacian smoothing.

The UV minimize stretch tool performs a different relaxation: it’s based on smoothing angles, not edges, and while it’s very useful for many cases, it’s not valid for others (see my test video).

Currently I have implemented four algorithms more (eventually I will only stay with two of them only)

1) edge – spring relaxation: it acts push/pulling verts of the mesh based on elastic forces , very good on retaining original shape much with no shrinkage, is very similar to other cases but have some ill outputs.

2) revised ideal length relaxation: this is very similar to the spring relaxation and acts in a similar fashion, without many of the ill cases that affect the former.

3) revised laplacian relaxation: this one, based on the original laplacian, is also an all around good average solution but with zero shrinkage and much more faster/cheaper than the relaxation addon since it doesn´t perform shrinkwrap evaluations.

4) HC – relaxation: taken from the paper “Improved Laplacian Smoothing of Noisy Surface Meshes” this one again is based on the laplacian relaxation with a shrinkage component but very small and needed in the reconstruction cases, this algorithm is very good on smoothing and shape retaining at the same time.

All the previous algorithms have boundary/open mesh detections to avoid shape deformation but again that is an optional user feature. In general, every smoothing algorithm perform a tradeoff between smoothing and shape retention: the more the shape is maintained the less it is smoothed and vice versa, the first three are aimed to shape retention, while the fourth is aimed in the middle, to retain shape and to smooth at the same time.

I have made a new video test, this time with a wider battery tests and all the smoothing algoritms, since I haven´t implemented yet for UV I replicate a mesh with a Suzanne´s UV to get an idea of how it may work. Please be a little patient since this may take me very long to upload.

All the best
Farsthary

Smoothing/Relaxation battery tests