认识着色器opengl es的着色器有.fsh和.vsh两个文件。这两个文件在被编译和链接后就可以产生可执行程序与GPU交互。.vsh 是顶点shader,用与顶点计算,可以理解控制顶点的位置,在这个文件中我们通常会传入当前顶点的位置,和纹理的坐标。例如: 1 attribute vec4 posi...
分类:
其他好文 时间:
2014-09-01 19:11:13
阅读次数:
369
在OpenGL中,sampler2D/Cube等做为uniform可以在fragment shader中使用。结合glActiveTexture和glUniform1i,实现texture与sampler的绑定。
正常情况下的使用,可以参照各种GLSL教程里的例子。这里说一下非正常情况下在shader中使用多个sampler。...
分类:
其他好文 时间:
2014-09-01 17:55:31
阅读次数:
307
详细解释在3D图形学中,Shader是如何工作的,通过本片文章,你将会对对Shader的内在运行机制了如指掌。...
分类:
其他好文 时间:
2014-08-31 21:32:51
阅读次数:
371
本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面...
分类:
其他好文 时间:
2014-08-31 18:43:21
阅读次数:
246
本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面...
分类:
其他好文 时间:
2014-08-29 13:09:37
阅读次数:
273
概述简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码。Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的出现可以看作是实时渲染技术的一次革命。在现代主流3D引擎中,Shader已经无处不在,例如镜头景深,动...
分类:
其他好文 时间:
2014-08-27 23:26:18
阅读次数:
262
在deferred shading 和post process 阶段, 通常要做的一件事情就是讲裁减空间坐标转换到屏幕空间的纹理坐标.这里面通常的做法就是Vertex Shader 输出clip space position 到pixel shader.pixel shader 做除法,然后再 + ...
分类:
其他好文 时间:
2014-08-26 15:10:16
阅读次数:
266
本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。========================================== 分割线 ==========================================写在前面...
分类:
其他好文 时间:
2014-08-25 21:15:21
阅读次数:
279
最近入门学习shader,语法倒没什么,有一个奇怪的问题,如果把编译平台从pc转换为android模式的话,如果你的shader 带 Normal Mapping 的 话,效果和android上的真机不一样。 上图: google 了一下,找到了解决方案: http://forum...
分类:
移动开发 时间:
2014-08-25 20:46:34
阅读次数:
241
1.不透明度
当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们已经知道了片段着色器以及后面的环节的主要工作是输出颜色与深度到帧缓存中,所以两个纹理在每个像素上的颜色到底以怎样的形式混合在一起最后输出到帧缓存中是我们现在首要讨论的内容。
1.混合(blending)
上一篇文章中的管道环节中的“逐帧操作”环节中的一项操作就是混合操作,可见混合操作是不可编程的固定功能环节。
在混合操作中,我们将片段着色器中计算出来的颜色称之为 “源颜色”,帧缓存中对应的像素已经存在...
分类:
其他好文 时间:
2014-08-22 19:44:29
阅读次数:
206