
OpenGL ES
kunluo
这个作者很懒,什么都没留下…
展开
-
理解GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN绘制三角形序列的三种方式
一般情况下有三种绘制一系列三角形的方式,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP和GL_TRIANGLE_FAN。如下图所示:GL_TRIANGLES是以每三个顶点绘制一个三角形。第一个三角形使用顶点v0,v1,v2,第二个使用v3,v4,v5,以此类推。如果顶点的个数n不是3的倍数,那么最后的1个或者2个顶点会被忽略。转载 2017-04-19 12:14:01 · 6352 阅读 · 0 评论 -
OpenGL光源光照使用范例
1. 光照模型 环境光——经过多次反射而来的光称为环境光,无法确定其最初的方向,但当特定的光源关闭后,它们将消失.全局环境光——每个光源都能对场景提供环境光。此外,还有一个环境光,它不来自任何特定的光源,称之为全局环境光。这也就是为什么我们不加任何自定义光源,也能看见绘制的物体的原因。散射光——来自同一方向,照射到物体表面后,将沿各个方向均匀反射,因此,无论从哪个方向观转载 2017-05-07 17:04:55 · 1063 阅读 · 0 评论 -
OpenGL 镜面反射光
转载地址:http://www.2cto.com/kf/201611/561551.html背景我们在计算环境光的时候,光的强度是唯一的影响因素。然后处理漫射光的时候公式中加入了光的方向参数。镜面反射包含了上面所有的综合因素并且添加了一个新的元素:观察者的位置。镜面反射时光以一定角度照射到物体表面,同时会在法线的另一侧对称的角度上反射出去,如果观察者刚好在反射光线的路径上那转载 2017-05-07 17:08:12 · 1751 阅读 · 0 评论 -
STATIC_DRAW, DYNAMIC_DRAW, STREAM_DRAW的区别
Opengl ES 缓冲区对象允许usage标示符取以下9种值:GL_STATIC_DRAW,GL_STATIC_READ,GL_STATIC_COPYGL_DYNAMIC_DRAW,GL_DYNAMIC_READ,GL_DYNAMIC_COPYGL_STREAM_DRAW,GL_STREAM_READ,GL_STREAM_COPY"Static”意味着VBO中的数转载 2017-05-31 10:17:43 · 1745 阅读 · 0 评论 -
glCullFace与glPolygonMode
void glCullFace(GLenum mode); 参数 mode 指定应剔除多边形的哪一个面,不是GL_FRONT就是GL_BACK。 作用:本函数可以禁用多边形正面或背面上的光照、阴影和颜色计算及操作,消除不必要的渲染计算,因为无论对象如何进行旋转或变换,都不会看到多边形的背面。用GL_CULL_FACE参数调用glEnable和glDisable可以启用或禁用剔除。转载 2017-05-31 10:26:16 · 1721 阅读 · 0 评论 -
VBO与PBO,DMA异步快速传递
VBO(Vertex Buffer Array): OpenGL存储顶点数据的高速缓存,可减少渲染时间,相关APIs如下(OpenGL ES 2.0以上)1234GLES20.glGenBuffers(1, vboId, 0);//申请GLES20.glBindBuffer(GLES30.GL_ARRAY_BUFFER, vboId[0]);//绑定GL转载 2017-05-31 10:38:09 · 1590 阅读 · 0 评论 -
纹理过滤函数glTexParameteri
OpenGL——纹理过滤函数glTexParameteri()图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.glTexParameteri(int target, int pname, int param)target —— 目标纹理,必转载 2017-05-31 20:02:19 · 1099 阅读 · 0 评论