Submitted by , posted on 01 December 2002

Image Description, by

This is a screenshot of my low-poly-editor. For some reason I like to write my own editors instead of using standard packages like gmax or Milkshape. I guess I like to be in total control of the editor when I model stuff. I've probably written about 10-20 different 3D editors, the first poor attempts written in gw-basic and Turbo Pascal many years ago :-) This version is written in C++ (using .NET) and is my best so far.

The most difficult part was to get the data structure right for storing vertices, edges and faces in a mesh. Since a lot of dynamic changes is going on, neighbor-information and mesh topography must be updated constantly. The data structure must be able to quickly tell what neighbors any given mesh feature has, as well as being pretty compact and simple, so it is not a total nightmare to update. I found that the quad-edge mesh representation is very elegant and compact. I might be using an adapted version, since I'm not sure I understood the quad-edge documentation fully ;-) But its working perfectly and I am very happy with it -- I have the feeling that it cant possible be done any better. This is most likely wrong, but its a nice feeling :-) Compared to other approaches my mesh manipulation source code turned out about 80% shorter, and many times less complex and a lot easier to understand.

The editor is written using plain win32 and DirectX 8.1 for h/w viewport rendering. The rendering engine is pretty well encapsulated, so it wouldnt be too hard writing an OpenGL rendering engine as well. Win32 specific code is all over the application however, so you wont see a Unix version or something like that anytime soon. I wanted to get some real work done instead of spending a long time designing my own window system in order to encapsulate all the win32 controls.

The editor supports most basic mesh manipulation functions like split edge, split face, extrude, translate, scale, rotate, flip, delete etc. UV-mapping is possible as well.

The fantasy-style battle axe is the first real object created in the editor. It has 1098 vertices and 747 faces. The 256x256 texture was hand drawn in Photoshop 7.

Right now most editor functions are bound to hotkeys and a viewport right-click menu, so the editor is not very easy to use. I plan to make a tab control (to the right where the gray bar is) with some buttons and controls to make things easier. Also better handling of textures and material assignment has yet to be implemented.

If I finish the editor, I might release it under GPL. Since this is a spare time (just for fun) project, I might not polish everything enough to make a public release though.

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.