How best to do multiple render passes?

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
erictheturtle
Posts: 5
Joined: Fri Jun 20, 2008 5:27 pm

How best to do multiple render passes?

Post by erictheturtle »

I'm playing around with multiple custom mirrors and multiple render passes.

Looking at CSceneManager, I see you can register cameras for rendering (registerNodeForRendering()), but it seems the order of those camera renderings is arbitrary. So I've been manually setting up my cameras and calling ISceneManager::drawAll() as needed.

Now I want to cull the mirrors that aren't visible to a particular camera so I can eliminate entire render passes. I see CSceneManager::isCulled() has code that take's the camera's frustum and checks if a node's bounding box falls inside it--however that function is private.

1) To get this culling I need, do I need to re-implement the isCulled() function?

Also, I want to get the current (Maya) camera node position and direction, but those don't seem to be fully updated until drawAll() is called.

2) To get the fully up-to-date camera information I need, do I have to create my own camera?

I'm just trying to figure out if there some aspects of the engine that I'm missing that can already do all this for me.
Post Reply