Chaos Scatter > [Scatter] I need help!

[solved] Corona Scatter Exclude areas

<< < (4/5) > >>

Torsten:
Yes, the problem was that the gradient between black and white was too small. I added a larger gradient edge, and now its much better.

romullus:
Now this looks really good.


--- Quote from: Ondra on 2015-10-01, 14:23:47 ---If you can afford to choose (which usually is not the case), when instancing/scattering, it is always best to minimize the higher of (number of instances, number of polygons in the instance). This is usually done by having approximately same number of instances as number of polygons. This will be the best compromise between speed and memory usage.

--- End quote ---

Sorry to bother you, but this is not entirely clear to me. Are you saying that optimal way is to have single poly proxies for such scenario? Or i completely misinterpreted you?

rambambulli:
Hi Guys,

I made some tests. On this scale there seems to be no difference.
Here I assume that instancing a grass leaf or a teapot doesn't make a difference. I chose the teapot to show what I did. With grass leaf this is a lot harder to show :).

As far as I can see  (but I am no render engine expert) there is no real difference between the different size of patches.
I assumed in this test that a large patch of teapots (or grass) is 2 or 4 times as big as a small patch of 5 teapots (or grass). Filled with the same geometry and trying to achieve the same density of course.
I was amazed to see that my tests don't really show any difference in render time. And only the single teapot instanced increased the memory usage noticeably.
I tested the single teapot just to test it. When creating grass a single grass leaf is very unusable I think.

Ondra if I understand you right, you mean: instead of using 10 instances of 100 poly object or 100 instances of 10 poly objects, you better use 31 instances of a 31 poly object. Right?

I can also imagine the LOD option in Forest Pack can make a real difference. So I still use the smaller patch but with far less complicated geometry as the geometry is further away from the camera. This could be the ideal option to find a balance between polys and instances.

@tmiddelkoop sorry for hyjacking your thread :)

Ondra:
I know I should not talk about it, because it will almost surely get misinterpreted into some horrible advices, but whatever ;))

If you need to render 100 000 000 grass blades (for simplicity 1 blade = 1 polygon), obviously you dont want to do no instancing ( 1 * 100 000 000) - it would not fit into RAM.
You also dont want to scatter individual blade 100M times (100 000 000 * 1), the scatter would compute for ages (and then it would crash on RAM).
Ideally you want to do 10 000 blades 10 000 times. It will give you the lowest RAM consumption (which is calculated as 10 000 instances PLUS 10 000 polygons - so 20 000 units of RAM - in other examples it would be 100 000 000 instances + 1 polygon = 100 000 001 units of memory, or 1 instance + 100 000 000 polygons = again 100 000 001 units of memory). You will also get the lowest precomputation time (which is again rougly computed as number of polygons PLUS (+) number of instances, NOT TIMES (*)). You will also get reasonable speed (highest speed is usually when using no instancing at all, but we already established that is not practical).

Obviously this is not applicable for many situations (such as scattering cars/trees- you cannot replace 5 highpoly cars with 5 000 lowpoly ones ;)). For scenarios like 1000 poly/instances this does not matter at all. Also cost per instance might be bigger than cost per triangle, so maybe it is better to go for instance polycount = 3*instance count. Or maybe 10? Hard to say ;)

romullus:
Thank you very much for info!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version