OpenGL与3D开发 - OpenGL与OpenGL ES

本文介绍了OpenGL与OpenGL ES在3D图形开发中的应用,特别是OpenGL ES在Android上的版本及其特点。重点讲解了OpenGL ES的渲染管线,包括顶点着色器、图元装配、几何着色器、光栅化等步骤,以及坐标系的理解,如右手坐标系、左手坐标系和坐标转换。
摘要由CSDN通过智能技术生成

OpenGL与OpenGL ES

1、3D图像引擎简介

现今较为知名的3D图形引擎有OpenGL、DirectX

  • DirectX主要应用于Windows下游戏的开发,在此领域基本上一统天下。

  • OpenGL的应用领域较为广泛,适用于Unix、Mac OS、Linux以及Microsoft等几乎所有的操作系统,可以开发游戏、工业建模以及嵌入式设备。

2、OpenGL

OpenGL是Open Graphics Library的缩写,是个定义了一个跨编程语言、跨平台的编程接口的标准,与硬件无关,在多种不同的图形硬件系统上,完全通过软件的方式实现OpenGL的接口。OpenGL被当作客户端-服务器系统来实现的,应用程序是客户端,图形硬件厂商提供的OpenGL实现是服务器。

3、OpenGL ES

OpenGL ES(OpenGL for Embedded Systems) 是 OpenGL 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。该规范也是由 Khronos Group 开发维护。

OpenGL ES 去除了四边形(GL_QUADS)、多边形(GL_POLYGONS) 等复杂图元,以及许多非绝对必要的特性,剩下最核心有用的部分。可以理解成是一个在移动平台上能够支持 OpenGL 最基本功能的精简规范。

3.1 OpenGL ES版本分类

Android上面的OpenGL ES一共有三个版本,1.0,2.0以及现在的3.x(3.1, 3.2)

⭐️ OpenGL ES 1.X:采用的是固定渲染管线。Android1.0和更高的版本支持这个API规范。

⭐️ OpenGL ES 2.X:可编程渲染管线,渲染能力大大提高。着色器是可编程的,灵活性高,程序员可发挥的空间大,编程比较难。Android 2.2(API 8)和更高的版本支持这个API规范。

⭐️ OpenGL ES 3.0 :是从 OpenGL 3.3规范衍生而来,向后兼容 OpenGL ES 2.0。Android 4.3(API 18)及更高的版本支持这个API规范。

⭐️ OpenGL ES3.1:基本上可以属于OpenGL 4.x的子集,向下兼容OpenGL ES3.0/2.0。Android 5.0(API 21)和更高的版本支持这个API规范。

⭐️ 使用OpenGL ES 1.0 / 1.1 API的图形编程与使用2.0及更高版本显着不同。 API的1.x版本具有更多的便利方法和固定的图形管道,而OpenGL ES 2.0和3.x API通过使用OpenGL shaders提供对管道更直接的控制。

⭐️ OpenGL ES 3.x API提供了比2.0 API更多的功能和更好的性能,并且还向后兼容2.0版本。 这意味着可以在编写面向OpenGL ES 2.0的应用程序时,有条件地包含OpenGL ES 3.x的图形功能(如果可用)。

一个问题:3D图形如何显示在2D平面?

4、O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值