I don't know anything about 3D Computer Graphics/Modeling, could someone point me in the right direction?

Started by
17 comments, last by JackBid 11 years, 4 months ago
People have told me I need to learn about the "graphics pipeline", and stuff like "matrices/matrix multiplication". Can anyone recommend me a resource that teaches me all that stuff? I am in the process of learning Blender3D and I apparently need to know all that other stuff.
Advertisement
Well, define "Stuff"?

For example, are you planning on programming yourself your own 3D pipeline? Or maybe even starting from scratch using the base DX10/11 SDK and going from there?

This is a very broad question.

There is a great deal of math involved in programming 3D rendering systems from scratch, but if you are simply creating 3D models, the math you need to learn and terms you need to acquire aren't as complex (mind you I think you would really benefit from learning them regardless.)

So I guess my question is, are you just asking about 3D art, or do you want to know more about the math behind 3D programming?
Morley

Aspiring programmer, modeler and game designer.

Well, define "Stuff"?

For example, are you planning on programming yourself your own 3D pipeline? Or maybe even starting from scratch using the base DX10/11 SDK and going from there?

This is a very broad question.

There is a great deal of math involved in programming 3D rendering systems from scratch, but if you are simply creating 3D models, the math you need to learn and terms you need to acquire aren't as complex (mind you I think you would really benefit from learning them regardless.)

So I guess my question is, are you just asking about 3D art, or do you want to know more about the math behind 3D programming?


mainly the stuff dealing with 3D Programming I'd think. It seems whenever I think I am learning what I need to learn, 500 different concepts come up that I didn't know about that I need to know. Learning how to model is one thing, the thing I need to learn deals with using them in games/programming. Should I ever get skilled enough at programming to get that far.
If you want to learn about the math behind 3d graphics programming (vector spaces, matrix multiplication, etc) then you're talking about a field called Linear Algebra. Several prominent colleges put their Linear Algebra courses on youtube for free, MIT being one of them. Sometimes vector-manipulation math (things like dot- and cross-products) is also covered as part of a Calculus series (Calc 3 in my personal experience). Depends on the school where they categorize the material.

If your goal is to import 3d models into software and use them in games, then this is a field you either need to become familiar with, or find an engine that has already handled the loading and conversion of model files for you. Ultimately the model information can be black-boxed enough that you can just reference animation frames by name (i.e. "walk_cycle_1") and the underlying code does heavy lifting of interpolating and applying chained bone-weighted transforms to all the vertices in the model.

Engines do exist like that, so unless you just want to learn it because it's interesting (which is awesome) there are quicker routes to getting a game running :)

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)


If you want to learn about the math behind 3d graphics programming (vector spaces, matrix multiplication, etc) then you're talking about a field called Linear Algebra. Several prominent colleges put their Linear Algebra courses on youtube for free, MIT being one of them. Sometimes vector-manipulation math (things like dot- and cross-products) is also covered as part of a Calculus series (Calc 3 in my personal experience). Depends on the school where they categorize the material.

If your goal is to import 3d models into software and use them in games, then this is a field you either need to become familiar with, or find an engine that has already handled the loading and conversion of model files for you. Ultimately the model information can be black-boxed enough that you can just reference animation frames by name (i.e. "walk_cycle_1") and the underlying code does heavy lifting of interpolating and applying chained bone-weighted transforms to all the vertices in the model.

Engines do exist like that, so unless you just want to learn it because it's interesting (which is awesome) there are quicker routes to getting a game running smile.png


Yeah, I know I have to learn Linear Algebra, and I am working on that.

It just seems like the concepts to just get STARTED on making 3D models/programming them into games never end. I feel like I am learning what I need to learn, then it comes up that theres 5 other concepts/ideas I need to learn to get started. It just seems like it's never ending.

Yeah, I know I have to learn Linear Algebra, and I am working on that.

