Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Kurt Miller, posted on August 05, 2000

Image Description, by Kurt Miller

Here's a screenshot of the world editor that I've been working on recently for my 3D engine. I've written an editor in the past for the same engine, but the major difference this time lies in the fact that I've ditched MFC and gone with straight win32 coding. It keeps the project nice and clean for what I'm trying to do, and much of my older editor code plugged right in, so it hasn't been too bad. You can see a full-sized version of this same image right here.

Anyway, you might notice that the editing view isn't the traditional 4-pane view that you see in the likes of 3ds. I personally prefer having the big view with tabs, where you can hit "+" or "-" to step through views, or "1" - "9" to activate one of the first 9 views, even if you're in the middle of an operation (like moving a polygon). The editor was written in such a way however that I can easily add MDI windows or splitter panes should I decide they're neccesary. I'm still working on the project, but it supports most basic editor features, including object creation, selections, transformations, boolean operations, curves, texturing options, and so on. There's still a whole lot that needs to be done though before I can really claim its a useful tool. If you're at all interested, you can read more miscellaneous junk about my projects from here.

-Kurt Miller

PS - I didn't make the textures in the bottom left panel. They came from various web sites.

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

August 05, 2000, 09:44 AM

UI looks very clean, good job. You may want to add the Ctrl-Tab shortcut for switching between tabs (windows standard), and Shift-Ctrl-Tab for backwards. Of course this is your editor, so what do I know :P


August 06, 2000, 12:46 AM

I like the interface too! Looks very nice and professional -- I like the tabs with a little icon on them.

Are you using OOP for the editor? I am writing a 3D editor at the time too, and I try to design my application so I can add new primitive types (vertices, curves, cubes, spheres, nurbs, whatever) without having to change the code for the view. I try to make a similar design for modifiers (translate, rotate, scale, twist, mirror, flip, etc.) so those can be added without touching the view or primitive code.

Kurt Miller

August 06, 2000, 01:33 AM

Most of the editor is easily extensible. That's why the primitives are in a listbox rather than buttons, it reads the base mesh from disk and allows you to manipulate it in the editor. Anyone using the editor can add commonly used meshes (for example a doorway or staircase) to the mesh directory. I've been toying with the idea of adding a scripting language such as LUA to the editor, so that new primitives or operations could actually be implemented as scripts. I've not had time to try this out yet though.

Oh, and thanks for the icon compliments ;)


August 06, 2000, 01:59 AM

Ahh, prefabs. Sounds like your editor is mainly handling polygons and vertices. What I wanted in my editor was something making it easy to add a new primitive type, when a new cool thing came up, that I just had to play with, such as subdivision surfaces. I have been writing quite a few editors in the past, but every time the code for the primitives was tightly coupled to the view code, making it easier to do a completely new editor, if I wanted it to handle other shapes that it was designed for. Stuff like that is bad of course. This time I wanna make a 3D editor framework, that could be used as a brush level editor or a nurbs/smooth-surface modeler or whatever, just by adding the appropriate primitives to the framework.

Your engine looks very nice btw, it looks like you have some curved surfaces going there and converting them to polygons at runtime. Cool stuff!

Douglas Cox

August 06, 2000, 02:17 AM

z80, I'm not sure I follow you, but you could try something like 3DSMax -- which requires that (parametric) objects convert themselves into a single TriObject / Mesh. Either that or come up with something like an IDrawable interface.. Or both..


August 06, 2000, 02:34 AM

3DSMax is a little too much money I think, besides its more fun to make my own editor ;-)

I mainly use it to play around with, and try to figure out how different approaches to smooth surface math work.


August 07, 2000, 05:56 PM

You should add a view like Truspace: it's the same idea as your 2D view - do everything from one view - but it's in 3D. But then again, that's probably the reason you have those "user" tabs :). Will you release this any time soon?

This thread contains 7 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.