Jump to content


Pyro fire RnD and questions.


  • Please log in to reply
12 replies to this topic

#1 anupamd

anupamd

    Initiate

  • Members
  • PipPip
  • 102 posts
  • Joined: 29-March 05

Posted 01 June 2012 - 12:34 PM

well Im trying to sell my team on using houdini for fire and smoke. First pass at fire here:

https://vimeo.com/43271016


This is all H12, Movement is pretty good, detail and shading kind of $hit to be honest. grid size is 300x300. Fume/Maya does a better job at the shading and detail bit, Houdini seems to have more realistic movement. Next step is to see if uprezed fire looks good or not. (this fire sim is not uprezed)

Also the pyro shader is just horribly slow. Sim time here was 10 minutes which is amazing (Im using OpenCL HW acceleration) BUT..8 HOURS for rendering without any scattering???. I played with the voxel step size to no avail.  Thats a bottleneck.

Does anyone out there have a decent fire shader (something just kitchen sink) that doesn't soak up gobs of time?

#2 old school

old school

    Houdini Master

  • Members
  • PipPipPipPip
  • 888 posts
  • Joined: 21-March 03
  • Location:The Great White North

Posted 01 June 2012 - 02:52 PM

Can you post the file? I know you used GPU to sim the volumes so please include as single .bgeo for a frame as well.

The render times seem excessive...


I am assuming you didn't use the default shelf tools to set up the fire but worked it up from scratch and may not have the regular fields present.

If there is no smoke being rendered (still need to define something as density), then you just need to render the fire (emission) field. In the Pyro2 shader, the fire part of the Pyro shader doesn't do any light look-ups so should be quite fast to render. It's just a simple volume look up and ramp colour applied. Note that since the opacity is set to 0 for fire emissive elements, no Stochastic Transparency is done so that's out.

I also wonder if the scene size is much larger or smaller than the defaults (usually something that fits  on the default construction plane works kinda ok with the default Volume Step size of 0.1). If you render with the Micropolygon render engine, then each and every vertex on every microvoxel needs to be shaded so dialling in the Shading Quality (voxel facing area to camera where SQ of 1 is about 1pixel and 2 is about 1/4pixel in area facing the camera) and the Volume Step size which is in Camera Z-Depth scene units is critical or else you are over-shading for the quality you get. That can really kill render times and push memory way up for what the volume really is.
If you try raytracing and your render times pick up, it suggests that the Volume Step size is maybe too small. With raytracing, shading is performed when sampled so you can be more aggressive with the Volume Step Size (setting smaller than for micropolygon rendering) but it's still better to find that best value to optimize rendering with micropolygon rendering.

I really don't think it's the Pyro2 shader at this time but you never know.

As for sharp volumes, if the volume res is quite low compared to the final render resolution, then yeah it's challenging to get a sharp looking volume but you never know what's possible without resorting to doing an upres sim but it may be the only way if a very low res fire gives you the behaviour and increasing the res kills that behaviour.
The biggest factor as far as rendering goes and sharpness/blurriness is the Volume Filter and the Volume Filter Width. Default of Box and width of 1 is not that great with lowish resolution volumes. You can go two routes. Create a nice smooth soft edged volume and then try to contour sharpen in the Pyro shader or try to choose a sharpening filter such as Blackman or Sync (very harsh and prone to ringing) with filter widths from 1.0 to 1.5 or experiment to create a sharper low res volume to render.


Again please attach the scene file and a .bgeo frame of the volume geometry you are rendering.
There's at least one school like the old school!

#3 llldemonlll

llldemonlll

    Peon

  • Members
  • Pip
  • 14 posts
  • Joined: 24-February 09
  • Location:Toronto, Mr.X
  • Name:Dmitriy Kolesnik

Posted 20 June 2012 - 07:43 AM

View Postold school, on 01 June 2012 - 02:52 PM, said:

The biggest factor as far as rendering goes and sharpness/blurriness is the Volume Filter and the Volume Filter Width. Default of Box and width of 1 is not that great with lowish resolution volumes. You can go two routes. Create a nice smooth soft edged volume and then try to contour sharpen in the Pyro shader or try to choose a sharpening filter such as Blackman or Sync (very harsh and prone to ringing) with filter widths from 1.0 to 1.5 or experiment to create a sharper low res volume to render.

You always give very useful advises, thanks very much! Now I am too have a fight with a low simulation which I am trying to render on 2k and get a maximum details from it. But one problem wich I have it's a lot of noise which gives me a calculation of Stochastic Transperensy, because I have several smokes with some opacity and I  can see this random pattern on the soft edges between mixing of this smokes... So this is a very big hadake, because the help told me that the one way to avoid this noise - it's increasing of Pixel Samples and as I saw - decreasing of Volume Step Size.. But the time of render is growing up to much.. And I still have a little noise with next preferenses:
Pixel Samples: 10 10
Min Ray Samples: 3
Max Ray Samples: 9
Transper Sampl: 25

And it's doesn't matter - PBR or Raytrays I try to use , one differens is only a time - PBR is slower..

If you have some advises, I will be very pleasure to hear it! :)

The best way to avoide all this - to use Micropoly and Shadow Map, but recaults have a very huge difference in good looking in comparing with Raytrayse.. So.. this is a close circle :)

Forgot. You usually don't see this problem with Stocastic Transperensy if you have only one smoke.. and preferences can be lower in a 2-3 times, but when you have several intersection smokes - you have my case..

Edited by llldemonlll, 20 June 2012 - 07:58 AM.


#4 bunker

bunker

    Initiate

  • Members
  • PipPip
  • 221 posts
  • Joined: 17-March 08
  • Location:DD Vancouver
  • Name:Julien Depredurand

