OpenGL ES 2.0库

大小:854K类别:编程其它

官方安全无插件纠错

  • 更新时间2023-10-29
  • 系统Pc
  • 语言简体中文

OpenGL ES 2.0是OpenGL三维图形API的子集,针对手机、PAD和游戏主机等嵌入式设备设计,而小编带来的OpenGL ES 2.0是其2.0版本,这一版本主要针对可编程管线硬件,参照OpenGL 2.0的规范定义的。OpenGL ES 2.0是一个定义了跨编程语言、跨平台的编程接口的规格,用于三维图像,也就是说小编带来的这个东西其实并不是软件,而是一个功能强大的方便调用的底层图形库。

OpenGL ES 2.0具有免费,跨平台等特点,功能完善的2D和3D图形应用程序接口API能够针对多种嵌入式系统做出专门设计,包括移动电话、手持设备、家电设备等等如果用户为一些手机、游戏机等嵌入式设备做开发,那么这个OpenGL ES 2.0是必不可少的。

OpenGL ES 2.0

OpenGL ES 2.0支持平台与机型

- 支持iPad, iPhone3GS 和后续版本,以及iPodTouch3代和后续版本。

- 支持Android平台从Android 2.2版本开始。

- 支持Android NDK从Android 2.0版本开始。

- 支持BlackBerryPlayBook黑莓。

- 支持Pandora潘多拉控制台的3D库。

- 被WebGL支持:浏览器支持OpenGL

- 支持少数新款Nokia诺基亚手机,比如N900上的Maemo和N8上的Symbian3塞班3系统。

- 支持多款三星手机,包括Galaxy S和Wave。

- 使用开发插件可以支持Palm webOS。

- 支持Archos 爱可视上网本:70 IT, 101 IT

OpenGL ES 2.0功能

大大提高不同消费电子设备的3D图形渲染速度;

在嵌入式系统上实现了全面可编程的3D图形;

把三维空间中的对象通过投影、光栅化转换为二维图像,然后呈现到屏幕上。

1、Shader(就是一段程序Program)

Shader是一段执行在GPU上的程序(所以Shader也可以叫做Program),此程序使用OpenGL ES SL语言来编写。它是一个描述顶点或像素特性的简单程序。

- 1.1Pixel Shader

Pixel Shader(像素着色器)就是众所周知的Fragment Shader,它计算每个像素的颜色和其它属性。它通过应用光照值、凹凸贴图,阴影,镜面高光,半透明等处理来计算像素的颜色并输出。它也可改变像素的深度(z-buffering)或在多个渲染目标被激活的状态下输出多种颜色。一个Pixel Shader不能产生复杂的效果,因为它只在一个像素上进行操作,而不知道场景的几何形状。

- 1.2 Vertex Shader

对于发送给GPU的每一个Vertex(顶点),都要执行一次Vertex Shader(顶点着色器)。其功能是把每个顶点在虚拟空间中的三维坐标变换为可以在屏幕上显示的二维坐标,并带有用于z-buffer的深度信息。Vertex Shader可以操作的属性有:位置、颜色、纹理坐标,但是不能创建新的顶点。

Vertex Shader输入数据如下:

1)Attributes: 通过顶点数组(vertex arrays)提供的每个顶点数据

2)Uniforms: Vertex Shader使用的常量数据

3)Samplers: Vertex Shader使用的一个表示纹理类型的Uniforms,在Vertex Shader中是可选的

4)Shader program: Vertex Shader程序源码或可执行文件,它描述了将在顶点上执行的操作

Vertex Shader输出为:varying variables(Vertex Shader的输出变量,作为Fragment Shader的输入。必须与Fragment Shader中的输入Varying一一对应。)

gl_Position: 是每个点固有的Varying,表示点的空间位置。

- 1.3 Geometry Shader

Geometry Shader是一个相对新的Shader类型。它在Driect3D 10和OpenGL 3.2中开始引入,在OpengGL 2.0+中作为扩展使用。它的输入为:点、线和三角形;其输出为点、线带和三角形带。

2、Shading Language

