OpenGL的4.1和3.1以上版本,有什么主要区别? [英] OpenGL 4.1 and 3.1+, What are key differences?

查看:1738
本文介绍了OpenGL的4.1和3.1以上版本,有什么主要区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

据我所知,OpenGL的4和3非常相似,特别是3.1和4.1。有了这两个基本被一起发布的,它可以是很难理解的理由对OpenGL 4.0 / 4.1。

在previous OpenGL的版本,次要版本的增量上升,直到实质性的变化积累到一个新的主要版本。 OpenGL的3.x和4.x推出的向后兼容的API的变化,然后OpenGL的3.2和3.3据说是专门的3系列不属于前向兼容的分支,而3.1与4.1兼容+

用OpenGL 3.1的保证它在一个新的主要版本被归类比较有什么关键的区别做的OpenGL 4.1报价?

奖励:是否有任何的差异提供了GL3或只是访问任何情况下,性能提升

  

编辑:基于回答了一些额外的调查结果。


  

OpenGL的3.3是为了恭维的OpenGL 4.0,以尽可能多的功能,因为他们可以纳入旧的硬件。 OpenGL的3和4,3.3之间的选择可能是一个更好的选择的有时的。 4.1增加了GL ES 2.0的兼容性但是和一些不错的功能。


  

其中一个较大的工作流程的差异将通过新的细分着色器被添加在管道GPU编程步骤。另一个办法是多个视以渲染。   我相信细节特征的新台阶将改变我使用,也许还有其他相当多的工作流程,虽然我还没有研究深入此功能。

请让我知道如果你看到任何误解或改进的地方。

  

主题演讲(显然是从回答询问时元上删除..   对于什么样的实际答案是临时的参考。)

     

附录G - K 对于的OpenGL 3.1 功能通过的OpenGL 4.1   功能

     

<一个href="http://www.khronos.org/news/$p$pss/releases/khronos-unleashes-cutting-edge-cross-platform-graphics-acceleration-opengl4"相对=nofollow> Khronos组织发布了OpenGL 4.0 可能是更容易阅读:)

     
      
  • 取样对象
  •   
  • 实例化数组和着色器
  •   
  • texture_cube_map_array和texture_gather

  •   
  • GLSL 4.0 动态LOD

  •   
  • shader_subroutine sample_shading
  •   
  • separate_shader_objects
  •   
  • 在增加所需大小的纹理/ renderbuffers
  •   
  • 64位浮点顶点属性
  •   
  • get_program_binary
  •   
  • +2 着色Tesselation的
  •   
解决方案

您可以得到的这里

附录GK去了所有的变化,从3.1的OpenGL OpenGL的4.1,包括新的特征,什么是pcated德$ P $,什么是被完全删除等。

此外,<一个href="http://www.khronos.org/news/$p$pss/releases/khronos-unleashes-cutting-edge-cross-platform-graphics-acceleration-opengl4">this链接可能是更容易阅读:)

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.

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+

What key differences does OpenGL 4.1 offer compared with OpenGL 3.1 that warrant it to be classified under a new major version?

Bonus: Do any of the differences provide performance increases in any situations over GL3 or just accessibility?

Edit: Some extra findings based on answers


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 sometimes. 4.1 has added GL ES 2.0 compatibility however and some nice features.


One of the bigger workflow differences would be added GPU programing steps in the pipeline via the new tessellation shaders. Another would be multiple viewports 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.

Please let me know if you see any misconceptions or areas to improve.

Keynotes (apparently removed from answer while asking on meta.. For temporary reference of what the actual answer was.)

Appendix G - K For OpenGL 3.1 features through OpenGL 4.1 features

Khronos Group Release Of OpenGL 4.0 may be "easier to read" :)

  • Sampler Objects
  • Instanced Arrays and Shaders
  • texture_cube_map_array and texture_gather

  • GLSL 4.0 and dynamic LOD

  • shader_subroutine and sample_shading
  • separate_shader_objects
  • Increase required sizes for texture/renderbuffers
  • 64 bit floating point vertex attributes
  • get_program_binary
  • +2 Tesselation shaders

解决方案

You can get all the changes from here.

Appendices G-K go over all the changes from OpenGL 3.1 to OpenGL 4.1, including new features, what's been deprecated, what's been removed completely etc.

Also, this link may be "easier to read" :)

这篇关于OpenGL的4.1和3.1以上版本,有什么主要区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