2.顶点着色器
顶点着色器(vertex shader)是一个在显卡的GPU上执行的程序,它替换了固定功能管道(fixed function pipeline)中的变换(transformation)和光照(lighting)阶段(这不是百分之百的正确,因为顶点着色器可以被Direct3D运行时(Direct3D runtime)以软件模拟,如果硬件不支持顶点着色器的话)。图2.1说明了管线中顶点着色器替换的部件。
图2.1
由于顶点着色器是我们(在HLSL中)写的一个自定义程序,因此我们在图形效果方面获得了极大的自由性。我们不再受限于Direct3D的固定光照算法。此外,应用程序操纵顶点位置的能力也有了多样性,例如:布料仿真,粒子系统的点大小操纵,还有顶点混合/变形。此外,我们的顶点数据结构更自由了,并且可以在可编程管线中包含比在固定功能管线中多的多的数据。
正如作者所在群的公告所说,“拍照不在于你对相机使用的熟练程度,而是在于你对艺术的把握。”之前的介绍使读者对着色器的编写和使用都有了一定的了解,下面我们将把重心从介绍如何使用着色器转到如何实现更高级的渲染效果上来。
本文介绍了顶点着色器(vertex shader)的概念及其在图形渲染中的应用。顶点着色器作为GPU上的程序,取代了固定功能管道中的变换和光照阶段,赋予开发者在图形效果上更大的自由度。文章还探讨了顶点着色器在布料仿真、粒子系统等场景中的应用。
4179

被折叠的 条评论
为什么被折叠?



