high particle counts cause grid?!

Use this forum for discussions specifically related to the Krakatoa SR C++ API.
For discussion of topics applicable to both the C++ and Py APIs, please use the parent forum.
Sakul
Posts: 4
Joined: Tue Jun 18, 2013 4:07 am

high particle counts cause grid?!

Postby Sakul » Thu Jul 04, 2013 9:03 am

hello.

it seems that when it comes to higher particle counts that the render shows up a gridish structure.
is there a way to get rid of that instead of using less particles?
any suggestion would be awesome.

regards

sabine

highparticlecount.jpg
highparticlecount.jpg (51.21 KiB) Viewed 1098 times

User avatar
Bobo
Posts: 6083
Joined: Tue Nov 15, 2005 10:26 am
Location: Vancouver, Canada
Contact:

Re: high particle counts cause grid?!

Postby Bobo » Thu Jul 04, 2013 10:39 am

Hi Sabine,

In most cases, this pattern is caused by self-shadowing and depends on the distribution of the particles (esp. when distributed in a thin sheet across a surface as opposed to a volume), on the Lighting Pass Density and the Attenuation Map Size.
You can find some more information in this article:
http://www.thinkboxsoftware.com/krak-particle-density

In short, let's say you have a lot of particles close to each other and each has very high per-particle Density value. Add to that a rather low-resolution Attenuation map (default is 512x512 unless specified differently).

Let's also assume that the light source is a Spot light and it is far away. Because of that, the number of Attenuation map pixels responsible for capturing the shadows in the area where the actual particles are is very small subset of the full resolution. Because the Lighting Pass Density of each individual particle is very high, the first particle to register in the Attenuation map will cause a very high attenuation (absorbing most of the light immediately), and all following particles that are very close to the first particle will be considered in its shadow. As a result, the Final Pass drawing of the particles reveals a moire pattern that reflects the grid structure of the Attenuation map pixels.

To see if this is your case, you can try to change any of the parameters mentioned above:
*Try reducing the Lighting Pass Density of your lighting so that particles produce less abrupt self shadowing (you can clearly see bright and dark spots in your rendering which is a clear sign for a very high density per particle). Reducing the Final Pass Density can also help somewhat to reduce the sponginess of the result.
*Try increasing the Attenuation Map resolution and see if the pattern will change its frequency. 1024, 2048 or 4096 should produce significantly different results, although the pattern might not go away.
*Try moving the light source closer to the particles and see if the pattern will change its frequency. If you are using a Spot light, try to reduce its cone radius to enclose the particles better. If you are using a directional light, keep in mind Krakatoa also defines a cone radius for it and the larger the radius, the less pixels you have covering the surface you are rendering.
*Try spreading the particles in a thin band around the distribution surface (for Krakatoa volumetric rendering, it is recommended not to create surface distributions at all and always aim for a volume filled with particles, allowing the light to attenuate with depth instead of at once at the surface of the cloud - the the illustrations in the above article).

If any of these changes affect the pattern, you are dealing with the case I described.

Some old-time Krakatoa users have proposed some tricks to counter-act the effect - for example using multiple light sources with the same position, but different Attenuation Maps and some rotation (for spot lights about their length axis, for point lights a random rotation to make sure the patterns don't align in space). The intensity of these multiple lights could be set to represent the final intensity of the single original light source. The resulting patterns would be overlapping too and reducing the visible problem.

Please let me know if the above makes sense in your particular case.
Borislav "Bobo" Petrov
Product Specialist
Thinkbox Software Inc.

User avatar
Chad
Posts: 2092
Joined: Tue Nov 22, 2005 9:35 am
Contact:

Re: high particle counts cause grid?!

Postby Chad » Thu Jul 04, 2013 10:22 pm

Krakatoa is smart enough to sort the particles only once for each coincident light set, so the performance penalty isn't bad. We have the light rotation built into our Fusion implementation via a macro, and it makes a huge difference in quality when you have a very dense particle set.

Sakul
Posts: 4
Joined: Tue Jun 18, 2013 4:07 am

Re: high particle counts cause grid?!

Postby Sakul » Wed Jul 24, 2013 9:26 am

Hello.

first of all sorry for not answering till now. i´ve been on vacation and couldn´t get my hands on this.
Thank you Bobo. that was a shitload of information and i will work this trough. ;)
i tried out to use multiple light sources with different rotation but that did not work out.
i´ll try the other things you metioned and will keep you informed.

regards.

TylerAfx
Posts: 180
Joined: Fri Dec 30, 2011 1:20 pm

Re: high particle counts cause grid?!

Postby TylerAfx » Thu Jul 25, 2013 10:32 am

Also important to say, that the main scene scaling/dimensions can be an issue when setting up the shadow map size/sampling etc..

User avatar
Chad
Posts: 2092
Joined: Tue Nov 22, 2005 9:35 am
Contact:

Re: high particle counts cause grid?!

Postby Chad » Thu Jul 25, 2013 5:29 pm

TylerAfx wrote:Also important to say, that the main scene scaling/dimensions can be an issue when setting up the shadow map size/sampling etc..


No it doesn't. The map size/sampling is based on the solid angle of the light.

One other thing to check... Is there a pattern in your particles that might cause moire in the sampling? Maybe add a high frequency noise offset to the position?


Return to “Krakatoa SR C++ API”

Who is online

Users browsing this forum: No registered users and 1 guest