Shading Language仅适合于为GPU编程,编程工具为Cg(Nvidia开发),Cg编译器可以输出Direct3X或OpenGL Shader程序。

3、Shading 算法

- 3.1 插值技术(可以和任何照明模型组合):

Flat shading

Gouraud shading

Phong shading

- 3.2 照明模型 (可以和任何插值技术组合):

Blinn–Phong

Cook–Torrance (microfacets)

Lambert

Minnaert

Oren–Nayar (Rough opaque diffuse surfaces)

Phong

Ward anisotropic

4、原语汇编(Primitive Assembly)

在管道(pipeline)中,执行完Vertex Shader之后,就执行原语汇编。一个原语(primitive)就是一个可以使用OpenGL ES画图命令进行绘制的几何对象。

在原语汇编阶段,被Vertex Shader处理输出的顶点被组合进行一个单独可被绘制的几何原语(如:点、线和三角形)。然后对几何原语执行以下两种操作:

Clipping(裁剪): 只保留在可视空间范围内的原语

Culling(选择): 基于面向前或后,进行原语的选择

在裁剪和选择之后,其下一个阶段为进行Geometry Shader(如果存在)或光栅化处理。

5、光栅(Rasterization)

光栅处理的目标:把原语转换为一系列二维fragments,这些二维fragments将被Fragment Shader处理,且这些二维fragments表示可被绘制在屏幕上的像素。

6、 Fragment Shader

对每个光栅化产生的fragment执行一次Fragment Shader,其输入内容如下:

Varying variables:Vertex Shader的输出,且由光栅化单元对每个fragment使用插值方法产生

Uniforms:Fragment Shader使用的常量数据

Samplers:一个表示纹理的常量数据

Shader program:Fragment shader程序源码或可执行文件,它描述了将在fragment上执行的操作。

展开内容

