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
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 http://www.geocities.com/~xycsoscyx/