IFD and Raytracing

   3200   3   1
User Avatar
Member
54 posts
Joined: Feb. 2009
Offline
I know that using the Raytracing render engine makes using delayed load geometry effectively useless (as it has to load all the geometry into memory in order to calculate rays). This might sound like a silly question but will this be an issue for Raytraced shadows as well? Is it better to use Depth map shadows when using delayed load IFD's?
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
I find once you have generated your maps its way faster than raytracing shadows all the time

rob
Gone fishing
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
In short: using raytracing anywhere in your scene will require delayed loads to stay in memory, so also when generating the shadows.

In long:
The reason for this is that creating a shadow is basically rendering the scene from the point of view of the light. This also means that in terms of delayed load, for each light in your scene (that casts shadows) it will load the geometry.

So if you just render with a single light with a shadowmap, it will actually generate the shadowmap for that light first and load all your geometry - basically kick of a separate render. Then it will render from the point of view of the camera and load the geometry again.

But you should really separate out the shadow map generation from the main render, because 1) this process can be made parallel (farm). 2) Once you have generated your shadows, you do not need to generate them again unless you have changes to your actual geometry or position of the lights. (Generally whilst you are testing the scene you can set your shadow map resolution fairly low as well, and turn it up when you go for final quality.)
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
14 posts
Joined: Jan. 2008
Offline
Ponge
I know that using the Raytracing render engine makes using delayed load geometry effectively useless (as it has to load all the geometry into memory in order to calculate rays). This might sound like a silly question but will this be an issue for Raytraced shadows as well? Is it better to use Depth map shadows when using delayed load IFD's?

note quite true

even if raytracing means mantra doesn't dump stuff from memory like it would doing pure rasterization, using DRA's for geometry still makes IFD generation go MUCH quicker (and take less file space) in general as you're not having to stuff your IFD full of all the geometry all the time

here typically animation is locked well before people are done tweaking lighting and shading so not having to regenerate geo in the IFD stream saves a heap of time

we also employ other tricks for this so for instance shader properties are always defined at object level = one shader per object, to avoid having to bake any param's into the geometry as well

for things where we do need to do bake some kind of shading related data down to the geo, our assets are set up so we can switch between DRA mode and normal ‘in scene’ mode easily

ie there are good reasons to use delayed read archives even without the memory benefits you normally get with micro poly rendering

I believe for instancing there are additional benefits, even for raytracing in that it can keep one copy of the geometry around but only if you don't do anything that might force mantra to dice it (sub'd's, displacements, etc)
  • Quick Links