前言

电脑工作原理:电脑是有各种不同的硬件组成,由驱动软件驱使硬件进行工作。所有的如软件工程师都会直接或间接使用到驱动。

定义:是一个针对GPU的图形库,用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。

基础概念

应用端:即我们自己的程序端,相对用OpenGL ES,我们属于应用端。

图元:要渲染的几何物体、形状。

纹理:可以理解为一张图片,在OpenGL中纹理是图片的另一种叫法。

纹素:纹素是纹理的基本单位,但并不是像素。图像是由像素排列而成,纹理是由纹素排列表示。

顶点数组:顶点是指组成图元的各个顶点的坐标数据(在3D笛卡尔坐标中即下x,y,z坐标),这些坐标数据可以一起存到一个内存数组中,这个数组就叫做顶点数组。

顶点缓冲区:在显存中分配一块显存来存储这个顶点数组,这个显存就叫做顶点缓冲区。

顶点着色器:https://www.yuque.com/u12120868/bmis0i/snvuuz(暂时借鉴课代表的)

DirectX、OpenGL、OpenGL ES

Khronos定义了OpenGL,微软自定义了DriectX,目前手机,不管是IOS还是Android,都是支持OpenGL ES。

电脑:Windows系统支持DriectX和OpenGL,Linux/Max(Unix)系统支持OpenGL。

20世纪90年代:OpenGL开放、2000:OpenGL ES开放,知道现在OpenGL ES已经到了3.2版本、2005: OpenGL SC开放、2008:开放基层更高效计算的OpenGL、2014:开放SPIR,2015:Vulkan开放,更加高效的GPU使用效率。

OpenGL ES

相同点

相比于OpenGL ES 1.x系列的古董功能管线,OpenGL ES2.0和OpenGL ES3.0都是可编程图形管线。开发者可以自行编写图形渲染管线中的顶点着色器和片元着色器两个阶段的代码。

OpenGL ES渲染流程

2.0版本

首先模型准备,由顶点着色器去编辑,把这些点面进行图元重组,进行光栅化,经过片元着色器的编写,最后通过三种测试,输出到Frame Buffer中。

3.1版本

新拿到这些Buffer缓存,传到顶点池,传给顶点着色器,顶点着色器进行分布Tramsform和Feedback,进行一个返回。让我们去了解一些数据下一阶段是使用,下一阶段拿到这些数据使用,之后要去进行光栅化,光栅化之后是片元着色器的计算,之后进行逐片元渲染输入到FrameBuffer中。

不同点

兼容性:OpenGL ES 3.0是向后兼容OpenGL  ES 2.0 的。

新特性:采用阴影贴图,体渲染(Volume rendering),基于GPU的动画,几何形状实例化。纹理压缩和伽马矫正等技术的重要功能在2.0都不具备。3.0将这些功能引入,同时继续适应嵌入系统的局限性。

渲染管线:3.0中移除了Alpha测试和逻辑操作(LogicOp)两部分,这两部分存在于OpenGL ES 2.0和OpenGL ES 1.x中。移除Alpha测试是因为片元着色器可能抛弃片段,因此Alpha测试可以在片元着色器中进行,移除逻辑操作(LogicOp)是因为他很少被使用。

着色器脚本编写:

着色器脚本的编写发生了比较大的变化:1、版本声明

