Hello, I just started learning C++ a few months ago as my first language and I was very interested in OpenGl,problem is I don't know where to begin,I've found a youtube guide but it was old and uses OpenGL 2.x and new versions of OpenGL has been released (4.4 being the latest) so there was no use of it unfortunately,so I started researching again for an OpenGL SDK but there is no official SDK instead there are 3rd party ones like GLEE and GLEW,but I don't know what to download,plus which extension since it's not a full SDK instead it's extension based (at least from my understanding) So can anyone help me with that?giving links also would be very helpful I'm planning to develop using Visual Studio 2013 Ultimate And sorry for being a newbie,it's just that I don't know where to begin Thanks in advance
I wouldn't worry about getting the latest SDK for OpenGL if you are just beginning to program in C/C++ chances are you probably won't touch the advance stuff that OpenGL does until much much later on if ever. If you want to make a game I would recommend buying a good book that focuses on OpenGL and learning from that. There are some free tutorials on the web that you can find and work through but I would strongly recommend buying a good book.
Start with the book An Introduction to 3D Computer Graphics, Stereoscopic Image, and Animation in OpenGL and C/C++ Then move on to the book OpenGL Programming Guide Those should get you started. It's best to wait until you have a good understanding of C/C++ first though as OpenGL is quite advanced for someone just starting out learning to program.
Heres a couple of sites that ive had in my bookmarks for a while, both are using OpenGl 3.* i think. http://ogldev.atspace.co.uk/index.html http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.htm Don't know if they'll help. Dave
As a heads up, OGL is sometimes a PITA to deal with. My advice is to make sure you really understand C/C++ first.
There is only one place I would direct to learning MODERN OpenGL, for total beginner, and it is this guys tutorial site: http://open.gl/ Hands down best there is. E.g. the latest OpenGL redbook is a) missing half of the source code from editors site b) they are full of errors c) it's not mainly a tutorial, more reference material After that, when you actually something on the screen, and motivation still high, grab maybe other books and start really learning C++ & more OpenGL. If you need help setting the Visual Studio environment with working setup, you can PM, and I'll help you get it up and running(this whole thing as coming to C++ & OpenGL took most of my time). I also switched to C++ & OpenGL about 3 months ago, and learning all I can. Even though the route to put together a proper environment from multiple frameworks is hard and first time, time consuming, it is in my mind better. There is nothing extra which you don't need, they do only a specific thing, and they don't have any wrapping API for them, and you actually learn OpenGL at the core. Taking that path you completely understand what everything needs to function and what it takes in the future to evaluate maybe proper full blown frameworks(imho, most important reason to actively study things on your own time).
No version of GL really supports multithreading. You can use multiple contexts from multiple threads, but thats not normally what you want (unless you are maybe rendering multiple windows). Only D3D11 really has multithreading support (where you can prepare command buffers on multiple threads). You can use multiple contexts in GL to do resource (eg. texture) loading on a different thread though.
Wow,thanks a lot guys for helping me with this and I'm very sorry for not replying(been busy with school and my finals) I did find some good books/tutorials like the blue book and this arcsynthesis.org/gltut/ but the thing that's really holding me back is the SDK part,as a noob I thought I'll find a simple SDK to install and then start coding but with OpenGL....it seems to be the opposite and I don't know which library to download cause there seems a lot to choose from like GLEW,GLFW,SFML,GLM and many others and I can't make up my mind.
Im using opencl to prepare/alter the position/color data by GPU not going out of graphics card but it is not fast enough when using CPU because data is copied from there and there. I need to use a more efficient multithreading paradigm. GL-CL interop is cool but certainly need to have a direct multithread render context in GL for CPU cores, maybe HSA type. Can mantle give more freedom for GL stuff or everything has to be re-written?