类似软件

  • PHP Generator for MySQL Professional(PHP代码生成器)

    9.1/24.44M

    PHP Generator for MySQL Professional是一款功能实用的PHP代码生成器,它为用户们提供了MySQL数据库的PHP脚本生成服务,通过它用户可以非常轻松且高效的完成数据库层的构建工作,把更多的时间花费在业务逻辑层!

  • zookeeperr(分布式应用程序协调服务)

    9.0/22.38M

    zookeeper是一个开源的分布式应用程序协调服务,是Google的chubby一个开源的实现,是Hadoop和Hbase的重要组成部件。除了能够为用户的分布式应用提供一致性的服务,还能够进行配置维护、域名服务、分布式同步等等功能,对于开发人员来说,这款软件是一个非常高效可靠的

  • Telerik Collection for .NET 2023(.Net开发插件)

    9.1/3.52G

    Telerik(.Net开发插件)是一款著名的.NET Web第三方控件,包含在线HTML编辑,文本输入,数据视图。Telerik 专注于微软.Net平台的表示层与内容管理控件,提供高度稳定性和丰富性能的组件产品DevCraft,并可应用在非常严格的环境中,创建数据丰富的Web应

  • ProGuard官方版

    9.5/30.62M

    ProGuard官方版是一款非常实用的APK加固和代码混淆工具,它可以通过对源代码进行混淆和优化,使代码变得更加难以理解和逆向工程,并提高应用程序的安全性。ProGuard使用高级算法和技术,对Java源代码进行混淆,它会对类名、方法名、变量名等进行重命名,以增加代码的复杂性和混

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • Android逆向助手官方版

    9.6/15.2M

    Android逆向助手是针对安卓平台而开发的一款逆向辅助软件,也是当前apk反编译工具中非常不错的一款工具。目前支持的功能有进行apk反编译打包签名;dex/jar互转替换提取修复;so反编译;xml、txt加密;字符串编码等。

  • Hutool工具包

    9.1/2.99M

    Hutool工具包是一个Java工具集,软件类似于jodd和Apache commons lang的Java工具类。Hutool工具包对文件、流、加密解密、转码、正则、线程、XML、日期、Http客户端 等 JDK 方法进行封装,组成各种 Util 工具类。

  • zprotect(软件加壳工具)

    8.8/8.99M

    软件的加密设置菜单中包括文件信息、常规选项、高级选项、代码保护、插件管理和程序设置,你可以利用这些功能轻松地加密软件。

  • visual paradigm(UML建模和CASE工具)

    9.0/756.21M

    visual paradigm电脑版是一款功能全面UML建模和CASE工具,软件包括设计共享、数据库设计和线框图等项目管理工具和模型,你可以对团队的能力进行预测,为开发人员提供了更快、更 好、花费更少的高质量程序开发方案,大大简化开发流程。

  • bootstrap框架模板

    9.0/1.41M

    bootstrap框架模板是一款目前非常受欢迎的前段框架,基于用户们熟悉的HTML、CSS、javascript,该框架简洁灵活,使得Web开发变得更加快捷和方便,对于设计师们来说,不但提高了工作质量,也提高了工作效率。

  • junit4 jar包官方版

    9.0/1.6M

    junit4 jar包官方版是junit框架中的第四代,也是最新的一代,同样的也是有史以来最大改进的一代,其主要的目的就是利用java5的Annotation特性简化测试用例的编写,让用户能够快速的完成测试工作,多数的Java开发环境已经继承了我们的junit作为单元测试的工具,

  • LAMP一键安装包完整版

    9.5/195K

    lamp一键安装包是一个基于CentOS/RadHat可以VPS或独立主机上方便,快速安装的Shell脚本程序包,快速安装lamp应用(Apache、MySQL、PHP、phpMyAdmin)的生产环境。

  • findbugs插件

    9.0/8.75M

    findbugs插件是一款开源java静态代码分析工具,能够通过检查java源文件中的类文件或jar文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,通俗的讲就是发现BUG。

  • php超文本预处理器

    9.0/16.34M

    php解释器是一款帮助用户在PHP目录下找到PHP.exe,使用户能够运行.PHP程序的一款软件,许多用户都知道,软件的开发离不开各种编译器,解释器之类的东西,小编带来的这款软件就类似于C++的编译器,不过C++需要手动,而PHP是全自动的,用户只需要调用这款软件就可以轻松的使得

  • Microsoft small basic官方版

    8.9/6.14M

    small basic官方版是一款微软推出的编程语言的最基本概念,对于初学者来说是最容易入手的编程语言,这款编程语言最早是针对儿童推出的免费编程语言,不想Scratch和Alice,这款工具本质上讲是一个简略版本的BASIC语言,该语言脱胎于传统的BASIC语言,但是却基于微软的

  • 寒冰工具箱电脑版

    9.1/70.34M

    寒冰工具箱电脑版是一款由网友寒冰制作的汇编工具软件,软件可以查询中断,汇编指令,集成了汇编工具,非常好用。同时寒冰工具箱电脑版还提供了中断表、指令、安装emu8086、emu注册码、win下dos环境和汇编环境,可以帮助用户轻松解决日常的汇编问题,提高你的汇编效率。

  • EJ Technologies Perfino(jvm监控软件)

    9.1/105.37M

    EJ Technologies Perfino,简称Perfino。这是一款功能强大的JVM监测工具,不仅对JVM进行侦测,为您提供监控多个java虚拟机之间的活动和相互作用的方式,还可以对业务事务进行记录。

  • RubyInstaller(ruby语言环境)

    9.1/18.68M

    RubyInstaller是一款非常实用的编程环境搭建程序,功能非常强大,界面简洁明晰、操作方便快捷,不仅为用户提供了齐全的开发工具,还简化了Web应用的开发,拥有着比JAVA还要快速的开发效率。

  • Cygwin(UNIX环境模拟软件)

    9.6/1.3M

    Cygwin是一款可以让用户在windows系统中使用Unix代码的模拟环境软件

  • Jailer数据文件提取工具

    9.1/38.09M

    Jailer是一款功能十分强大的智能数据提取工具,它可以帮助你从关系数据库中直接导出连续、相关的行数据,然后你可以将这些数据直接在你自己的开发测试环境使用,并且支持DB2、Firebird、Derby等应用,例如你可以在不损害其它数据完整性的情况下删除某一特定数据行从而提高数据库