2、输入输出(3.0中增加了in、out、inout关键字用来取代attribute和varing关键字,同时gl_FragColor和gl_FragData也删除了,片元着色器可以使用out声明字段输出)3、变量赋值(3.0中可以使用layout对指定位置的变量赋值

作业

支持OpenGL ES 3.2的 骁龙AdrenoGPU有哪些?

Adreno是骁龙手机端的GPU框架,从Adreno302开始支持OpenGL ES 3.0、Adreno 405开始支持OpenGL ES 3.1、Adreno420开始支持OpenGL ES 3.2.

如何看待Vulkan?

Vulkan是OpenGL的后续产品,是一种多平台的API。可支持开发人员CAD工具、性能基准测试等高性能图形应用。是新一代大API,但在复杂度和维护难度上,Vulkan门槛更高。

百人计划 图形1.4 PC手机图形API介绍相关推荐

  1. 图形 1.4 PC手机图形API介绍

    前言 电脑的工作原理:电脑是由各种不同的硬件组成,由驱动软件驱使硬件进行工作.所有的软件工程师都会直接或者间接的使用到驱动 定义:图形API是一个图形库,用于渲染 2D,3D 矢量图形的跨语言,跨平台 ...

  2. 【TA-霜狼_may-《百人计划》】1.4 PC手机图形API介绍

    [TA-霜狼_may-<百人计划>]1.4 PC手机图形API介绍 1.4.1 基础概念 1.4.2 DirectX, OpenGL, OpenGL ES Khronos Open Sta ...

  3. 【TA-霜狼_may-《百人计划》】图形3.4 延迟渲染管线介绍

    [TA-霜狼_may-<百人计划>]图形3.4 延迟渲染管线介绍 @[TOC]([TA-霜狼_may-<百人计划>]图形3.4 延迟渲染管线介绍 3.4.1 渲染路径 3.4. ...

  4. 【TA-霜狼_may-《百人计划》】图形3.6 纹理压缩——包体瘦身术

    [TA-霜狼_may-<百人计划>]图形3.6 纹理压缩--包体瘦身术 @[TOC]([TA-霜狼_may-<百人计划>]图形3.6 纹理压缩--包体瘦身术 3.6.1 纹理压 ...

  5. 【TA-霜狼_may-《百人计划》】图形3.7.2 command buffer简

    [TA-霜狼_may-<百人计划>]图形3.72command buffer 及urp概述 @[TOC]([TA-霜狼_may-<百人计划>]图形3.72command buf ...

  6. 【TA-霜狼_may-《百人计划》】图形2.7.2 GPU硬件架构概述

    [TA-霜狼_may-<百人计划>]图形2.7.2 GPU硬件架构概述 @[TOC]([TA-霜狼_may-<百人计划>]图形2.7.2 GPU硬件架构概述 GPU是什么 GP ...

  7. 个人学习笔记 ——【技术美术百人计划】图形 2.1 色彩空间介绍

    个人学习笔记 --[技术美术百人计划]图形 2.1 色彩空间介绍 图形 2.1 色彩空间介绍 个人学习笔记 --[技术美术百人计划]图形 2.1 色彩空间介绍 图形 2.1 色彩空间介绍 一.色彩发送 ...

  8. 百人计划学习 图形 2.1 色彩空间介绍

    这是个人学习笔记,有错欢迎指出 学习链接: 冯乐乐 <UnityShader入门精要> [技术美术百人计划]图形 2.1 色彩空间介绍 色彩发射器 色彩认知:光源是出生点,光源发射出光线, ...

  9. 【TA-霜狼_may-《百人计划》】图形3.7 移动端TP(D)R架构

    [TA-霜狼_may-<百人计划>]图形3.7 移动端TP(D)R架构 @[TOC]([TA-霜狼_may-<百人计划>]图形3.7 移动端TP(D)R架构 3.7.1 当前移 ...

最新文章

  1. Elasticsearch的Shield插件
  2. php7-internal 7.7 zval的操作
  3. 如何使用代码给product创建distribution chain
  4. 星光计划计算机,上海星光计划第七届职业院校技能大赛.PDF
  5. 西固哪家计算机学校好,兰州市西固区有什么技术学校和大学
  6. C++使用openssl实现aes加解密,其中加密是string到文件,解密是文件到string,切合项目背景
  7. 操作系统之计算机系统概述:1、操作系统概述(定义、功能、作用)
  8. 解决北京户口,中科院计算所校招,CV/图像处理工程师,博士优先
  9. 苹果关闭iOS 14.1验证通道,阻止 iOS 14.2 降级
  10. log4j2日志xml配置——不同级别的日志分别记录在不同的文件
  11. 特征工程一:特征缩放、选择
  12. arcgis 中北京1954 高斯克吕格投影说明
  13. 通用的业务编码规则设计实现
  14. 第一次有人把小米9快充讲的这么简单明了qc3.0 usb pd
  15. 一个简单文本分类任务-EM算法-R语言
  16. 关于按钮“按下”效果的两种实现
  17. 【CSS选择器】CSS选择器有哪些?如何选择合适的使用?各类选择器的优劣势是什么?
  18. 伺服驱动器在机器人上的研究与应用
  19. php.krab病毒,SQLServer数据库中了勒索病毒加密,扩展名改为Globeimposter-Alpha666qqz
  20. PodfileKit将github上常见的iOS(Swift)第三方框架进行了汇总,并且将框架进行了分类,为用户管理第三方框架提供了方便。

热门文章

  1. 通用的JS表单验证插件代码
  2. 软体艺术系列--抽象工厂 (原文最终修订于2006年10月18日 凌晨04:25:06)
  3. NDIM 磁力下载器 MAC多版本设置UA
  4. Asp.Net使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖
  5. android gone动画_java – Android添加简单的动画,而setvisibility(view.Gone)
  6. Web 3 音乐:对传统音乐产业链的实验性革新
  7. Flink的Parallelism并行度
  8. 1.Spring、Spring Boot 和 Spring Cloud 有什么关系?
  9. 摄像头参数介绍 ———— 信噪比(SNR)
  10. 服务器内存超频性能,测试篇:内存超频性能测试