本文共 1496 字,大约阅读时间需要 4 分钟。
哈,第一个着色器程序,就弄个非常简单,非常快就能够看到效果的吧。就像学习C++时,输出的hello world这般简单吧。
绘制一个恒定着色的没有纹理的茶壶,然后给它添加纹理和更多的颜色。
创建包含着色器程序的特效组
选择Effect Group w/ OpenGL Effect,如果想用DirectX,可以选上面一个。没什么关系,我基本上只接触OpenGL,而且只准备学习GLSL,so,我就选择我的选择了,哈哈。
完成上述后,就会发现预览窗口已经有东西被渲染好了。这个不奇怪,Render Monkey会自动用一个小而简单的着色器程序来填充特效组。得到结果如下:
不过咱们可是要从零开始构建,so,请把特效组下所有的结点给删除吧。亲亲……删除期间会有错误蹦出,别管他。。
我选了teapot.3ds,你要选什么,看你了……
教材上说的是:设置模型后,需要告诉Render Monkey模型的几何信息是如何被发送给顶点着色器的。
默认的顶点结构映射只包含位置信息,双击顶点结构映射,在弹出的对话框内可以添加其他的映射信息,比如可以添加法线,纹理坐标,对于当前要开发的shader 来说是足够的了。
我只找到了stream mapping,好吧,感觉翻译不对,还是什么问题。不管了,往下走。
右击Effects,添加stream mapping。双击,则出现对话框了,看看吧。我添加了法线和纹理坐标。这个里面按钮的功能,大家根据字面意思应该懂吧。Add——添加,Reset重新设置,Usage不知道怎么翻译,不过下面选择的是:顶点结构映射的信息。后面的X是删除,然后旁边的上、下按钮是调节其参数信息的位置的。对点击一下就能够发现了。
因为此时我们的shader很基础,只需要添加一个变量,即相机透视变换矩阵。
view-projection matrix,在图形学中,是通过相机变化矩阵和透视变换矩阵相乘而得。
同样步骤,右击Effects,在Add variable中选择matrix,->predefined,然后就可以选择了view-projection matrix。
要添加一个渲染pass,右击特效节点,选择添加pass。
这样就会为你创建一个新的pass,该pass 由默认参数进行填充(所谓默认,就是做顶点着色器最基本的步骤,即将物体变换到齐次裁剪空间)。
现在删除这个pass 中的所有元素,我们来从0开始重新创建它的元素。
目的:需要告诉渲染pass,它在这个阶段需要采用哪一个模型,哪一个顶点结构映射。
可以直接添加模型以及顶点结构映射,也可以先添加Stream Mapping Reference和Model Reference,然后指定引用结点为任一你所拥有的结点,顶点结构映射也会一个道理。
新创建的顶点着色器,像素着色器将会被添加一些默认的代码,可以添加自己的代码,不过现在还没有到学习代码的阶段,所以,就先使用默认的了。
5、点击 Preview Window,就出现效果了。
可以看看顶点着色器和像素着色器中的代码,很简单。嗯嗯,这个部分就介绍完了,贴纹理什么的,等下午看看。。
嗯嗯,下面共享一个文件,是我学习这个的资料。不过,资料很少,但是能够让我们了解一下其框架。
http://download.csdn.net/detail/smbluesky/7401961