It just seems like the concepts to just get STARTED on making 3D models/programming them into games never end. I feel like I am learning what I need to learn, then it comes up that theres 5 other concepts/ideas I need to learn to get started. It just seems like it's never ending.
I know it can seem like that, but once you get a basic grasp of a few topics it becomes much better. Of course then, the question is what topics and where do you get that "basic" information. I'd recommend you try to find a good book that goes into 3d game programming with either OpenGL or DirectX... I'm sure there's probably several adequate ones geared for beginners.

The other way to do it is to try to find the info yourself online. Yes, it's all there, but it can be daunting to find it at the level you need.

Just find a good book and work your way through it.
Sorry if I covered something you were already doing. I prefer to undershoot and be corrected than fire over someone's head and make them ask for an explanation.

Part of the problem might be that you're tackling multiple fields at once, based on how you phrased that. 3d modeling (the art side) has its own terminology and best-practices list, independent of the terms, concepts, and math for the code side. You can cull out a lot of the modeling portion by just focusing on the geometry part of modeling (just vertex/face/topology manipulation). Once you get more comfortable with the building portion, then you can add on UV mapping for the texture, or your 3d tool's material editor.

As for the code, this is one of the reasons a higher-level framework is suggested for beginners in 3d: your list keeps growing likely because you keep discovering lower and lower levels of code that people might bring up. Something like UDK or Unity just lets you stop at the "import model" level. Lower level stuff (like directly programming and controlling the render pipeline for Direct3D) brings its own laundry list of new concepts.

Like 0r0d mentioned, give it time. Eventually you do get a good grip on a certain threshold of information, and that'll make successive additions to your skillset easier to aquire.

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)


Sorry if I covered something you were already doing. I prefer to undershoot and be corrected than fire over someone's head and make them ask for an explanation.

Part of the problem might be that you're tackling multiple fields at once, based on how you phrased that. 3d modeling (the art side) has its own terminology and best-practices list, independent of the terms, concepts, and math for the code side. You can cull out a lot of the modeling portion by just focusing on the geometry part of modeling (just vertex/face/topology manipulation). Once you get more comfortable with the building portion, then you can add on UV mapping for the texture, or your 3d tool's material editor.

As for the code, this is one of the reasons a higher-level framework is suggested for beginners in 3d: your list keeps growing likely because you keep discovering lower and lower levels of code that people might bring up. Something like UDK or Unity just lets you stop at the "import model" level. Lower level stuff (like directly programming and controlling the render pipeline for Direct3D) brings its own laundry list of new concepts.

Like 0r0d mentioned, give it time. Eventually you do get a good grip on a certain threshold of information, and that'll make successive additions to your skillset easier to aquire.


Yeah, I am working with coding and (completely ignoring the 3D modeling aspect, thats just something I NOW want to get into doing) when I have wanted to start learning to do that. People have said I need a GUI, an API, I need this topic, I need that topic, it just seems like the amount of "topics I need to start making a game are never ending, and I got overwhlemed to the point I didn't know where the heck to begin.
You don't need a GUI, not when you're just getting started in 3D programming. GUIs are for later, they're easy to lay in on top of an already existing 3d rendering system.
An API (specifically a graphics API in your case) is just a library used to do the communication with the graphics card. The most common are DirectX and OpenGL. There are hundreds of APIs for every conceivable domain.

What language are you using? You might get quicker results if I can point you towards references that teach you the basics in the context of middleware. I'll attest that quicker results mean higher, continued motivation.

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)


You don't need a GUI, not when you're just getting started in 3D programming. GUIs are for later, they're easy to lay in on top of an already existing 3d rendering system.
An API (specifically a graphics API in your case) is just a library used to do the communication with the graphics card. The most common are DirectX and OpenGL. There are hundreds of APIs for every conceivable domain.

What language are you using? You might get quicker results if I can point you towards references that teach you the basics in the context of middleware. I'll attest that quicker results mean higher, continued motivation.


I am working with C++ atm.

right now I'm focusing on understanding specific C++ syntax, and OOP as a whole. I hear Allegro is beginner friendly, but I'm just focusing on being decent with C++ first.

This topic is closed to new replies.

Advertisement