opengl es
lmjssjj
这个作者很懒,什么都没留下…
展开
-
OpengGL ES 背面剪裁和卷绕
背面剪裁和卷绕所谓背面剪裁是指渲染管线(道)在对构成立体物体的三角形图元进行绘制时,仅当摄像机观察点位于三角形正面的情况下才绘制三角形;若观察点位于背面则不进行绘制。(看不到的不进行绘制) 优点:打开背面剪裁后,在大部分情况下可以提高渲染效率,去除大量不必要的渲染工作。OpenGL ES中规定当摄像机观察一个三角形面时,若三角形中的3个顶点的卷绕顺序是逆时针则摄像机观察其正面,反之摄像机观察其反面原创 2017-11-13 15:28:51 · 677 阅读 · 0 评论 -
OpenGL ES 纹理压缩之ETC (一)
纹理压缩之ETC首先来看看一张512像素X 512像素的图片占用的内存大小 512像素X 512像素的纹理图片所占用的内存大小为:512 X 512 X 4(一个像素4个字节) / 1024KB = 1MB一张512 X 512 (像素)图片在内存将占用了1M 内存所谓纹理压缩是指将应用开发中的一些纹理图片资源(可png、jpe等) 采用特定工具转为特殊的压缩纹理格式,在应用运行时,直接将压缩格原创 2017-11-13 15:49:50 · 4140 阅读 · 1 评论 -
OpenGL ES 纹理压缩之ETC (二)
前面介绍了OpenGL ES2.0 支持的压缩ETC1;下面我们来学习一下ETC2。从opengl es3.0 开始支持ETC2纹理压缩,而这种压缩可以支持透明通道。下面看如何使用加载pkm文件public static byte[] loadDataFromAssets(String fname, Resources r){ byte[] data=null; In原创 2017-11-13 16:40:42 · 7104 阅读 · 0 评论 -
OpenGL ES 光照(二)
散射光(Diffuse):从物体表面向全方位360度均匀反射的光,反射后的散射光在各个方向是均匀的,但反射光的反射强度与入射光的强度以及入射角度密切相关。垂直地照射到物体表面时比斜照时要亮。散射光具体计算公式:其中设光照入射角为α. 散射光照射结果=材质的反射系数×散射光强度×max(cosα,0)实际开发分两步计算散射光最终强度=散射光强度×max(cosα,0)散射光照射结果=材质的反射原创 2017-11-17 15:18:22 · 362 阅读 · 0 评论 -
OpenGL ES 光照(三)
镜面光(Specular):当光滑物体表面被照射时会有方向很集中的反射光镜面光的最终强度依赖于入射光、观察者的位置镜面光的计算模型比前面的两种光都要复杂一些,具体公式如下。镜面光照射结果=材质的反射系数×镜面光强度×max(0,(cos(半向量与法向量的夹角)) ^粗糙度)实际开发中往往分两步进行计算,此时公式被拆解为如下情况。镜面光最终强度=镜面光强度×max(0,(cos(半向量与法向量的夹原创 2017-11-17 15:27:18 · 339 阅读 · 0 评论 -
OpenGL ES 光照(一)
Opengl es 基本光照Opengl es 中将光照分成了3种组成元素(3个通道),环境光、散射光以及镜面光。 环境光(Ambient): 物体周围的光线,从四面八方照射到物体上,全方位360度都是均匀的光,不依赖于光源位置,而且没有方向性。环境光不但入射均匀,反射各向也均匀。数学模型公式:环境光照射结果 = 材质的反射系数 × 环境光强度顶点着色器#version 300 esun原创 2017-11-17 14:50:48 · 523 阅读 · 0 评论