| Submitted by , posted on 01 March 2005 |

Image Description, by The basic concept is this: create a regular 2.5D zone style map editor (very much like those used with Doom or Marathon), and trick it out with point and ambient light sources, give it an interactive preview mode for applying materials, call it ChopChop, and post shots of it on flipcode IOTD.
The result is an engine which by nature of its geometric and logical simplicity is GPU bound to an almost ridiculous extent. This leaves a lot of room for all sorts of cool rendering effects; the current checklist is as follows:

> - Per pixel Omni and spotlighting
> - 4 Levels of adjustable specular complexity, including specular masking
> - Per pixel environment reflection
> - Per pixel refraction
> - Glow / Bloom effect
> - Stencil Shadow Volumes
> - 3 Levels of adjustable shader detail
> - Parallax Mapping (in progress)

The Editor GUI was created using Objective-C and apple's interface builder, while the core engine is written in C++/OpenGL to maintain some semblance of portability. The top two shots show the preview mode where you can apply materials and adjust lighting in real time, the bottom shot is of course the top down schematic. The large circles represent light radii, and the thick green lines denote zone borders. Each zone is given a floor and a ceiling height - and thats it. It has really become quite an effective tool for producing levels very quickly; the level pictured here took me about 10 minutes to make. The only pre-calculation that is performed is level visibility, which generally takes < 1 second even for large levels, so switching between instant w.y.s.i.w.y.g. editing and the schematic view is quite painless. Even fun...
There's a bit more info here:
http://www.vrac.iastate.edu/~jeffdr/opengl.html
Jeff Russell
Iowa State University

[prev] | Image of the Day Gallery www.flipcode.com | [next]

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