高级着色器语言入门-matplotlib官方参考文档

时间:2024-06-23 10:58:32
【文件属性】:

文件名称:高级着色器语言入门-matplotlib官方参考文档

文件大小:5.51MB

文件格式:PDF

更新时间:2024-06-23 10:58:32

DirectX 9 3D 翁云兵

第十六章 高级着色器语言入门 ((( ( IntroductionIntroductionIntroduction Introduction tototo to thethethe the High-LevelHigh-LevelHigh-Level High-Level ShadingShadingShading Shading LanguageLanguageLanguage Language ))) ) 在这一章里我们描述高级着色器语言(High-Level Shading Language ,简称 HLSL),在下三章里我们 用它去编写顶点和像素着色器。简单的说,在我们写的程序里顶点和像素是很小的对象,它们由 GPU 来执行,是固定功能管线的一部分。用我们自己写的着色器程序替换一部分固定功能管线,在绘制效 果上我们获得很大的灵活性。我们不再局限于预定义的"固定"操作。 为了编写着色器程序,我们需要一种语言。 在 DirectX 8.x,中,着色器是用低级着色器汇编语言 编写的。幸运的是,我们不必再用汇编语言来写着色器了,DirectX 9 支持一种高级着色器语言来 xyna 写。用HLSL 在汇编语言来写着色器程序与使用高级语言有同样的优势,像C++,它超越了汇编语言 , 即:  增加生产力—用高级语言比用低级语言写程序更快、更容易。 我们可以花费更多的时间关注于 算法而不是代码。  增加可读性—用高级语言写的程序更易读,这意味着用高级语言编程更易于调试和维护。  大多数情况下,编译器产生的汇编代码比手写有效率。  使用 HLSL 编译器,我们可以编译我们的代码到任何可用 shader 版本,使用汇编语言我们将不 得不为每个需要的版本移植代码。 HLSL 同 C 和 C++语法很类似, 所以缩短了学习曲线。 最后,如果你的显卡不支持顶点和像素着色器的话,为了执行着色器的例子程序你将需要转换 REF 设备。使用 REF 设备意味着着色器例子运行的会很慢,但它至少能显示结果,让我们去检查是否代 码可以被执行。 提示:顶点 shaders 可以用软件来模拟 ―― D3DCREATE_SOFTWARE_VERTEX-PROCESSING 。16.1 目标目标目标 目标  学习如何定、编译一个 HLSL 着色器程序。  学习如何将程序中的数据传送到着色器程序。  熟悉语法、类型,和 HLSL 的内建函数。


网友评论