【一】OpenGL

OpenGL是什么

通常的理解是一个API,包含了一些列可以操作图形、图像的函数,然而OpenGL本身不是一个API,它仅仅是由Khronos组织制定并维护的一个规范。OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值,内部实现由OpenGL库的开发者自己决定。

之前,一直以为OpenGL是由一个组织统一开发维护的,现在了解到OpenGL仅仅声明了一系列函数,具体的实现由开发者(显卡厂商)来实现。

OpenGL的渲染模式

  • 立即渲染模式
  • 核心模式

立即渲染(固定管线渲染)模式绘制图形比较简单,开发者很少能控制OpenGL,比较简单容易使用和理解,但是效率太低;

核心模式提高了灵活性,给予了开发者很大的自由度、灵活性和效率,但是需要使用者真正理解OpenGL和图形编程,有一定难度;

从OpenGL3.2开始,规范文档废弃了立即渲染模式,鼓励开发者使用核心模式进行开发。

状态机

OpenGL是由一系列变量描述的状态机(State Machine),OpenGL的状态通常被称为OpenGL的上下文(Context),使用以下状态修改OpenGL状态:

  • 设置选项
  • 操作缓存
  • 使用当前OpenGL上下文来渲染
    只要记住OpenGL本质上是一个大状态机,就能更容易理解它的大部分特性
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容