Posted 20 June 2012 - 02:03 PM

That should render in no time at all. All you need is a custom shader. you can start with the basic smoke a tweak it.
And use micropolygon render, not PBR. and since it's only fire, you don't need shadows.

Edited by bunker, 20 June 2012 - 02:42 PM.


#5 llldemonlll

llldemonlll

    Peon

  • Members
  • Pip
  • 14 posts
  • Joined: 24-February 09
  • Location:Toronto, Mr.X
  • Name:Dmitriy Kolesnik

Posted 20 June 2012 - 03:44 PM

View Postbunker, on 20 June 2012 - 02:03 PM, said:

That should render in no time at all. All you need is a custom shader. you can start with the basic smoke a tweak it.
And use micropolygon render, not PBR. and since it's only fire, you don't need shadows.

I use pyro shader and I have only smoke without fire.. Mikropolygon render with ray trace shadows gives some noise too.. not with that preferences which I wrote above, with a bit lower. But smoke looks very blured and the cause of noise in this case on my opinion is the noise in the shadows.. In that case about which I wrote - the cause is calculation of St. Transperency and this noise has a different looking.. like some pixel noise..

I tryed some time ago to use custom shader but I didn't see a big difference in speed.

#6 bunker

bunker

    Initiate

  • Members
  • PipPip
  • 221 posts
  • Joined: 17-March 08
  • Location:DD Vancouver
  • Name:Julien Depredurand

Posted 20 June 2012 - 08:22 PM

Attached File  pyrorender.png   152.05K   337 downloads
This takes 52 sec on my 2.66 i7 laptop:

Micropolygon render, motion blur on, Dicing 1.25
Pixel sample 3x3, volume step size 0.1, opacity limit 0.9
Volume filter : Blackman 1.1, motion factor 1

the shader is a modified "basic smoke"

It's not a full HD render, but it wouldn't take 8 hours for the whole sequence B)

Edited by bunker, 20 June 2012 - 09:15 PM.


#7 bunker

bunker

    Initiate

  • Members
  • PipPip
  • 221 posts
  • Joined: 17-March 08
  • Location:DD Vancouver
  • Name:Julien Depredurand

Posted 20 June 2012 - 09:19 PM

even raytracing is not that slow (2mins35s) and produce more details :
Attached File  raytrace.png   157.82K   259 downloads
(stochastic transparency off).
I also re-run the micropolygon render also with stochastic transparency turned off and it's now 33s. :)

Edited by bunker, 20 June 2012 - 09:22 PM.


#8 anupamd

anupamd

    Initiate

  • Members
  • PipPip
  • 102 posts
  • Joined: 29-March 05

Posted 20 June 2012 - 09:21 PM

Hey guys, thanks for all the replies.
Ok Im doing more testing this week (I was away on holiday).

So to answer some previous questions: im just using basic pyroFX2.0 features... nothing modified in the solver.
I was also using the PyroFX2.0 shader. and micropoly rendering. Yea I thought it was pretty bizzare that I was getting such slow rendering times.



Bunker, could you share your shader? Or are you basically just doing a ramp based on heat/temperature in the shader?

In general though I think what Im getting form this threat is.. .. build my own shader for Fire and start from the simple smoke shader :)

Im going to try a few things and get back to you guys.



View Postbunker, on 20 June 2012 - 08:22 PM, said:

Attachment pyrorender.png
This takes 52 sec on my 2.66 i7 laptop:

Micropolygon render, motion blur on, Dicing 1.25
Pixel sample 3x3, volume step size 0.1, opacity limit 0.9
Volume filter : Blackman 1.1, motion factor 1

the shader is a modified "basic smoke"

It's not a full HD render, but it wouldn't take 8 hours for the whole sequence B)


#9 bunker

bunker

    Initiate

  • Members
  • PipPip
  • 221 posts
  • Joined: 17-March 08
  • Location:DD Vancouver
  • Name:Julien Depredurand

Posted 20 June 2012 - 09:33 PM

- take a "basic smoke" shader.
- rename density to heat.
- create a parameter named "opacity"
then :

heat > fit_range > color ramp > Cf
_new Of * opacity > Of

0.1-0.2 is a normally a good value for fire opacity.

#10 md5

md5

    Peon

  • Members
  • Pip
  • 10 posts
  • Joined: 21-March 11
  • Location:.
  • Name:. .

Posted 21 June 2012 - 08:04 PM

Awesome! thanks for sharing.

View Postbunker, on 20 June 2012 - 09:33 PM, said:

- take a "basic smoke" shader.
- rename density to heat.
- create a parameter named "opacity"
then :

heat > fit_range > color ramp > Cf
_new Of * opacity > Of

0.1-0.2 is a normally a good value for fire opacity.


#11 anupamd

anupamd

    Initiate

  • Members
  • PipPip
  • 102 posts
  • Joined: 29-March 05

Posted 22 June 2012 - 05:36 PM

Bunker you are the man! Thanks so much. this seems to be working perfectly. I'll post my test sometime this weekend.

View Postmd5, on 21 June 2012 - 08:04 PM, said:

Awesome! thanks for sharing.


#12 vi_rus

vi_rus

    Initiate

  • Members
  • PipPip
  • 111 posts
  • Joined: 05-June 09
  • Location:Moscow, Russia
  • Name:Sergei Bolisov

Posted 24 June 2012 - 01:27 PM

It's really interesting topic! I've never tried to do fire in houdini, so this is my first test. There is custom shader based on basic smoke(thanks bunker).
Raytrace, mb, pixels samples 3*3, grid size 209*233*430.
Render time 3 minutes(it can be faster).

Attached Files

  • Attached File  fire.jpg   390.74K   260 downloads

Posted Image
Posted Image
Looking for a job




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users