着色器和效果——3.0 介绍像素着色器

第三章 介绍像素着色器

阅读此文表明您已同意文末的声明

像素着色器是在对每个像素进行光栅化处理期间在图形卡的GPU上执行的程序。(不像顶点着色器,Direct3D不会以软件模拟像素着色器的功能。)它实际上替换了固定功能管线的多纹理化阶段the multitexturing stage),并赋予我们直接操纵单独的像素和访问每个像素的纹理坐标的能力。这种对像素和纹理坐标的直接访问使我们可以达成各种特效,例如:多纹理化multitexturing)、每像素光照per pixel lighting)、景深depth of field)、云状物模拟cloud simulation)、焰火模拟fire simulation)、混杂阴影化技巧sophisticated shadowing technique)。

图形卡支持的像素着色器的版本可以通过D3DCAPS9结构的PixelShaderVersion成员和D3DPS_VERSION宏进行检查。下列代码片断展示了这点:

// If the device's supported version is less than version 2.0

if( caps.PixelShaderVersion < D3DPS_VERSION(2, 0) )

     // Then pixel shader version 2.0 is not supported on this device.

目标

n        获得对多纹理化概念的基本理解

n        学习如何编写、创建并使用像素着色器

n        学习如何使用像素着色器实现多纹理化效果

[声明]:本文译自Frank Luna的《Introduction to 3D Game Programming with DirectX 9.0》,限于译者水平,文中难免错漏之处,欢迎各位网友批评指正;本文仅用于学习交流与参考用途,不得用于任何形式的商业用途;如需转载需事先征得译者同意,保持文章的完整性,并注明译者和出处,译者保留对译文的所有权利。对于违反以上条款造成的后果,译者对此不负任何责任。我的MSN[email protected],欢迎热爱3D图形和游戏,并有一定图形编程经验的朋友与我进行交流。

 

你可能感兴趣的:(游戏开发)