当前位置: 首页 > news >正文

随州网站制作价格建个购物网站要多少钱

随州网站制作价格,建个购物网站要多少钱,网站内网页标题对百度排名,网站建设计划图文章目录什么是OpenGL ES#xff1f;OpenGL ES可以做什么#xff1f;OpenGL ES版本及Android支持情况OpenGL ES 2.0的优点OpenGL ES 2.0中基本概念顶点着色器片元着色器着色器语言坐标系图形的绘制投影光照纹理映射其它OpenGL ES 2.0过程及理解什么是OpenGL ES#xff1f; O… 文章目录什么是OpenGL ESOpenGL ES可以做什么OpenGL ES版本及Android支持情况OpenGL ES 2.0的优点OpenGL ES 2.0中基本概念顶点着色器片元着色器着色器语言坐标系图形的绘制投影光照纹理映射其它OpenGL ES 2.0过程及理解什么是OpenGL ES OpenGL全写Open Graphics Library是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像二维的亦可是一个功能强大调用方便的底层图形库。 OpenGL在不同的平台上有不同的实现但是它定义好了专业的程序接口不同的平台都是遵照该接口来进行实现的思想完全相同方法名也是一致的所以使用时也基本一致只需要根据不同的语言环境稍有不同而已。OpenGL这套3D图形API从1992年发布的1.0版本到目前最新2014年发布的4.5版本在众多平台上多有着广泛的使用。 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集针对手机、PDA和游戏主机等嵌入式设备而设计。 OpenGL ES相对于OpenGL来说减少了许多不是必须的方法和数据类型去掉了不必须的功能对代价大的功能做了限制比OpenGL更为轻量。在OpenGL ES的世界里没有四边形、多边形无论多复杂的图形都是由点、线和三角形组成的也去除了glBegin/glEnd等方法。 OpenGL ES可以做什么 OpenGL ES是手机、PDA和游戏主机等嵌入式设备三维二维也包括图形处理的API当然是用来在嵌入式设备上的图形处理了OpenGL ES 强大的渲染能力使其成为我们在嵌入式设备上进行图形处理的优良选择。我们经常使用的场景有 图片处理。比如图片色调转换、美颜等。摄像头预览效果处理。比如美颜相机、恶搞相机等。视频处理。摄像头预览效果处理可以这个自然也不在话下了。3D游戏。比如神庙逃亡、都市赛车等。 OpenGL ES版本及Android支持情况 OpenGL ES当前主要版本有1.0/1.1/2.0/3.0/3.1。这些版本的主要情况如下 OpenGL ES1.0是基于OpenGL 1.3的OpenGL ES1.1是基于OpenGL 1.5的。ndroid1.0和更高的版本支持这个API规范。OpenGL ES 1.x是针对固定硬件管线的。OpenGL ES2.0是基于OpenGL 2.0的不兼容OpenGL ES 1.x。Android 2.2(API 8)和更高的版本支持这个API规范。OpenGL ES 2.x是针对可编程硬件管线的。OpenGL ES3.0的技术特性几乎完全来自OpenGL 3.x的向下兼容OpenGL ES 2.x。Android 4.3(API 18)及更高的版本支持这个API规范。OpenGL ES3.1基本上可以属于OpenGL 4.x的子集向下兼容OpenGL ES3.0/2.0。Android 5.0API 21和更高的版本支持这个API规范。 OpenGL ES 2.0的优点 由于OpenGL ES 3.x都向下兼容OpenGL ES 2.0加上当前Android手机主流虽然是4.4但是依旧不乏存在Android2.3、Android4.0的“老爷机”。所以学习OpenGL ES选择2.0版本是一个相对最佳的选择。当然虽然OpenGL ES 2.0并不兼容OpenGL ES 1.x但是它们在使用上有着很多共通之处。 相对OpenGL ES 1.xOpenGL ES 2.0进行了大变革更具灵活性功能也更强大并且渲染效率更高效果更好。当然灵活性可能会让你觉得使用起来比OpenGL ES 1.x复杂许多。 OpenGL ES 2.0中的“顶点着色器”取代了OpenGL ES 1.x中的“变换和光照阶段”“片元着色器”取代了“纹理颜色和环境求和”、“雾”、“Alpha测试”等阶段。使得原来又OpenGL ES 1.x固定的阶段需要用户自己开发着色器处理虽然在一定的程度上增加了代码复杂度但是灵活性却大大增加同时也能够处理OpenGL ES 1.x中难以完成的处理任务。 下图是OpenGL ES 1.x的固定渲染管线及OpenGL ES 2.0的可编程渲染管线图 OpenGL ES 2.0中基本概念 学习OpenGL ES 2.0需要知道OpenGL ES 2.0相关的一些概念及知识。 在上段中提到了OpenGL ES 2.0相对1.x全新的两个重要东西——顶点着色器和片元着色器。 顶点着色器 着色器Shader是在GPU上运行的小程序。从名称可以看出可通过处理它们来处理顶点。此程序使用OpenGL ES SL语言来编写。它是一个描述顶点或像素特性的简单程序。 对于发送给GPU的每一个顶点都要执行一次顶点着色器。其功能是把每个顶点在虚拟空间中的三维坐标变换为可以在屏幕上显示的二维坐标并带有用于z-buffer的深度信息。顶点着色器可以操作的属性有位置、颜色、纹理坐标但是不能创建新的顶点。 顶点着色器的输入输出模型如下 片元着色器 片元着色器计算每个像素的颜色和其它属性。它通过应用光照值、凹凸贴图阴影镜面高光半透明等处理来计算像素的颜色并输出。它也可改变像素的深度(z-buffering)或在多个渲染目标被激活的状态下输出多种颜色。一个片元着色器不能产生复杂的效果因为它只在一个像素上进行操作而不知道场景的几何形状。 片元着色器的输入输出模型如下 着色器语言 着色器语言Shading Language是一种高级的图形编程语言仅适合于GPU编程其源自应用广泛的C语言。对于顶点着色器和片元着色器的开发都需要用到着色器语言进行开发。它是面向过程的而非面向对象。 关于着色器语言中的变量、语法在以后使用过程中会提及。想要系统的学习着色器语言请查阅其他相关博文和书籍。 坐标系 OpenGL ES采用的是右手坐标选取屏幕中心为原点从原点到屏幕边缘默认长度为1也就是说默认情况下从原点到1,0,0的距离和到0,1,0的距离在屏幕上展示的并不相同。即向右为X正轴方向向左为X负轴方向向上为Y轴正轴方向向下为Y轴负轴方向屏幕面垂直向上为Z轴正轴方向垂直向下为Z轴负轴方向。 图形的绘制 前面提到OpenGL ES2.0的世界里面只有点、线、三角形其它更为复杂的几何形状都是由三角形构成的。包括正方形、圆形、正方体、球体等。但是其他更为复杂的物体我们不可能都自己去用三角形构建这个时候就需要通过加载利用其他软件比如3DMax构建的3D模型。 投影 OpenGL ES 的世界是3D的但是手机屏幕能够给我展示的终究是一个平面只不过是在绘制的过程中利用色彩和线条让画面呈现出3D的效果。OpenGL ES将这种从3D到2D的转换过程利用投影的方式使计算相对使用者来说变得简单可设置。 OpenGL ES中有两种投影方式正交投影和透视投影。正交投影物体不会随距离观测点的位置而大小发生变化。而透视投影距离观测点越远物体越小距离观测点越近物体越大。 光照 如果利用直接给出颜色的方式来对3D场景中的物体进行着色渲染很难使3D场景拥有较强的真实感。一般来说曲面物体比平面物体更能体现出光照效果。想用数学模型完全模拟真实世界的光照情况是很难的而OpenGL ES 2.0采用的光照模型相对真实世界的光照是进行了很大的简化。在OpenGL ES 2.0中光照由三种元素组成也可以说是三种通道组成分别为环境光、镜面光及散射光。 环境光是指从四面八方照射到物体上其具体公式为 环境光照射结果材质反射系数∗环境光强度环境光照射结果材质反射系数∗环境光强度环境光照射结果材质反射系数∗环境光强度散射光是指现实世界中组草的物体表面被光照射时反射光在各个方向基本均匀的情况其具体公式为 散射光照射结果材质的反射系数∗散射光强度∗max(cos(入射角)0)散射光照射结果材质的反射系数∗散射光强度∗max(cos(入射角)0)散射光照射结果材质的反射系数∗散射光强度∗max(cos(入射角)0) 实际开发中往往分两步计算 散射光最终强度散射光强度∗max(cos(入射角)0)散射光最终强度散射光强度∗max(cos(入射角)0) 散射光最终强度散射光强度∗max(cos(入射角)0) 散射光照射结果材质的反射系数∗散射光最终强度散射光照射结果材质的反射系数∗散射光最终强度 散射光照射结果材质的反射系数∗散射光最终强度镜面光是指现实世界中光滑的表面被照射时会有方向很集中的反射光与散射光最终强度依赖于入射光与被照射点的法向量夹角不同镜面光的强度还依赖于观察者的位置具体公式如下 镜面光照射结果材质的反射系数∗镜面光强度∗max(0,cos(半向量与法向量的夹角)粗糙度)镜面光照射结果材质的反射系数∗镜面光强度∗max(0,cos(半向量与法向量的夹角)^{粗糙度})镜面光照射结果材质的反射系数∗镜面光强度∗max(0,cos(半向量与法向量的夹角)粗糙度) 实际开发中也是往往分两步计算 镜面光最终强度镜面光强度∗max⁡(0,cos⁡(半向量与法向量的夹角)粗糙度)镜面光最终强度镜面光强度∗\max(0,\cos(半向量与法向量的夹角)^{粗糙度}) 镜面光最终强度镜面光强度∗max(0,cos(半向量与法向量的夹角)粗糙度) 镜面光照射结果材质的反射系数∗镜面光最终强度镜面光照射结果材质的反射系数∗镜面光最终强度镜面光照射结果材质的反射系数∗镜面光最终强度 纹理映射 现实世界中的物体往往是绚丽多彩的要模拟现实世界的绚丽多彩绘制出更加真实、酷炫的3D物体就需要用到纹理映射了。纹理映射是将2D的纹理映射到3D场景中的立体物体上。 其它 其它更多的诸如3D模型加载、贴图、阴影、粒子、混合与雾、标志板、天空盒和与天空穹等知识后续学习使用时再详细介绍。 OpenGL ES 2.0过程及理解 从OpenGL ES 2.0的渲染管线图中可以看到OpenGL ES 2.0渲染过程为 读取顶点数据——执行顶点着色器——组装图元——光栅化图元——执行片元着色器——写入帧缓冲区——显示到屏幕上。 OpenGL作为本地库直接运行在硬件上没有虚拟机也没有垃圾回收或者内存压缩。在Java层定义图像的数据需要能被OpenGL存取因此需要把内存从Java堆复制到本地堆。 顶点着色器是针对每个顶点都会执行的程序是确定每个顶点的位置。同理片元着色器是针对每个片元都会执行的程序确定每个片元的颜色。 着色器需要进行编译然后链接到OpenGL程序中。一个OpenGL的程序就是把一个顶点着色器和一个片段着色器链接在一起变成单个对象。 转自湖广午王https://wuwang.blog.csdn.net/article/details/52793354
http://www.zqtcl.cn/news/340864/

