Skip to main content
GameDev.net gamedev.net
🔒 Locked

3D engine design

Started by Kackurot Oct 13, 2004 at 6:27 PM 19 replies 5.1k views
Original Post
Kackurot
Kackurot
It should start from the basic 3d coordinate to talking about octree,bsp, and scene graphs. This would be a nice tutorial series to start. There are not that many tutorials on the net that talk about building a full 3d renderer using any api, such as d3d or gl. So what do you guys think?
[file:///C:/My%20Documents/kack.gif]
Metron
Metron
Could be interesting. I'll might offer to do that. If there are more people interested send me a PM or reply here.
----------------------------------------http://www.sidema.be----------------------------------------
jbadams
jbadams
*replies here*

Could be a good read to get some different ideas/perspectives, and learn new techniques. Also potentially very useful for beginners if set up correctly.
- Jason Astle-Adams
Panzooka
Panzooka
replies!!
also like to see different level structures such as bsp, tilebased, etc
please write as many level structure as possible :D
wyrzy
wyrzy
Yes, any good tutorials would be appreciated on the above mentioned 3D topics. I've recently been using gametutorial.com's tutorials, which are basically just really commmented source code to start on a 3D engine. There kind of helpful, but you need to examine the source to understand what's going on. A tutorial that can explain those topics in plain English would be nice.
Guimo
Guimo
It would be nice to have a gamedev.net engine with the collaboration of all here... like a standard engine for all. We should make a reference document...

Luck!
Guimo
Panzooka
Panzooka
Quote:
Original post by Guimo
It would be nice to have a gamedev.net engine with the collaboration of all here... like a standard engine for all. We should make a reference document...

Luck!
Guimo


good idea!!
every one can take part and code something, and we might just end up with next generation game creator that 8 year old can use lol jk
Radan
Radan
I'd like to see engine design articles that concentrate on making the structure as robust and as plugable as possible (meaning for example that the arhtiecture allows for relatively easy switch from octrees to bsp trees even late in development).
-----------------Always look on the bright side of Life!
Metron
Metron
Would be nice to have more then 5-6 interested people before starting the articles or laying out the outline.
----------------------------------------http://www.sidema.be----------------------------------------
evolutional
evolutional
Quote:
Original post by Panzooka
good idea!!
every one can take part and code something, and we might just end up with next generation game creator that 8 year old can use lol jk


You mean like the libGDN project (sf.net page) that never quite got off the ground? I recall talk of a revival, but don't know if anyone's kicked it off again yet.
Ainokea
Ainokea
Quote:
Original post by Metron
Would be nice to have more then 5-6 interested people before starting the articles or laying out the outline.

Im up for it.
______________With the flesh of a cow.
CWIZO
CWIZO
I would be really interested too!
-----------------SloGameDev.net | My homepageQ:What does a derived class in C# tell to it's parent?A:All your base are belong to us!
Mooncabbage
Mooncabbage
I'm a newbie coder interested in that sort of thing. I think there are a lot of people looking for a tutorial on 3d engine design, one that shows not just what to do, but why, and similar. Particularly since to the best of my knowledge there is no tutorial that explains the STRUCTURE of such an engine, just parts of it. I think it's a really good idea.
Mooncabbage
Mooncabbage
Just a thought, while there are other similar tutorials around, in fact i think there is one on gamedev.net, it's probably time for a newer one.
envy3d
envy3d
I also think you should make a tut.
egigol
egigol
I think it's a great idea, I'm in, if it can be useful.
Metron
Metron
Ok then...

Since you want to start from the basics I'll lay out a plan what is going to be covered and when it's done. There will definetly different sections such as math, assert and debug, base libs, basic memory management, interfaces, 3D implementation, 2D implementations, file formats (bitmaps, meshes, games), data driven design, etc.

It must be clear to you that this is a long term work. I'll have a more detailed time planning once I have layed out the chapters.

I'll also have to contact the GameDev people to see if they're interested in posting the articles.

On a side note : I think the render kernel itself will more likely use D3D since that's what I'm most familiar with.
----------------------------------------http://www.sidema.be----------------------------------------
superpig
superpig
A word of advice: Don't post any articles until you have a complete working codebase. Possibly with all the articles written as well.
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
Metron
Metron
Word taken ;) I have a complete working engine running here... so it would "only" take to write the articles.

Since the first set of articles would cover the math behind an engine, those ones could be done quite fast.
----------------------------------------http://www.sidema.be----------------------------------------
Metron
Metron
I have the first content of the maths chapters. This is just a first overview was should ideally be covered to write an interesting graphics engine that can handle different world management systems. Some chapters will be put together into one article but most will have their article on it's own.

The math chapters

Vectors
Lines
Matrices
Transforms
Translation
Rotation
Scaling
Shearing
Transformation Concatenation
Inverses
Euler Angles/Transform
Matrix Decomposition
Quaternions
Planes
Rays
Spheres
Coordinates Systems
Box
Distance
Intersection
Splines
Akima
Catmull Rom
Nurbs
Color Conversions
Projections


If you think that this is too much for the math chapter then you can pick out those that interest you the most and I'll deliver existing links to articles and papers on the internet where you can find the information you need to follow the rest of the articles.

As I said, this will be no small undertaking since explaining all this in an easy way which is understandable even for beginners who want to start in this topic.

I'll post the next chapter and it's content in the next 2 days because I'll have to see which makes most sense. In the meanwhile I hope that you discuss the above list and provide some input on it.
----------------------------------------http://www.sidema.be----------------------------------------

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.