Jump to content

Render Optimization (Particles)


Recommended Posts

Hey,

I am looking for a way to optimize a scene like the one in the attached file.

Mostly I am looking for a way to get rid of the noise on the sphere.

post-7530-0-58342700-1354454735_thumb.jp

I tested the whole thing with Pixel Samples set to 50x50, which I think is kinda crazy :), and I still got noise on the sphere plus the render time was over 6minutes for a single frame.

Is there a better way to get rid of such noise then pumping up the pixel samples?

and is there a better way to make my points emit light?

right now I am using a Mantra Surface shader that uses point colour as emission colour and the emission intensity gets multiplied by the opacity, which seams to work but is clearly not the best way to do something like this :)

any Ideas to make this work, I never tried lighting with particles in houdini before and am kinda stuck :)

ever little help would be great!

cheers,

Juri

ParticleLighting.hipnc

Link to comment
Share on other sites

Hi,

One way to fix the graininess and speed up the renders is to copy spheres onto the particles an use them as a geometry light. This worked pretty nicely.

The changes I made to the scene was to mainly to create a geometry light and turn off the 'emission illuminates objects' on the particles. Also turned the sampling down a bit.

Much of the graininess seems to come from the depth of field. It might be best to do the DoF in post, as to get a nice look you're going to have turn up the sampling really high (I was getting nice results at 50x50 samples though). It could be worth splitting the scene into a particle pass (and render with the micropolygon renderer for the extreme DOF) and the sphere with you can render with pbr for the lighting with far fewer samples.

Generally speaking, I think that using the emission option on the mantra surface shader tends to be really grainy (at least that's been my experience thus far).

Never had much luck instancing lights, as to get the light to be the point colour seems to slow down the scene translation significantly. Hoping that eetu or someone could point out how it should be done… :)

post-3912-0-19661500-1354470971_thumb.jp

geoLight.hipnc

Link to comment
Share on other sites

Reflective surfaces togheter with small lights takes a while to get rid of all the noise.

My rendertimes are not much better but I changed the scene to be gamma corrected which helps some in dark areas and is more physically correct. I also use a Geometry light instead of emission which I find easier to work with.

Render took 1:45 min on my machine.

post-5363-0-37754300-1354471478_thumb.jp

ParticleLighting.hipnc

Link to comment
Share on other sites

Reflective surfaces togheter with small lights takes a while to get rid of all the noise.

My rendertimes are not much better but I changed the scene to be gamma corrected which helps some in dark areas and is more physically correct. I also use a Geometry light instead of emission which I find easier to work with.

Render took 1:45 min on my machine.

Change Tile size back to 16 from 64 and you'll cut render time in half.

Link to comment
Share on other sites

Change Tile size back to 16 from 64 and you'll cut render time in half.

Almost half. Usually use 16 but messed around and forgot to change back. It is however strange that it makes a difference. I have loads of ram so I fail to see how using a bigger bucket size can make things slower when using PBR. When using MP the renders becomes faster using a bigger bucket.

Someone please enlighten me.

Link to comment
Share on other sites

Never had much luck instancing lights, as to get the light to be the point colour seems to slow down the scene translation significantly.

Yeah, just tried - it does indeed seem to take an ungodly amount of time. Using a point(,instancepoint(),,) expression on the light color it looks like it's recooking the sop the point() is referring to - again for each instance.. sigh

I seem to remember there being a mechanism where point attributes on the object being instanced to would override parameters on the instanced object. Doesn't seem work though, maybe I'm just remembering the material overrides. Wouldn't it be nice, though?..

Anyway, the rendering itself is quite fast this way, and no noise..

juribryan_ParticleLightinge.hipnc

Link to comment
Share on other sites

Almost half. Usually use 16 but messed around and forgot to change back. It is however strange that it makes a difference. I have loads of ram so I fail to see how using a bigger bucket size can make things slower when using PBR. When using MP the renders becomes faster using a bigger bucket.

Someone please enlighten me.

This image has small difficult area witch renders magnitude slower. So at the end you're using only one core (tile is just too big to "cut" this area to several cores) while others are just idle.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...