(一)(2)OpenGL入门---Open GL常用名词解读

本文介绍了OpenGL作为图像API的基本概念,包括上下文、状态机、渲染、顶点数组和顶点缓冲区、着色器程序及其作用。重点讨论了顶点着色器和片段着色器在图形渲染中的功能,以及OpenGL的管线、光栅化和矩阵变换等关键步骤。此外,还提到了OpenGL中的纹理、混合和缓冲区管理策略,如垂直同步和双/三缓冲区技术。
摘要由CSDN通过智能技术生成

1、图像API

  • OpenGL (OpenGraphics Library)是一个跨编程语言,跨平台的编程图形程序接口,它将计算机的资源抽象称为一个个OpenGL的对象,对这些资源的操作抽象为一个个的OpenGL指令。
  • OpenGL ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,去除了许多不必要和性能较低的API结构
  • DirectX 是由很多API组成的,DirectX 并不是一个单纯的图像API。最重要的是DirectX是属于Windows上一个多媒体处理框架。并不支持Windows以外的平台,所以不是跨平台框架,按照性质分类,可以分为四大部分,显示部分,声音部分,输入部分和网络部分。
  • Metal:Apple 为游戏开发者推出了新的平台技术 Metal,改技术能够为 3D 图像提高 10 倍的渲染性能。Metal 是 Apple 为了解决 3D 渲染而推出的框架

2、OpenGL 上下文(Context)

  • 在应用程序调用任何OpenGL的指令之前,需要安排首先创建一个OpenGL 的上下文。这个上下文是一个非常庞大的状态机,保存了OpenGL 中的各种状态,这也是OpenlGL指令执行的基础
  • OpenGL 的函数不管在哪个语言中,都是类似C语言一样的面向过程的函数,本质上都是对OpenGL 上下文这个庞大的状态机中的某个状态或者对象进行操作,当然你得首先把这个对象设置为当前对象。因此,通过对OpenGL指令的封装,是可以将OpenGL的相关调用封装成为一个面向对象的图像API的
  • 由于OpenGL 上下文是一个巨大的状态机,切换上下文往往会产生较大的开销,但是不同的绘制模块,可能需要使用完全独立的状态管理。因此,可以在应用程序中分别创建多个不同的上下文,在不同线程中使用不同的上下文,上下文之间共享纹理、缓冲区等资源。这样的方案,会比反复切换上下文,或者大量修改渲染状态,更加合理高效的。
    核心要点
  • Open GL 指令执行的基础,是一个非常庞大的状态机。
  • Open GL 类型C语言一样面向过程,但是可以通过Open GL指令的封装,是可以将相关调用封装成为一个面向对象的图像API。
  • OpenGL 切换上下文会产生较大的开销。根据业务需求可创建多个上下文,但是上下文之间会共享纹理、缓冲区等资源。

3、OpenGL状态机

  • 状态机是理论上的一种机器,状态机描述了一个对象在其生命周期内所经历的各种状态,状态间的转变,发生转变的动因,条件及转变中所执行的活动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值