相关文章:

  • 做外汇网站代理公关团队
  • wordpress登录页面创建seo网站平台
  • 兰州seo整站优化服务商企业网站seo优化方案
  • 高校网站建设管理制度Wordpress动图主题
  • 手机ui设计网站自己做传奇网站
  • 长春网站建设吉网传媒实力牜网站pv是什么意思
  • 西安网站建设培训班无锡seo报价
  • 网站设计的技能高端品牌网站建设公司哪家好
  • 专门做二手书网站或app陕西交通建设集团官方网站
  • 微信商城怎么开徐州网站推广优化
  • 服装店网站建设规划书山西网站的公司
  • 龙岩做网站改版一般多久wordpress后台登入
  • 网站建设税收编码怎么联系企业的网站建设
  • 色块布局网站首页模板各种网站解决方案
  • 电商建站工具手机编辑网页的软件有哪些
  • 网站腾讯备案吗wordpress英文主题怎么用
  • 网站内容建设的建议wordpress主题enfold
  • 哪里做网站优化石家庄学校网站建设
  • 诸暨北京有哪些网站制作公司wordpress菜单外链
  • 免费建网站的步骤wordpress分享可见内容
  • 成都网站建设公司服务商自己做网站还有出路吗
  • 汉南城乡建设局网站网站建设新手教程
  • 网站用途及栏目说明软件外包公司开发流程
  • 公司做网站做淘宝好还是自建网站好
  • 成功网站案例有哪些淮安市交通建设局网站
  • 购买虚拟机建网站网站开发合同变更
  • 备案的网站做跳转不影响备案把购彩网站建设
  • 2w网站建设模式百度应用市场
  • vps主机访问网站湖南建站网站
  • 滨州正规网站建设公司用r语言 做网站点击热力图