效果框架(4) 摘要: 由于着色器通常是效果文件中的一个关键部分,所以我们在该例程的效果文件中使用了着色器。
效果框架(3) 摘要: 雾化效果(以下简称雾)提高了场景的真实性,可以用它来模拟逼真的天气状况。另外,雾可以大大减少远剪裁面
(far-clip)在视觉上带给观者的不自然的感觉。Direct3D雾化是固定功能管线的一部份,受渲染状态限制。
效果框架(2) 摘要:
对于顶点和像素着色器,我们需要从程序代码中初始化效果文件中的变量以代替使用常量表,就象我们在顶点和像素着色器中做的那样,ID3DXEffect接口中有内建的设置变量的方法。我们这里不会列出所有的设置不同类型变量的方法,因为要完全列出实在是大多了—请查看DirectX
SDK文档以获得完整列表。这里是一个删节的列表:
效果框架(1) 摘要:
一个渲染效果一般由以下部分组成:一个顶点和/或像素着色器,一个需要设置的设备状态列表,一个或更多的渲染通道(rendering
passes)。此外,有一个能在不同级别的图形硬件上渲染效果的可靠机制通常是值得的(也就是说,有不同的可用的效果版本执行同样的效果或尽可能尝试执行同样的效果)。显然,所有这些必要的任务组合在一起成为一个效果。因此,一个合理的做法(步聚)是,设法将这些任务封装到一个单元中。
Direct3D效果构架提供了这样一个机制:将渲染效果的任务封装到一个效果文件。在效果文件中实现效果有两方面优势。其一,它允许我们不必重编译应用程序就能改变一个效果的执行。这是一种更新效果的过程,不管是修正一个bug,一些简单的加强,或者利用最新的3D硬件特性。第二,它将所有的效果组成部分封装到一个文件。