Hey, I think a setup like my physics system would work well here. How about using the following commands:
CreateShadowLight( parent, range, [blah], [blah],...)
EnableShadows( entity )
UpdateShadows(); Update all shadows before RenderWorld()
Instead of hiding the world, which is impractical with complex levels, maybe we could move both the light and the receiver to some extremely far position where everything else will be out of camera range, perform the rendering, and move them both back.
CreateShadowLight( parent, range, [blah], [blah],...)
EnableShadows( entity )
UpdateShadows(); Update all shadows before RenderWorld()
Instead of hiding the world, which is impractical with complex levels, maybe we could move both the light and the receiver to some extremely far position where everything else will be out of camera range, perform the rendering, and move them both back.