I am working on an independent game project for months and I am almost done with "technical part" of coding (terrain engine, lighting technique, animations) that will be use as construction set for the game.
I am using VB.net, DirectX 9 Managed and HLSL. I have a question regarding the global rendering technique. For now I am only rendering the terrain, water, skybox and sun of an outdoor scene. Soon I will add more meshes. My current rendering program is running like that and use only 1 HLSL effect file including 1 single technique and 4 passes (one for each item of the scene, terrain, water, skybox and sun) :
- Device set appropriate render target
- Clear Device
- Device Begin scene
- Update Effect file parameters
- Effect Begin
- For each pass in the effect file display the corresponding meshes: Pass 1: Terrain, Pass2: Water, Pass3: Skybox, Pass4: Sun
- Effect End
- Device End scene
- etc...
- Effect 1 Begin / Display Terrain / Effect 1 End
- Effect 2 Begin / Display Water / Effect 2 End
- etc
Thank you for your thoughts ! It will be really helpful if someone as the answer to that.






