This topic is now archived and is closed to further replies.


Engine Structure

Recommended Posts

pr0teus    122
Hello, I was wondering what the general structure for a 3d engine (indoor) is. What I mean is, what kind of classes do I need so I can make a reusable engine. I''ve already have all of the basics, like texture mapping, fog, lighting, blending, etc. down and now I want to do something real, like a game, not just little demos. By the way, I use OpenGL, so if there are links to anything specific to what I want using that API, it''d be great. Thanks, Ben

Share this post

Link to post
Share on other sites
MK42    127

I won''t tell you what classes you''ll need, since that is too specific to start out with, when developing an engine.

The most important part of your engine will be the step where you do your visibility processing ... this calls for some heavy decisions in terms of how your indoor-level will be stored in memory. Some options here are BSP trees with a PVS (a la Quake), portals, octrees (yes, even for indoor they can be useful).

Then, I''d separate your engine into two parts, visibility processing and rendering. Basically, the visibility processor determines a bunch of triangles to render from your world structure. You throw these to the render. The renderer will accept the triangles and already sort them based on material and shading characteristics (a hashing strategy can be great here, or let each triangle know where it should go in the renderer (hard to explain, but possible)). Then (again) you have several options as to how the renderer can work. It can wait for all the triangles and then just traverse the number of materials and draw them, or it could wait until a material has accumulated enough triangles and then just flush that rendering buffer. These techniques can also be combined with vertex arrays/buffers and other useful things.

Hope this helps a bit,


Share this post

Link to post
Share on other sites
BigCarlito    122
Try a book called 'Game Architecture and Design'
or '3d Game Engine Design: A Practical Approach To Real-Time Computer Graphics'
(haven't read the last one, but it sounds like it will do the trick)
Good Luck!

Zeus Interactive

Edited by - BigCarlito on October 30, 2000 12:51:12 PM

Share this post

Link to post
Share on other sites