Sign in to follow this  
icuit

what's the steps of learning 3d programing?

Recommended Posts

Apparently:

He has mastered programming, specifically and primarily with C++ and C# languages.

But he finds obstacles with learning anything about 3D..


icuit: try nehe.gamedev.net

if that doesn't help with eliminating obstacles to your understanding 3D, try this for a more low-level understanding, which may or may not be applicable to the pursuit of your goals and desires..

[url="http://www.friedspace.com/cprogramming/cgraphics.php"]http://www.friedspace.com/cprogramming/cgraphics.php[/url]

Share this post


Link to post
Share on other sites
[quote name='joeparrilla' timestamp='1311354540' post='4839020']
Im not really sure what youre saying, are you saying you want to do 3D graphics programming in C++ and C#? What do you mean by 3D rationale? :)
[/quote]

yeah.now 3d graphics programming is more and more used in all walks of life.
I want to learn 3D graphics programming .
as recently I read some books, there are all full of mathematical formula , geometry algorithm and also many Obscure terms like [b]Normal,clipping region,[/b]so on[b].[/b]
[b]
[/b]
But I don't have rich time to thorough understanding all of the knowledge,I want to know as a coder,what's is the most important to learn.
that's means sometimes a programmer wants to write a beautiful gui application may not familiar with fundamentals of compiling,
that's to say, we have to focus on what we do,but not deeply dig the base theory.

a another word, i need a way to start off in relatively short time. Beacause Im not a student more,I have to learn this by extra time or after work.

Share this post


Link to post
Share on other sites
[quote name='icuit' timestamp='1311358360' post='4839049']
[quote name='joeparrilla' timestamp='1311354540' post='4839020']
Im not really sure what youre saying, are you saying you want to do 3D graphics programming in C++ and C#? What do you mean by 3D rationale? :)
[/quote]

yeah.now 3d graphics programming is more and more used in all walks of life.
I want to learn 3D graphics programming .
as recently I read some books, there are all full of mathematical formula , geometry algorithm and also many Obscure terms like [b]Normal,clipping region,[/b]so on[b].[/b]
[b]
[/b]
But I don't have rich time to thorough understanding all of the knowledge,I want to know as a coder,what's is the most important to learn.
that's means sometimes a programmer wants to write a beautiful gui application may not familiar with fundamentals of compiling,
that's to say, we have to focus on what we do,but not deeply dig the base theory.

a another word, i need a way to start off in relatively short time. Beacause Im not a student more,I have to learn this by extra time or after work.
[/quote]

3D graphics are just naturally heavy in math, theres no way to aviod that. Linear Algebra is very important in order to understand graphics. There really is no way to avoid math if you want to be a 3d graphics programmer. You can make 3d models in something like Blender, but thats art, not programming.

Share this post


Link to post
Share on other sites
[quote name='radioteeth' timestamp='1311355230' post='4839026']
Apparently:

He has mastered programming, specifically and primarily with C++ and C# languages.

But he finds obstacles with learning anything about 3D..


icuit: try nehe.gamedev.net

if that doesn't help with eliminating obstacles to your understanding 3D, try this for a more low-level understanding, which may or may not be applicable to the pursuit of your goals and desires..

[url="http://www.friedspace.com/cprogramming/cgraphics.php"]http://www.friedspac...g/cgraphics.php[/url]
[/quote]

3ks for understanding.
I have browser the site before. But I really can not understand that how the meta(point,line,polygon,surface,vertex,triangle .etc) programing set up the vast scene like 3d games or Google Earth?
My goal is to write some 3d games or 3d virtual model applications.

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1311355071' post='4839024']
[url="http://en.wikipedia.org/wiki/Linear_algebra"]http://en.wikipedia..../Linear_algebra[/url]
[/quote]

Explaining this terse but correct post:



A 3D graphics engine is basically applied linear algebra.

While it is certainly [i]possible[/i] to hack your way through an existing 3D graphics engine without much linear algebra knowledge, you will likely find the process painful and the results unsatisfying.

