随笔分类 -  [2]OpenGL|ES

摘要:OpenGL值绘制三角形的方式常用的有三种,分别是GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN,其效果如依次是: 从左起:第一个方式是GL_TRIANGLES,第二个是GL_TRIANGLE_STRIP,第三个是GL_TRIANGLE_FAN。(一般规 阅读全文
posted @ 2017-09-07 15:23 bky2016 阅读(4981) 评论(0) 推荐(0)
摘要:投影矩阵元素Projection Matrix 投影矩阵构建: 当f趋向于正无穷时: 一个重要的事实是,当f趋于正无穷时,在剪裁空间中点的z坐标跟w坐标相等。计算方法如下: 经过透视除法后,z坐标变为1,这意味着被投影的点正好投影到远平面上,其中透视除法是点的x,y,z,w分别除以w。 阅读全文
posted @ 2017-09-04 18:23 bky2016 阅读(647) 评论(0) 推荐(0)
摘要:OpenGL ES平移矩阵和旋转矩阵的左乘与右乘 在OpenGL 、OpenGL ES中矩阵起着举足轻重的作用,而矩阵之间的左乘与右乘在效果上是不同的。 一、先平移后旋转 场景效果:人绕树旋转。 原理:以树为参考点,首先将人平移到树坐标系的指定位置(平移矩阵),然后旋转一定角度(旋转矩阵)。 公式: 阅读全文
posted @ 2017-08-06 20:45 bky2016 阅读(3247) 评论(0) 推荐(0)
摘要:饱和度saturation,是指色彩的鲜艳程度,也称色彩的纯度。饱和度取决于该色中含色成分和消色成分(灰色)的比例。含色成分越大,饱和度越大;消色成分越大,饱和度越小。纯的颜色都是高度饱和的,如鲜红,鲜绿。混杂上白色,灰色或其他色调的颜色,是不饱和的颜色,如绛紫,粉红,黄褐等。完全不饱和的颜色根本没 阅读全文
posted @ 2017-05-09 10:53 bky2016 阅读(624) 评论(0) 推荐(0)
摘要:核心代码: 其中exposure的取值范围为[-10,10] https://github.com/BradLarson/GPUImage 阅读全文
posted @ 2017-05-09 10:42 bky2016 阅读(473) 评论(0) 推荐(0)
摘要:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,图像越鲜亮,差异范围越小代表对比越小,图像越灰。 GPUImage中实现了对比度调整的Filter,其核心代码如下(fragment): 其中contrast的取值范围为[0,4]。 阅读全文
posted @ 2017-05-09 10:34 bky2016 阅读(943) 评论(0) 推荐(0)
摘要:亮度brightness其实是对RGB的调整,RGB值越大,效果越亮;反之则越暗。 GPUImage中提供了对图像亮度调整的Filter,其核心代码如下(fragment): 其中brightness的取值范围为[-1,1] 阅读全文
posted @ 2017-05-09 10:25 bky2016 阅读(945) 评论(0) 推荐(0)
摘要:熟悉OpenGL|ES的朋友,可能会经常设置摄像机的view矩阵,iOS中相对较好,已经封装了方向,只需要设置摄像机位置,目标点位置以及UP向量即可。下面先介绍下摄像机view矩阵的计算原理。此处假设知道摄像机位置eye,目标点位置target以及UP向量。 主要是u,v,w三个向量的计算: 1. 阅读全文
posted @ 2017-03-30 11:41 bky2016 阅读(1673) 评论(0) 推荐(0)
摘要:一、使用背景 近期在Xcode中使用OpenGL ES 2.0实现一些效果,刚开始存在一些性能问题(CPU和GPU),幸运的是Xcode中自带了免费的性能工具Instruments,其中包含OpenGL ES Analysis,查找方法如图1,图2所示,英文好的童鞋可以访问Apple官方提供的资料( 阅读全文
posted @ 2017-03-18 19:27 bky2016 阅读(2363) 评论(0) 推荐(0)
摘要:模板测试的主要功能是丢弃一部分片元,相对于深度检测来说,模板测试提出的片元数量相对较少。模板测试发生在剪裁测试之后,深度测试之前。 使用模板测试时很重要的代码提示: 大多数情况你的模板遮罩(stencil mask)写为0x00或0xFF就行。 glStencilMask允许我们给模板值设置一个位遮 阅读全文
posted @ 2016-12-26 16:00 bky2016 阅读(628) 评论(0) 推荐(0)
摘要:三维场景中对于渲染效果不是很精致的物体可以使用BillBoard技术实现,使用该技术需要将物体实时朝向摄像机,即计算billboard的旋转矩阵M。 首先根据摄像机位置cameraPos和billBoard中心点的坐标centerPos,计算出向量look = centerPos - cameraP 阅读全文
posted @ 2016-12-21 14:32 bky2016 阅读(863) 评论(0) 推荐(0)
摘要:OpenGL中使用的矩阵全为列向量为主的矩阵。 参考OpenGL变换网站为 http://www.songho.ca/opengl/gl_transform.html 1.什么是GL_MODELVIEW矩阵? GL_MODELVIEW矩阵是Model矩阵和View矩阵的乘积,即M_modelview 阅读全文
posted @ 2016-09-11 22:39 bky2016 阅读(1498) 评论(0) 推荐(0)
摘要:Normal Mapping 阅读全文
posted @ 2016-06-01 23:28 bky2016 阅读(1820) 评论(0) 推荐(0)
摘要:为缓存提供数据的7个步骤 阅读全文
posted @ 2016-04-19 12:54 bky2016 阅读(541) 评论(0) 推荐(0)