I have very, very basic understanding of how the graphics work, but i thought to start learning them. I have some C++ knowledge also.
What is the best way to learn them as a beginner?
I have very, very basic understanding of how the graphics work, but i thought to start learning them. I have some C++ knowledge also.
What is the best way to learn them as a beginner?
O_o
Someone posted this link the other day, and I've since read through it.
It isn't great, but it is better than average.
Soma
Learning Modern 3D Graphics Programming
Yes curently im on in, but can i ask one question;
At the begining lessons in Hello Triangle chapter, they only show me functions.
I am not sure if i have to code those functions in my IDE, or is it simply basic explanation of the main functions?
Do they gonna tell me how to start a brand new openGL project?
O_o
Using your chosen environment is beyond the scope of those tutorials.
If you don't know how to do such things, read tutorials on your chosen environment first.
Soma
Can you post something to catch that is more begginer like, i dont know how to create an openGL project yet.
The link you provided, its explanation is very good for beginners but i have the feel I/them are missing the "Hello word" part when starting a C++ tutorial.
O_o
I don't even know what your chosen environment is so of course I can't suggest a tutorial series for using it.
Stop being foolish; search and you'll find tutorials to setup your environment.
Soma
Wont disturb sorry.
PS: Its C::B, had to cough it..
You need to narrow your inquiry.
Are we talking windows, menus? Then you need a GUI toolkit like QT.
Are we talking drawing bitmaps to the screen and simple 2D graphics? It'll be worthwhile to look at SDL, or possibly Allegro (haven't used that since my DOS days, though).
Are we talking full 3D graphics? Probably best to learn OpenGL (but that tutorial linked above is utterly horrendous, in my opinion - get yourself a copy of the OpenGL SuperBible instead).
That's the decisions that most people take, but you have to make decisions yourself. What type of graphics? What platform? What language? From books or tutorials? Do you not want to bother to learn how to use your linker (good luck with that!) or a Makefile to do so?
I think the answer you'd probably get most out of at first is SDL. There's a bucket-load of SDL tutorials out there for free, SDL is free, works from C or C++ and does lots of other nice things (e.g. sound, mouse control, joysticks, platform-independence, not too complicated, etc.), go play.
- Compiler warnings are like "Bridge Out Ahead" warnings. DON'T just ignore them.
- A compiler error is something SO stupid that the compiler genuinely can't carry on with its job. A compiler warning is the compiler saying "Well, that's bloody stupid but if you WANT to ignore me..." and carrying on.
- The best debugging tool in the world is a bunch of printf()'s for everything important around the bits you think might be wrong.
Im aiming for making 3d games (but i plan to start a serious 2d game soon for exercise and to see howa game should be coded, runing, etc)
Im using Windows XP with C::B as IDE.
I saw SFML have graphics, sounds and few more things i think, but i saw that i have to include their SFML header in my source.
Probably they use their own functions, is it worth it to start with SFML, what about for the feature, im going to use it?
Else i will try SDL.
PS: Excuse my lazy posts above, Soma. Wasn't thinking.
Incomplete example portions in the text mean you have to read the whole damn source code just to demonstrate a simple principle, weird never-seen-before utility needed to compile the example projects (written in Lua, no less), lots of unexplained boilerplate with "we'll get to this later" and "the next three lines set state" as comments, the first introduction of vertex and fragment shaders is just a "trust us, compile it and it will work" job with little explanation of what it actually does, large portions of maths that are way over most people's heads (look at Ch14 - the Guassian function), I could go on.
To an absolute beginner, that tutorial is the most off-putting I've ever seen (and I've seen some horrendous tutorials!). It's fine for someone who's already versed in OpenGL, has a compilation environment up and running, knows what a shader is, has a decent grounding in maths and computer graphics etc. and just wants to learn the missing pieces, but as a "Learning ...." tutorial, it's a nightmare. The poster just wants to start drawing things on the screen, and that tutorial is completely the wrong kind for that purpose. I imagine most people don't make it through the first chapter to draw a triangle. I know that modern OpenGL is a mess to get the simple things working (the tutorial obviously aims at a time when shaders will be the ONLY way to draw) but that tutorial isn't written for beginners but people who just want to learn shaders, which is the only category of people it will actually attract.
By comparison, the SuperBible has a lot more explanation at precisely what's going on and why and a lot more introduction into what the shaders are supposed to do.
That said, I think the whole concept of vertex and fragment shaders is the WORST way to teach OpenGL and something people can move onto once they have a basic grasp of immediate mode and compatibility models (which, literally, takes a few hours to get up-and-running if you know nothing about OpenGL and the transition to shaders then makes 100 times more sense than trying to start a "hello world" example with lots of obscure shader code that you then have to programmatically compile before you can see anything at all). Old-fashioned, yes, but something that's NOT going to go anywhere any time soon, still works, and eases beginners in rather than scares them with having to write shaders just to blit things to the screen or draw a simple wireframe model.
- Compiler warnings are like "Bridge Out Ahead" warnings. DON'T just ignore them.
- A compiler error is something SO stupid that the compiler genuinely can't carry on with its job. A compiler warning is the compiler saying "Well, that's bloody stupid but if you WANT to ignore me..." and carrying on.
- The best debugging tool in the world is a bunch of printf()'s for everything important around the bits you think might be wrong.
I agree with some of those points.
I am starting OpenGL (with very little idea about Computer Graphics and a moderate level of maths knowledge) from scratch and found the explanations there a little more friendly that other tutorials.
(I'll get a real book soon, only if I see that I enjoy the subject).
Your point about the build system is spot on. After a few failed tries (and ugly workarounds), I have now set up my own environment (and am on my way to creating a C++ wrapper for OpenGL), with SFML as the windowing (and context creating) toolkit.
After that, it is a rather smooth sailing. (having a little trouble with some math.. but it'd be over soon)