OpenGL 4.5 (August 2014) can be compared to DX 11.1 or even supersede it. Tesselation shaders, draw indirect, ES2 compatibility, program binaries, separate shaders objects, Compute shaders. To illustrate this idea, I prepared two images: It can transform vertices, calculate color of fragments, delete or add more triangles and even more.
Shader is a little program that can compute various things and is run on the GPU. There is a general form of the pipeline, but a lot of parts are fully controlled by you - thanks to shaders. Programmable pipeline is more like a white, transparent box where not only you put input data and wait for the result, but you can insert/change internal mechanisms as well. You could of course tweak this box to your needs but at some point, it was not enough. You inserted the vertex data in the front (at the input) and you got triangles written to the framebuffer (screen) at the end. What is the difference? This is quite a broad topic, but for now I think it is good to know that fixed pipeline was like a black box. Is there 'old OpenGL ' as well?īasically modern means "using programmable graphics pipeline", old means "fixed pipeline". The first question I would like to answer is why there is a term called 'modern OpenGL'. In this article, I will try to answer some of the questions above and create a guide to a wonderful world of graphics programming using OpenGL.
Great! But what does it really mean and what options are available? Do you have to buy expensive books about this technology, or maybe some basic online tutorials are enough? Shaders + Cube Env Map + Phong Lighting Introduction