1 reply to this topic
Posted 17 April 2005 - 12:18 PM
The Image shows a project I am working at for fun and learning high-level vertex and pixel shaders and optimizing code at all.
At first sight its a standard first person shooter, the difference is that the gravity points to the centre, so its possible to go to the other side of the sphere just by jumping down, at enough speed its possible to get in an "orbit", then you fly endless around the sphere.
Furthermore the player has a jetpack so he can steer in the air for get back on the ground by switching it on but there’s finite amount of fuel.
Its planned to be a multiplayer shooter, for more then two players, because of the lightweight engine it shout be possible to manage more then 32 players.
The world could be any textured milkshape3d model, if reflection, refraction or bump mapping wished it’s necessary to have a normal-textured model too.
With all features on the amount of triangles should be under 10.000 because of the heavy use of pixelshaders and real dynamic bump cube environment mapping, the whole geometry is mirrored by itself, but there could be more than 100 light balls because of the exact environment-mapping there have no light calculations in the vertextshader for the reflection but for bump mapping. The ground of the lower part of the image consists only of ca. 32 polys.
The program is entirely written without any additional graphic-libaries in C++, on a OpenGL 1.5 system the shader functions are located by "wglGetProcAddress".
All shaders are written in GLSL so it’s necessary to have a Geforce FX or R9200, but below this specs it would be to slow too...
This image is displayed by a XP2600+ and a radeon 9800, the fps are 65, with all features of 350, with OpenGL 1.4 settings with simple dynamic cube environment mapping on (without bump mapping and shaders at all) ca 230.
One reason for the bad pixelshader performance is that there have to be a matrix multiplication (simplified to three vector operations) for the real reflections and of course because of the environment cube that is updated every frame.
The project is in an alpha state, physic and render is working, sound and multiplayer is following, there will be a demo and homepage URL soon!
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users