The Complete Effect and HLSL Guide
--Sebastien St-Laurent

谁应该阅读这本书?
这本书的主题是Shader开发和管理,是为所有需要在应用程序中使用shader的开发人员而准备。如果你对shader感兴趣,并希望把它高效集成到程序中,那么你该阅读本书。由于本书既可以作为学习指南,同时也是参考手册,因此无论对普通爱好者还是专业开发者,都会有所帮助。
此外,本书的组织方式同样适合于作为学校在计算机科学中开展实时图形渲染技术教学的教科书来使用。
本书将讨论哪些内容?
The Complete Effect and HLSL Guide
的主题是shader开发和管理,这也是所有我们将要关注的内容。由于编写这本书的目的既是作为学习指南,同时也是参考手册,我将会覆盖HLSL语言和effect framework的大部分内容,但不会讨论关于特定shader和渲染技术。以下是本书将要讨论的内容摘要:
l 详细介绍DirectX SDK中的HLSL着色语言以及effect framework。
l 深入讨论HLSL的语法和原理。
l 覆盖了effect framework中所有主要的组件,以及如何运用和组织这些技术,来开发一个着色器管理框架。
技术支持
http://www.ParadoxalPress.com
包含了本书的所有技术支持。网站将会定期发布勘误和必要的更新。
第一部分
HLSL
着色语言
欢迎阅读The Complete Effect and HLSL Guide。正如书名所示,贯穿本书的所有章节,我们将探索DirectX effect framework和HLSL(Hight-Level Shading language高级着色语言)的世界。你将学习如何高效的使用HLSL着色语言。此外,我还将教你如何使用effect framework。作为DirectX SDK的一部分,effect framework帮助你把shader集成到应用程序中。无论开发3D应用程序或视频游戏,为了适应shader日益增加的复杂度,同时保证向后兼容性,effect framework无疑是集成和管理shader的首选。
编写这本书背后的目的有两个。首先,它作为一本学习指南,将带领你深入了解
HLSL
和
effect framework
。然而,更重要的是,本书还可以作为一本参考手册!它包含了所有没有包含在
DirectX
文档中,但对于编写
shader
来说必不可少的信息。哦,让我们不要浪费时间了,快速进入主题吧。
本书的第一部分将着重讲解
HLSL
着色语言,包括它的语法,以及用法。第二部分则聚焦于
effect framework
,展示使用
effect framework
管理应用程序中的
shader
是多么简单。好了,接下来我们就深入学习
HLSL
着色语言。
第一章
着色器和
HLSL
语言
过去几年来,shader技术取得了巨大飞跃。这一章,我将讲解HLSL着色语言的基本语法(syntax)和用法。为了让学习过程变得容易一些,我把对HLSL语法的描述分散到了多个章节中,每一章讲述着色语言的几个特定部分。本章将介绍基本语法,并且对基础知识进行一些概括。接下来的几章则着重讨论特定部分。
在开始介绍
HLSL
语法之前,先花一点时间来了解学习本书需要做的准备,以及一些关于
HLSL
着色语言和
effect framework
的历史。
准备工作
虽然本书是关于HLSL和effect framework的,但并不会教你基本的DirectX和Direct3D知识。因此,最重要的准备条件就是你必须对基本的DirectX API有一些了解,此外还需要具备一些3D渲染技术的基础知识。即使你对3D图形一窍不通,以上两点也很容易学习。
除了知识方面的要求,下面还列出了将会用到的软件和硬件:
l
DirectX 9.0 Summer 2004 Update SDK (
包含在
CD
中
)
l
Windows 2000
(
with service pack 2
)或者
Windows XP
(家用或专业版)。
l
奔腾
3
或更高的处理器
l
最少
256MB
内存
l
高端的
3D
图形卡。虽然任何图形卡都可以,但如果想尝试
shader
编程的所有方面,最好使用支持
Shader Mode 2.0
或
3.0
的图形卡。
l
最新的显卡驱动程序
准备工作做好之后,就可以开始学习和开发shader,利用effect framework了。现在你已经知道如何来使用本书。那么让我们了解一点关于shader和effect framework的历史。
~~~~~~~~~~~~~~~~~~~~~~~~~未完待续~~~~~~~~~~~~~~~~~~~~