美文网首页
OpenGL ES初探(上)

OpenGL ES初探(上)

作者: 小溜子 | 来源:发表于2020-07-10 12:26 被阅读0次

什么是OpenGL ES

OpenGL ES(OpenGL for Embedded Systems)是以手持和嵌⼊式设备为⽬标的⾼级 3D 图形应⽤程序编程接口(API)。 OpenGL ES 是目前智能手机中占据统治地位的图形 API。支持的平台包括:iOS,Andriod,BlackBerry,bada,Linux 和 Windows,它还是基于浏览器的 3D 图形 Web 标准WebGL 的基础。

OpenGL ES 是 OpenGL 的简化版本,它消除了冗余功能,提供了一个既易于学习又更易于在移动图形硬件中实现的库。OpenGL ES允许应⽤程序利⽤底层图形处理器的强大功能。iOS 设备上的 GPU 可以执行复杂的 2D 和 3D 绘图,以及最终图像中每个像素的复杂着色计算。

image.png

简单的来说,OpenGL ES 和 OpenGL 学习起来大致一样,有很多重复的知识点。整个渲染管线流程如上图,可编程管线中,我们只能操作 顶点着色器 和 片元着色器。

1、顶点着色器

(1)顶点着色器的输入输出:

顶点着色器 实现了顶点操作的通用可编程方法。
顶点着色器 的 输入 包括:

着色器程序 —— 描述顶点上执⾏操作的顶点着色器程序源代码(GLSL代码)或者可执行⽂文件。
顶点着色器输入(或者属性Attributes)—— 用顶点数组提供的每个顶点的数据。
统一变量(uniform)—— 顶点(或者片段)着色器使用的不变数据(例如旋转矩阵)。
采样器—— 代表顶点着色器使用纹理的特殊统一变量类型。

如下图所示

image.png

2) 顶点着色器的业务:

1、通过矩阵变换位置
2、计算光照公式生成逐顶点颜色
3、生成或变换纹理坐标
此外,因为顶点着色器由应用程序规定,所以它可以用于执行自定义计算,实施新的变换、照明或者较传统的固定功能管线所不允许的基于顶点的效果。

2、片元(片段)着色器

1)片元着色器的输入输出:

片元/⽚段着色器 的 输入 包括:

着色器程序 —— 描述⽚段上执⾏操作的片元着⾊器程序源代码/可执行⽂件。
输入变量—— 光栅化单元用插值为每个片段生成的顶点着⾊器输出。
统一变量(uniform)—— 顶点(或者片段)着色器使用的不变数据。
采样器 —— 代表⽚元着色器使⽤纹理的特殊统一变量类型。

如下图所示:

image.png

相关文章

  • OpenGL ES初探(上)

    什么是OpenGL ES OpenGL ES(OpenGL for Embedded Systems)是以手持和嵌...

  • OpenGL ES初探(上)

    一、简介 在之前,我写了几篇学习 OpenGL 的文章,大家有兴趣的可以去看一下,在学习了 OpenGL 的基础上...

  • openGL

    OpenGl ES 初探 专业名词解释 OpenGL上下文[ context) 在应用程序调用任何OpenGL的指...

  • OpenGL笔记十一:GLKit初探

    前言 期待您移步上篇:OpenGL笔记十:OpenGL ES初探 GLKit 框架概述 GLKit 框架的设计⽬标...

  • OpenGL/OpenGL ES初探

    当初接触OpenGL的时候,也关注到了苹果爸爸弃用的问题,心里想着,苹果爸爸都弃用了OpenGL/Open LG ...

  • OpenGL ES(一) OpenGL ES初探

    OpenGL ES (OpenGL for Embedded Systems) 是以手持和嵌入式为目标的高级3D图...

  • OpenGL ES(一)-OpenGL ES初探

    OpenGL ES简介 OpenGL ES (OpenGL for Embedded Systems) 是以⼿和嵌...

  • OpenGL ES - 初探

    OpenGL ES(OpenGL for Embedded Systems)是以手持和嵌入式设备为目标的高级3D图...

  • OpenGL ES初探

    OpenGL ES 苹果官方文档 OpenGL ES 开放式图形库(OpenGL的)⽤用于可视化的⼆二维和三维数据...

  • OpenGL ES初探

    OpenGL ES (OpenGL for Embedded Systems) 是以⼿持和嵌入式为目标的高级3D图...

网友评论

      本文标题:OpenGL ES初探(上)

      本文链接:https://www.haomeiwen.com/subject/wsopcktx.html