If your linear algebra skills are not up to snuff you will likely have extreme difficulty implementing various parts of functionality.

On the other hand, if you have the required skills in linear algebra, most of the manipulations will seem easy to understand and implement. You'll simply need to understand a bit of the theory and the math will immediately fall in to place.


Tasks that are basically essential in a graphics engine today, such as skinning, blending, and spherical harmonics, require a solid understanding of the math behind them.

For example, you want to deform a model, and lets assume you want to implement a biharmonic interpolation so you can make your model deform really smoothly. It is a straightforward differential equation. If your math skills are up to the task you can do it by yourself from just looking up appropriate weights; if you don't have the math skills, well, you probably need to scour the web and search for someone else's work to copy, and hope they did it right because you won't be able to recognize an error since you don't know the math.

Share this post


Link to post
Share on other sites
[quote name='joeparrilla' timestamp='1311358478' post='4839050']
[quote name='icuit' timestamp='1311358360' post='4839049']
[quote name='joeparrilla' timestamp='1311354540' post='4839020']
Im not really sure what youre saying, are you saying you want to do 3D graphics programming in C++ and C#? What do you mean by 3D rationale? :)
[/quote]

yeah.now 3d graphics programming is more and more used in all walks of life.
I want to learn 3D graphics programming .
as recently I read some books, there are all full of mathematical formula , geometry algorithm and also many Obscure terms like [b]Normal,clipping region,[/b]so on[b].[/b]
[b]
[/b]
But I don't have rich time to thorough understanding all of the knowledge,I want to know as a coder,what's is the most important to learn.
that's means sometimes a programmer wants to write a beautiful gui application may not familiar with fundamentals of compiling,
that's to say, we have to focus on what we do,but not deeply dig the base theory.

a another word, i need a way to start off in relatively short time. Beacause Im not a student more,I have to learn this by extra time or after work.
[/quote]

3D graphics are just naturally heavy in math, theres no way to aviod that. Linear Algebra is very important in order to understand graphics. There really is no way to avoid math if you want to be a 3d graphics programmer. You can make 3d models in something like Blender, but thats art, not programming.
[/quote]

you said Linear Algebra. is seems the OpenGL APIs have wrap the course?
ok.including Linear Algebra, does Calculus need?
pls tell me the steps to write a applicaion can load many 3d model files efficiently. what I have to learn and the right order.

Share this post


Link to post
Share on other sites
[quote name='icuit' timestamp='1311359658' post='4839059']
[quote name='joeparrilla' timestamp='1311358478' post='4839050']
[quote name='icuit' timestamp='1311358360' post='4839049']
[quote name='joeparrilla' timestamp='1311354540' post='4839020']
Im not really sure what youre saying, are you saying you want to do 3D graphics programming in C++ and C#? What do you mean by 3D rationale? :)
[/quote]

yeah.now 3d graphics programming is more and more used in all walks of life.
I want to learn 3D graphics programming .
as recently I read some books, there are all full of mathematical formula , geometry algorithm and also many Obscure terms like [b]Normal,clipping region,[/b]so on[b].[/b]
[b]
[/b]
But I don't have rich time to thorough understanding all of the knowledge,I want to know as a coder,what's is the most important to learn.
that's means sometimes a programmer wants to write a beautiful gui application may not familiar with fundamentals of compiling,
that's to say, we have to focus on what we do,but not deeply dig the base theory.

a another word, i need a way to start off in relatively short time. Beacause Im not a student more,I have to learn this by extra time or after work.
[/quote]

3D graphics are just naturally heavy in math, theres no way to aviod that. Linear Algebra is very important in order to understand graphics. There really is no way to avoid math if you want to be a 3d graphics programmer. You can make 3d models in something like Blender, but thats art, not programming.
[/quote]

you said Linear Algebra. is seems the OpenGL APIs have wrap the course?
ok.including Linear Algebra, does Calculus need?
pls tell me the steps to write a applicaion can load many 3d model files efficiently. what I have to learn and the right order.
[/quote]

