View Full Version : Want to learn 3D programming
Recently I am getting interested in texturing and rendering, and want to know how
I can learn some basic 3D programming to understand how computer is working to
render images.
I am thinking about using C++ and Linux since it is free.
What I would like to know is:
What kind of math knowledge is required.
Should I use OpenGL or Direct X or I don't even have to use any of them?
What kind of books or web sites are recommended.
Eventually I would like to be able to write some shaders, but for now I
would like to know the very basic such as just knowing mathmatically how one polygon is rendered.
Thank you


Originally posted by pika
I am thinking about using C++ and Linux since it is free.
Certainly a good combination... Do you already have C/C++ knowledge? If not, I'd suggest learning this before even thinking of rendering/3D programming....
What kind of math knowledge is required.
For 3D, you need some pretty heavy maths  mainly vector and matrix maths plus a very firm knowledge of trig.
Should I use OpenGL or Direct X or I don't even have to use any of them?
DirectX is Windowsonly, so if you're going with Linux, you don't have this option. I'd suggest going OpenGL, although you could always write your own software renderer
What kind of books or web sites are recommended.
Not sure about books  I'll leave this one for someone else... NeHe (http://nehe.gamedev.net/) has some popular OpenGL beginner tutorials...
Eventually I would like to be able to write some shaders, but for now I would like to know the very basic such as just knowing mathmatically how one polygon is rendered.
Ah, so you're not aiming for writing your own renderer.... I'd look through some of the NeHe tutorials and work out what they're doing...
Thank you very much, Hugh. The site looks great. I am going to look into it. I guess using linux for 3D seems very long way if I have to make my own renderer.
Nikos
01272004, 06:35 PM
Being a beginner and pretty useless in math I bought this book (3D Math Primer for Graphics and Game Development):
http://www.amazon.com/exec/obidos/tg/detail//1556229119/qid=1075227662//ref=sr_8_xs_ap_i4_xgl14/00256598430816002?v=glance&s=books&n=507846
I don't know how far you've come but if you need to learn some 3D math I've found this book being really useful as it explains the very basics of it all, but you'll need to have some C++ knowledge though as it applies the theory to C++ classes.
For a dummy like me its worth gold. :)
Derlaine
01282004, 01:10 AM
for books I recommend hte Computer Graphics using Open GL book from Prentice Hall publishers ( I think the author is F.S Hill or something)
It's less dense than the Foley and Van Dam book on Computer Graphics: Principles and Practice book, imho, which makes for good reading.
A lot of basic C/C++ skills are required...things like how to build a class, how to encapsulate objects, how to trace bugs, etc.
KasunicJ
02042004, 06:59 AM
For vector and matrix math, this book is great. read it myself:
Computer Graphics: Mathematical First Steps (http://www.amazon.com/exec/obidos/tg/detail//0135995728/qid=1075876539//ref=sr_8_xs_ap_i1_xgl14/00203345283936009?v=glance&s=books&n=507846)
However, just go to amazon.com and search for "computer graphics mathematics" and a lot more will come up. I haven't read them though. I actually read a lot of 3d Math Primer, and didn't understand a lot of it until I read the above book.
Also, here's some web sites on vector & matrix math:
http://chortle.ccsu.edu/vectorLessons/vectorIndex.html
http://www.geocities.com/TimesSquare/Arcade/5544/docs/3drotvla.html
DJMirage
02072004, 12:01 PM
This link should get you started on opengl programming for 3d engines.
http://faq.haujobb.com/
for the rest maths are important, but most things are explained on the web.
And indeed NeHe (http://nehe.gamedev.net/) is one of the best opengl tutorial sites.
cheers.
:bounce:
DJMirage
02072004, 12:09 PM
http://mrl.nyu.edu/~dzorin/rendering/lectures/lecture6/lecture6.pdf
forgot to mention that this link has a lot of math 3d related formulas also for lighting.
cheers.
:bounce:
Marsel Khadiyev
02072004, 07:16 PM
http://www.amazon.com/exec/obidos/tg/detail//1558605932/qid=1076180276/sr=11/ref=sr_1_1/10366109060379011?v=glance&s=books
"3d Game Engine Design", one of my favourite gfx books. Even though it doesn't concentrate on raytracing and photorealism, it really gives a nice overview of graphics pipeline.
If you're planning on writing efficient algorithms, I'd also recommend reading a book on MASM (assembly language), such as "The art of assembly language" by Randall Hyde.
Also check out FlipCode.com, they have lots of really good tutorials.
Good luck.
Marsel
Boardin087
02162004, 08:59 PM
andre lamothe's tricks of the 3d game programming gurus 2nd edition gives you a really good grasp on the 3d pipeline, game programming in general, and the math that is done by a 3d engine.
CGTalk Moderation
01172006, 07:00 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.