Hi all,

I've started to dive into OpenGL w/C++ to expand my library knowledge but I had a few questions.

I've been following a tutorial online that basically walks step by step through the compiler linking, functions, and basics of an OpenGL program.

I really would love to create some small programs like the birth and death of a star, or possibly a simulator of a solar system. My question for those who know OpenGL very well is this: Are these projects reasonable for a beginner in OpenGL? I've spent over a year using C++ so C++ isn't so new to me, but I want to know if I'm diving too far into the deep end!

Thanks in advance for any advice!

I agree with firstPerson. One of the biggest hurdles for many seems to be the math involved in doing 3D graphics. Don't underestimate how much math permeates almost all areas of 3D graphics programming. If you are not comfortable / able / interested in the math that you have to do in this field, you will struggle. I would say you would need 1st year college math to be comfortable doing 3D graphics, if you have less than that, be prepared for a rather steep learning curve to climb.


>>possibly a simulator of a solar system.

I actually did something very similar to that (a bit simpler) a while back. At that time, I had, like you, dabbled for a year or two with C++ programming (Delphi actually, but it's pretty much the same), and I was only sophomore-year in high school (which means pretty much a negligible amount of math knowledge). It took me a while to get it working, but I learned a whole bunch from it. So, yeah, it is certainly possible, but your mileage might differ, of course.

Just an idea, have you thought of implementing a particle system? This is a simple project and it's fun to do. You also seem interested in simulation and a particle system is essentially that, it's a program that simulates the motion of a large number of particles. The nice thing with that is that you don't have to do rotations or any kind of projection (the two harder aspects of 3D graphics math), the simulation doesn't have to be precise (so simple methods will do, like Euler's method), and it only requires to be able to render billboard sprites (simple squares with a texture/color on them) at the particle positions (no rotation). All in all, it's a simple project, with very nice results (rain, snow, fire, water fountains, fire works, explosions, smoke, etc. just about anything you can think of).


Btw, if you don't know already, one of the best place to start with OpenGL is by going through the NeHe tutorials.

That's wonderful thank you for all of your help! I've taken Calc I/II but I haven't touched on Calc III (which I feel would help with 3D programming) but so far the math isn't too terrible.

I've been following this tutorial here: http://openglbook.com/ for the past couple of weeks. So far I'm mostly getting used to syntax and specific function calls that need to happen in order to make the system work. The NeHe tutorials look really great after glancing through parts of it too so I'll go through those soon.

As for the particle system idea, I think it's great. I'll look more into these for a first project since they'll be easier to accomplish as a beginner. I'll search for some particle system examples on the internet to see what I can come across too.

Again, I appreciate all the feedback thanks!

>>Btw, if you don't know already, one of the best place to start with OpenGL is by going through the NeHe tutorials.

That's where I started a few years ago when I first started learning opengl, but now looking back, I believe it needs major updates, and the code written is not very good. They also use obsolete opengl functions. There are other up-to-date tutorial one can learn from, or better yet, read the RED book.

And btw, if you know trig/geometry/linear algebra, you should be fine! One would rarely use any higher mathematics.

Cool, thank you firstPerson. I actually need to take vector and linear algebra next semester but the other two I have under my belt. I'll check amazon for that book to see what I can snag it for.

Again, thank you two for helping me here! I'll set this to solved :)

This question has already been answered. Start a new discussion instead.