Im not sure what you mean about the OpenGL API. I dont know if too much Calculus comes into play. I should mention that I do not really have much 3d experience, I am only sharing what Ive learned through research on the topic.

Most of calculus doesnt deal with 3D space (stuff like derivatives, series, integration, etc) so I am going to guess that its not needed very much, I could be wrong though. The later, multi variable calculus could come into play... possibly? :) Now Im just spewing guesses .

Share this post


Link to post
Share on other sites
[quote name='frob' timestamp='1311359038' post='4839056']
[quote name='Hodgman' timestamp='1311355071' post='4839024']
[url="http://en.wikipedia.org/wiki/Linear_algebra"]http://en.wikipedia..../Linear_algebra[/url]
[/quote]

Explaining this terse but correct post:



A 3D graphics engine is basically applied linear algebra.

While it is certainly [i]possible[/i] to hack your way through an existing 3D graphics engine without much linear algebra knowledge, you will likely find the process painful and the results unsatisfying.

If your linear algebra skills are not up to snuff you will likely have extreme difficulty implementing various parts of functionality.

On the other hand, if you have the required skills in linear algebra, most of the manipulations will seem easy to understand and implement. You'll simply need to understand a bit of the theory and the math will immediately fall in to place.


Tasks that are basically essential in a graphics engine today, such as skinning, blending, and spherical harmonics, require a solid understanding of the math behind them.

For example, you want to deform a model, and lets assume you want to implement a biharmonic interpolation so you can make your model deform really smoothly. It is a straightforward differential equation. If your math skills are up to the task you can do it by yourself from just looking up appropriate weights; if you don't have the math skills, well, you probably need to scour the web and search for someone else's work to copy, and hope they did it right because you won't be able to recognize an error since you don't know the math.


[/quote]
After your words,I have deeply recognised the importance of linear algebra.
Maybe I have to review the matrix transformation first.

could you give a TO LEARN LIST ?

Share this post


Link to post
Share on other sites
I'm sorry but there is no easy shortcut. There are twelve simple steps you can take though, they are simple, but they aren't easy. I've been doing this for as long as I can remember back when I started playing with qbasic making raycasters and spinning 3D wireframe cubes as a child. I suggest you follow these steps:


Step 1: admit that you are powerless over your lack of knowledge and understanding, and that your lack of know-how has made reaching your coding goals unmanageable.

Step 2: come to believe that knowledge greater than your own is on the internet somewhere and can restore you to sanity.

Step 3: make a decision to turn your attention to the pursuit of these webpages on the internet as you understand them

Step 4: make a searching and fearless programming ability inventory of your skills

Step 5: admit to yourself, and other human beings on IRC and on messageboards the exact nature of the things you don't understand about 3D programming

Step 6: let time and experience (make little experiment programs) remove these voids from your understanding.

Step 7: humbly ask an experienced 3D graphics programmer to remove your coding limitations

Step 8: make a list of all people who have helped and become willing to help them in return

Step 9: directly help such people wherever possible except when to do so will insult them or others

Step 10: continued to take inventory of your skills and abilities and when you find something you don't already know promptly research it.

Step 11: seek through meditative programming excercises to improve your conscious 3D programming abilities seeking only to know what is usable and figuring it out

Step 12: having had an algorithmic epiphany as the result of these steps try to carry the message to beginner programmers who still suffer and practice these principles in all your programming ventures.


[url="http://www.playtool.com/pages/basic3d/basics.html"]http://www.playtool.com/pages/basic3d/basics.html[/url]

[url="http://www.falloutsoftware.com/tutorials/gl/gl0.htm"]http://www.falloutsoftware.com/tutorials/gl/gl0.htm[/url]

[url="http://www.nondot.org/sabre/graphpro/3d2.html"]http://www.nondot.org/sabre/graphpro/3d2.html[/url]

[url="http://chortle.ccsu.edu/vectorlessons/vectorIndex.html"]http://chortle.ccsu.edu/vectorlessons/vectorIndex.html[/url]

Good luck! And CPU bless you.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this