tutorial for a 3d engine

Started by
13 comments, last by Scavenger23 18 years, 7 months ago
I want to make a 3d engine from scratch (no DirectX, OpenGL, etc.) but I can't find a good tutorial on one. I know the basic procedures, but I don't know the exact stuff needed. I wanted to know if you could recommend a good tutorial. Thanks in advance.
----------------------------Project Legend
Advertisement
Try the LaMothe books "Tips of the Windows Game Programming Gurus" and "Tricks of the 3D Game Programming Gurus." He goes over software rasterization, math, and all of that.
"Think you Disco Duck, think!" Professor Farnsworth
Hey that's cool, because getting the triangles on the screen is the easy part. The last engine I wrote, the renderer was one of the last things I put in. Check out David Eberly's latest book 3D Game Engine Architecture.
I understand what you guys are suggesting, but I don't have the pocket change for a book right now. Are there any online tutorials?
----------------------------Project Legend
To put it bluntly, writing a 3D engine without using a 3D API is hard.

Before even attempting this, be aware that to write anything decent, you'll need a good knowledge of Linear algebra, especially matrices, vector and their manipulation in 3D space.

Also be aware that your engine will be, for the most part, useless. Indeed, since you are not using a HAL and it isn't realistic that you are going to write one, you'll have no hardware acceleration at all.

Of course, it's a n awesome learning experience but, as a rule of thumb, if you have to ask for a tutorial, you're not really ready for it. (There's no way it would be covered in anything that you could remotely call a tutorial. Rasterization is a complex topic.)

Now if you really DO want it, then dig those Linear Algebra books/references and read away. Th basics are simple, you have an array of pixels and you get to choose what color they are. The hard part is choosing how to do it.

You might also look into raytracing for something refreshing.
I teleported home one night; With Ron and Sid and Meg; Ron stole Meggie's heart away; And I got Sydney's leg. <> I'm blogging, emo style
"To put it bluntly, writing a 3D engine without using a 3D API is hard."

What makes it so hard? I don't see how that is limiting.

"Before even attempting this, be aware that to write anything decent, you'll need a good knowledge of Linear algebra, especially matrices, vector and their manipulation in 3D space."

Got it. :)

"Also be aware that your engine will be, for the most part, useless. Indeed, since you are not using a HAL and it isn't realistic that you are going to write one, you'll have no hardware acceleration at all."

I don't really care about hardware acceleration atm, but it won't be useless.
----------------------------Project Legend
Quote:Original post by xMcBaiNx
To put it bluntly, writing a 3D engine without using a 3D API is hard.


I think this is silly. You can write a 3D engine that outputs to a line printer just as easily as you can write one that writes to a 3D API... probably easier to write to a line printer.
Quote:Original post by Scavenger23
I understand what you guys are suggesting, but I don't have the pocket change for a book right now. Are there any online tutorials?


Sure. Eberly also has a web site where he puts the reference implementation of the engine in his book up with source. His engine is very similar architecturally to Gamebryo... which is no surprise since he's done a lot of work with that engine too.

http://www.geometrictools.com/
That source looks way to complicated to do what I want to do. I just want to write and engine to draw 3d points... not to complicated, is it?
----------------------------Project Legend
Devmaster.net has a running series on software rasterisation, if that's what you're after.

This topic is closed to new replies.

Advertisement