So, I'm working on this 3D level editor that I want to make free and OpenSource. (since there are no good free ones left that is maintained)
You're supposed to be able to select edges/faces and extrude them to kind of shape the level, I believe it's called box-modeling.
Think of the workflow kind of like a very simple Blender modeler.
I have been bending my mind as to how I would represent the level/object(s) in code and have a few ideas, but they all have either one flaw or another. I could simply use built-in commands and modify vertexdata, although this would probably get very complex.
Another way would be to make my own polygon/vertex structures, which would probably make modifying them easier, but would make displaying them and exporting them into a dbpro game more difficult. (especially if I want the editor to show the level as it will look in the final game, with shaders and everything)
I made a short video showing a very early prototype I have put together, where you can see me select 4 vertices(a face) and at the end I make a movement in the direction I want to extrude the face. Now this would then create 4 new faces. (the selected face would be pulled out or deleted, so we don't have useless faces inside the geometry)
Anyone have any suggestions, or maybe a completely different idea about how I could implement something like this?
Here's another video of the Spark Editor for Natural Selection 2, which has the same kind of workflow I'm going for, so you can better see what I am aiming for...