Submitted by , posted on 19 November 2000

Image Description, by

These are some screenshots of a QuakeII Level Viewer. It used BSP/PVS for rendering, and included loading of textures and lightmaps. The Textures are hashed out when rendered, and the lightmaps are scaled to 16x16 and banked onto a 256x256 texture, and the lightmap banks are hashed when rendered, to reduce state changes like with the textures.

Also, I have animated textures and the warp effect implemented and functional. At the moment I am working on optimizing the code and cleaning up what I have. I have decided to use a class structure for the entire engine, which has it's pros and cons I have noticed.

I am also working on a game logic module, including entity parsing and spawning. I only have a few entities implemented, BSP models, rotating functions, and player starting locations and MD2 loading/placement. Unfortunately, I do not have MD2 rendering implemented because I use OpenGL and Direct3D for rendering, which means I am using a vertex array rather than per vertex rendering, and I am trying to still take advantage of Quakes OpenGL optimizations, but still make it ompatible with my engine. I am getting decent FPS at the moment, but I only have a P333 and Diamond Monster Fustion (uses the Voodoo Banshee chipset). I am also working on implementing MultiTexture support, I have it (but can't test it because my computer doesn't support it) so I don't have it implemented into the released engine.

Last but not least, the basic features of the engine are: Q2 BSP/PVS Rendering with Textures/LightMap, Animated Textures, Rear View Mirror, Direct3D/OpenGL Support, DirectInput, and a few others. At the moment I am working on, but have not implemented collision detection, and like I mentioned, optimizations. Also, one problem I am having is that first, Quake uses the Z Axis as the horizontal axis, (which isn't difficult to deal with) but mostly that it also seems to have everthing 100 times larger, and I have to scale everthing by 1/100 to make it look right, and i hate doing this because I am losing a lot of precision and it just takes that much extrawork to load and display, if anyone can help me, pleaz do! :-)

You can download the source code at

Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.