I’m working on a project in wich I’m getting the surface of a SPH particle set simulating water and rendering it on a non-photorealistic style. So far I’ve managed to make it work on the Fluids v.3 environment, but since it’s meant to be used in a video-game with much more interaction than Fluids v.3 currently supports, I’m trying to replicate it’s behaviour with PhysX, and for this I’m using the PhysX 3.3.1 Particle Sample that comes with it’s SDK as a start point.
This sample comes with a terrain loaded from a heightmap, a simple blue plane that represents the water surface and particle-sets for smoke and some debris that come out of the ground in some places and for a waterfall. The particles from the waterfall vanishes as soon as they enter the blue plane area. So far I’ve managed to remove the blue plane and make the waterfall particles stay alive as the application runs. I’ve also changed the terrain textures to make them look more cartoonish, making it coherent with what I want to acomplish with the water.
To make the non-photorealistic rendering I need to do a multipass rendering with different shaders, in sequence. As I said before, I’ve managed to do this on another environment, with OpenGL and GLSL. I’m not so familiar with the PhysX environment, but to me it seems that, in the samples, a renderer class is used to load the shaders (that are written in CG) from a XML, and them they will be used when rendering certain assets. My problem is: how to make it do a multipass rendering? I’m already trying to edit some classes but without success, since it seems that a lot of things need to be changed. I’m using Windows 7 64 bits.
Thanks in advance!