Jump to content
  • Advertisement
Sign in to follow this  
Scavenger23

tutorial for a 3d engine

This topic is 4817 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
"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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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/

Share this post


Link to post
Share on other sites
Devmaster.net has a running series on software rasterisation, if that's what you're after.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!