RorrKonn opened this issue on Feb 03, 2009 · 58 posts
svdl posted Fri, 06 February 2009 at 3:26 PM
OGRE is not a programming language in and of itself. It is an extensive set of objects and functions, written in C++, that you can use from C++. So you don't have to learn an extra "language", but you do have to learn what all those objects and functions are and how they work together.
As for DirectX and OpenGL: if you use OGRE, you don't have to learn those libraries by yourself, since OGRE willl do the work for you.
HLSL however (a "shader language") is very useful to know. It is the "language" in which to define hardware shaders. You can feed the HLSL code to OGRE, which will turn it over to OpenGL, which in turn will compile it for use on the graphics processor. As a programmer you only have to write the HLSL and give it to the correct OGRE object, the rest is automatically taken care of.
HLSL is quite capable. You can do everything that Poser can in its production shaders, and more (parallax mapping, normal mapping, it's all possible).
C++ is considered a difficult programming language. The main reason is that you have to program a lot of memory management yourself, and it's pretty easy to forget about releasing memory you claimed (which results in a so-called "memory leak"). You'll also need a quite thorough understanding of how computer hardware actually works, more than with other languages such as Java.
If you want to learn more about C++ programming, I recommend the book "C++ How to program" by Deitel & Deitel. It starts at absolute beginners level, and it'll get you to intermediate level, with lots and lots of sample code that illustrates lots of important programming concepts. There's a good chance that you can find it in an academic library, and any academic bookstore will carry it. Also available at Amazon.
The pen is mightier than the sword. But if you literally want to have some impact, use a typewriter