News   Demos   Music   People   Tools   Video   
   Own   Inferno   Cosmosis: Remixed   Other groups   
The making of Cosmosis: Remix
by merlucin | Chapter 3: The underwater
This is my favourite scene of all the demo, and the one that more work took. A lot of time went working in a powerful water surface shader, but it couldn't finally get done on time, so we had to use other techniques to give the viewer the impression of being under the water.
After surfing the internet a bit, we came with this nice underwater image. This was the reference and, in fact, was also used to compose the texture for the background that you can appreciate in the scene.

The texture is projected over a dome, giving the impression of an unlimited floor below the water surface. This way, the camera is always moving inside the dome.
After texturing the dome, we loaded it in the layers editor in order to have a first impression of the final appearance.

It was OK so, time to go to the demo editor. We had to close the camera's FOV a lot. This is to avoid the lens aberration in the points far from the image's center.
This object was created with a low poly resolution inside Modo.

For the texturing, this tool gave us problems, so we swithced to lightwave.

It's interesting to notice that modo is great because the user interface, but for final retouches or complex operation we are also switching to lightwave. It seems that modo has still some defects that must be corrected.
For this layer we were using a new version of the particle engine. This new version has been created from zero and has two main enhacements: the positioning of the sources, now defined by a 3D model, and the calculation of the next position, that uses the realtime expression evaluator.

A third enhacement was the fact of using realtime rendered textures as particles. This gives you the ability of animate such particles along the time.

The first step consists in rendering a single bubble in the screen.

This is done using a blue bubble texture we drawn in photoshop. Then, a deformation is applied to the UV coordinates of the texture. This stretches the bubble dinamically.

Once the bubble looks as it should, it is stored in a texture unit of the graphics card for later use.

Once the bubble particle is ready, we position a source in the locations defined by a scaled version of the dome object. This creates about 1000 bubbles per second, although not all can be seen at the same time in the screen

Once the bubbles are positioned, it's time to animated them through time. It is done with a formula, as iq proposed in his seminar at breakpoint: "everything can be described by formulas" :)

After the dome and the particles are positioned, we applied a final step: a deformation shader made by isaac2. At the cost of altering the screen edges, the entire scene is distorted using a deformation texture as source. At this time the deformation texture is static, but great effects can be achieved if ve make the texture dynamic, thing that will be seen in future productions
The last scene of the sea points to the ceiling, with some radial blur. Notice that the radial blur is only applied to a part of the scene. We used a technique called HDR here. Basically it consists in rendering the scene two times with different illumination and effects.

The first pass has a bright pass filter. This means that only the brighter parts of the scene are drawn. Then the radial blur is applied carefully. I mean carefully, because it is very easy to put a radial blur there, but the separation between the different layers of the effect must be carefully adjusted in order to avoid the trick to be seen.

Finally, the original image is rendered and blended with the previous one. The result: a nice partial radial blur :)

« Previous chapter Index Next Chapter »

© 2000-16 by Spontz - After 16 years we look back and recommend you to STEP OUT OF THE DEMOSCENE AS SOON AS POSSIBLE