Submitted by , posted on 23 October 2001

Image Description, by

This is an up-to-date screenshot of my leveleditor called "Philmap". I work with a little group of 8 people (Rarebyte) on a game called ParadiGm. It took me 8 months to create this program, though I actually learned OpenGL and MFC while programming it (I got a lot of help from GA, another team member and lead programmer, though)

  • Recursive-Window-System: You can split every view into halfes and change them to any kind of view you want (XY, ZX, ZY, Perspective)
  • Faces: Philmap Faces aren't limited to Triangles. They can contain any number of vertices as long as they're convex and coplanar... Faces are automatically split up if the translation of a vertex creates an invalid polygon
  • CSG: Subtract and Add. Optimized results. We used the BSP approached since CSG is not so time critical in a leveleditor. (No, it doesn't take hours ;p)
  • Entities: Entities are placed in an external .dll and get are rendered through the .dll (Event system (OnDraw, OnMouseMove, and so on.)). It's an MFC .dll so the entity coders can use MFC Dialogs.
  • Lightmaps: Lights are Entities, but have internal Philmap support.. Lights can be moved and are recomputed on-the-fly la Serious Editor
  • Brush Morphing: Brushes are morphed from a bounding to diffrent objects. Currently supported are: Cube, Sphere, Cylinder, ASE, 3ds, and a few others..
  • Terrain: Heightmaps are supported by Philmap. Sizes up to 2048 x 2048 ( not recommended, a little slow ;p). Vertex Arrays are used to speed up rendering
  • Frustum Culling: Philmap uses Object Sphere based Frustum Culling to speed up rendering... Overdraw is my main concern at the moment though...
  • Shortcuts for Visibilty of Dialogs: This was a great idea from one of my team, Charlie. To maximize the working space you can show/hide different toolbars. (that's why you only see the main toolbar in this screenshot =)
  • Textures: Philmap used the FreeImage library for it's textures, so there are _a lot_ of formats supported (Jpeg, Bmp, Png, Gif,...)
  • Texture Shader: Our engine features a simple shader language for mirrors, texture animation and so on... Philmap supports this.
  • Selection over the OpenGL backbuffer. (very accurate ;o)
  • all the other features a leveleditor should have: Translate Free, Locking to different Axis, Rotating around different axis, Snap to Grid,
  • ToDos:
  • Workflow: I still have to optimize the workflow of the program. It takes quite some time to create a decent map.
  • Morph plugins: I want to implement a .dll system for morphing, so others can write morph plugins without having to dig through the whole Philmap Code.. (for stairs, trees and so on)
  • Sprites: Although you can therotically use sprites, I still want to give this so common feature in engines some extra support
  • Optimize drawing of heightmaps: Currently we're able to draw about 2 millionen triangles / second... this could be quite some more.. (U2 has, what, 8 million / second? we'll top that =)
  • Occlusion culling: I mentioned above that we've got quite some fillrate problems. It's not such a big problem at the moment, but later on I'll implement something like that. (occluders)
  • In-Leveleditor game test: Like Serious Editor we'd like to be able to test the game on-the-fly... Our engine is designed to fit this so it won't be too hard, we'll see...
  • More entities: There are only 3 entities at the moment since I'm working more on the core side of the program right now. I want to make a little SDK so you can develop your own entity dlls.. You'll have to send them to me and I'll approve them, then they might get into the official entity.dll.
  • Morph Plugin SDK... I'm still trying to figure out a good design so that a morph can create multiple brushes not only one.. I think I found a way just this moment =)
  • Ok, thx for reading it all :). ok guys, start posting.. If you've got any questions, e-mail me ( Also, plz take a look at our website,, thx alot! cya,

    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.