CG着色器语言的所有数学类函数,及函数内部代码实现
写的都很巧妙,可以用“微量高效”来形容,值得我们学习
分类:
编程语言 时间:
2015-01-14 22:47:11
阅读次数:
417
上篇文章中我们已经说到,表面着色器将分为两次讲解,上一篇文章中介绍了表面着色器的基本概念和一些写法,用内置的兰伯特光照模式来进行Surface Shader的书写,而本文将介绍Surface Shader+自定义的光照模式的写法...
分类:
编程语言 时间:
2015-01-11 21:43:33
阅读次数:
366
本文主要讲解了Unity中SurfaceShader的自定义光照模式的写法。
上篇文章中我们已经说到,表面着色器将分为两次讲解,上一篇文章中介绍了表面着色器的基本概念和一些写法,用内置的兰伯特光照模式来进行Surface Shader的书写,而本文将介绍Surface Shader+自定义的光照模式的写法。
OK,言归正传,依然是先来看看本文配套的游戏场景截图。
运行游戏,音乐响起,金黄色的丰收之秋映入眼帘:
远方:
池塘:
参天大树:
小型村落:...
分类:
编程语言 时间:
2015-01-11 17:49:54
阅读次数:
566
这周学了好多。包括伪随机数。柏林噪声。先说伪随机数。伪随机数我们用的是周期函数而不是那种由前一项乘一个超大的数取余数的方法。使用周期函数的好处就是可以让其随时间均匀变化。不过使用周期函数一定要保证周期非常长,不然就会出现重复的图样。这是我在网上找到的一个伪随机函数:cos(x * (12.9898)...
分类:
其他好文 时间:
2015-01-09 20:55:54
阅读次数:
558
最近开发中用到了像素着色器,我写了一个文本数据用 D3DXCompileShaderFromFile 对其进行编译,当我设置为 ps_2_0 时一切正常。
因程序需要编写更多的分支语句,而ps_2_0的指令数等受限,因此我想改为 ps_3_0 版本编译,编译正常【我对硬件进行了测试,它是支持 ps_3_0的】。
运行时发现:ps_2_0 图像显示正确;使用ps_3_0 时,图像显示错误,为一张...
分类:
其他好文 时间:
2015-01-08 15:20:53
阅读次数:
169
简述FrameBuffer,RenderBuffer,Depth Buffer,Framebuffer attachment,Stencil buffer的关系简述利用OpenGL执行图像叠加(大PNG图像叠加有alpha通道的小PNG图像),写出步骤列出着色器的四个内置变量和十个内置函数OpenG...
分类:
其他好文 时间:
2015-01-07 09:15:32
阅读次数:
144
着色器(Shader)顶点着色器(Vertex shader)片段着色器(Fragment shader)几何着色器(Geometry Shader)提供通用计算能力的着色器(Compute Shader)顶点着色器(Vertex Shader)每个顶点都要执行一次Vertex Shader。 它的...
分类:
其他好文 时间:
2015-01-06 20:01:51
阅读次数:
188
1、着色器有些着色器可能是处理器密集型的,因此最好为材质指定移动设备专用的着色器。打开模型下的材质目录,我们可以找到每个模型的材质。选择列表中的每一个材质,将着色器从Diffuse修改为Mobile/Diffuse。2、光源为场景添加光源时要考虑一下,因为有渲染开销。如果你以前做过着色器编程,你会知...
分类:
编程语言 时间:
2015-01-04 21:19:16
阅读次数:
532
我决定开个新坑了。以后每周五更新。这是GLSL的学习周记!GLSL就是OPENGL SHADER LANGUAGE的简称,就是着色器语言。着色器是一种交给显卡运行的小程序,这种小程序可以用GLSL来写,写好后交给OPENGL编译,就可以在显卡上运行了。那么问题来了!为什么要给显卡运行呢?显卡是一种特...
分类:
其他好文 时间:
2015-01-02 22:20:12
阅读次数:
556
本文主要讲解了Unity中SurfaceShader的具体写法,以及几个常用的CG函数的用法。
在这里先说明一下,表面着色器将分为两次讲解,本文介绍表面着色器的基本概念和一些写法,用内置的兰伯特光照模式来进行Surface Shader的书写,而下次将介绍Surface Shader+自定义的光照模式的写法。...
分类:
编程语言 时间:
2014-12-29 20:08:34
阅读次数:
363