Configuration minimum :
CPU at 1 Ghz
3d video card that supports openGL 1.4
10 MB free on HD
a sound card
Note : for the moment, there are only the GF card family and the radeon 9700 that supports openGL 1.4 whereas the radeon 8500 has enough power to run this demo there is no drivers released. This demo will
certainly runs very badly on a GF1/GF2MX card, and with a GF4MX you should have a highspeed CPU.
I have already tested this demo on those config :
- Athlon XP 1800+, GF3 TI 500
- Athlon 1.2 Ghz, GF4 TI4200
|
Here is what you first see after lauching the demo, it's a animated PQTorus with cubemapping. You can find a documentation on PQTorus on this site :
http://www.blackpawn.com/texts/pqtorus/default.html The PQTorus is generated each frame
to with interpolationning linearly parameters to change its shape. The mesh is constitued of 16384 vertices and two times more faces, you can check it
by taping "r_polygonemode lines" in the console.
|
|
Here comes the hatching rendering, that's why the loading of the demo is soooo long, I read the papers from the GDC2002 and from the site
of Mr Hoppe (that you can find here and here)
and basically coded what was written.
I use a 3d texture and vertex programs to achieve this rendering, theres is ONLY one texture in 256x256x256 of course I use texture compression to limit the amount
of memory taken by the texture. This texture is generated at the beginning via the technique described in the Hoppe's paper (it takes a short while unfortunately).
The airplane has a special vertex program that takes in account the specular lighting.
|
|
This a GPU killer scene, there are thousand cubes in the space, each cube is cubemapped, transparent and contains a sphere. This sphere moves
but cannot pass through the cube polygones. In fact all the work is done by the GPU since the 6-planes intersection is done by vertex program,
you can check it in the vp subdirectory. Basically I compute the distance to the plane and translate the vertex if it's out of the box, then recalculate
the normal. This is just an example of what we can do in a vertex program, it isn't well suited for games (although we can image a system to cap shadow volume
with a plane).
|
|
Another GDC2002 effect (of course here's the link) , it's about swimmingpool rendering
(I think you have guessed). The "wave" mesh is generated each two frames (at 30 hz so) to avoid too heavy calculation with a perlin noise, using 2 octaves for the moment).
Then with a vertex program, the refracted ray of light is calculated through each vertex till it reachs the plane equation of the pool's bottom. Then with
a mipmapping trick, I "paint" each faces of the refracted mesh with grey shade depending of the face's size. Then I render this mesh for above to a texture (this is
due to the mipmap trick) and apply this texture to the pool's bottom with multitexturing. Note that I didn't do exactly the same way that GDC paper tells, because
many people said to me that the chromatic abberation wasn't realist, so I removed it.
|