Note that there are some explanatory texts on larger screens.

plurals
  1. POOpenGL 4.1 and 3.1+, What are key differences?
    text
    copied!<p>I understand that OpenGL 4 and 3 are fairly similar, especially 3.1 and 4.1. With both being essentially released together, it can be difficult to understand the rationale for OpenGL 4.0/4.1.</p> <p>In previous releases of OpenGL, minor version increments upward until substantial changes accumulated into a new major version. OpenGL 3.x and 4.x introduced backwards-incompatible API changes and then OpenGL 3.2 and 3.3 are said to be specifically branches of the 3 series which are not forward compatible while 3.1 is compatible with 4.1+</p> <p>What key differences does OpenGL 4.1 offer compared with OpenGL 3.1 that warrant it to be classified under a new major version?</p> <p>Bonus: Do any of the differences provide performance increases in any situations over GL3 or just accessibility?</p> <blockquote> <p>Edit: Some extra findings based on answers</p> </blockquote> <hr> <blockquote> <p>OpenGL 3.3 was made to compliment OpenGL 4.0 to incorporate as much of the functionality as they could into older hardware. Choosing between OpenGL 3 and 4, 3.3 may be a better choice <em>sometimes</em>. 4.1 has added GL ES 2.0 compatibility however and some nice features.</p> </blockquote> <hr> <blockquote> <p>One of the bigger workflow differences would be added GPU programing steps in the pipeline via the new tessellation shaders. Another would be <strong>multiple viewports</strong> to render to. I believe the new level of detail feature would change the workflow I'm using and perhaps other quite a bit, though I have not looked into this feature in depth.</p> </blockquote> <p>Please let me know if you see any misconceptions or areas to improve. </p> <blockquote> <p>Keynotes (apparently removed from answer while asking on meta.. For temporary reference of what the actual answer was.)</p> <p><a href="http://www.opengl.org/registry/doc/glspec41.core.20100725.pdf" rel="nofollow noreferrer"><strong>Appendix G - K</strong> For <strong>OpenGL 3.1</strong> features through <strong>OpenGL 4.1</strong> features</a></p> <p><a href="http://www.khronos.org/news/press/releases/khronos-unleashes-cutting-edge-cross-platform-graphics-acceleration-opengl4" rel="nofollow noreferrer">Khronos Group Release Of OpenGL 4.0</a> may be "easier to read" :)</p> <ul> <li><strong>Sampler Objects</strong></li> <li><strong>Instanced Arrays and Shaders</strong></li> <li><p><strong>texture_cube_map_array and texture_gather</strong></p></li> <li><p><strong>GLSL 4.0</strong> and <strong>dynamic LOD</strong></p></li> <li><strong>shader_subroutine</strong> and <strong>sample_shading</strong></li> <li><strong>separate_shader_objects</strong></li> <li>Increase required sizes for <strong>texture/renderbuffers</strong></li> <li><strong>64 bit floating point</strong> vertex attributes</li> <li><strong>get_program_binary</strong></li> <li>+2 <strong>Tesselation shaders</strong></li> </ul> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload