DirectX
文章平均质量分 88
starflash2003
这个作者很懒,什么都没留下…
展开
-
DirectX 9高层着色语言介绍1——引言、简单例子、汇编语言和编译对象
引言高层着色语言(HLSL)是DirectX® 9最为强力的新组件之一。使用这种标准的高级语言, 在进行着色时编写者可以专注于算法而不用再去理会诸如寄存器的分配,寄存器读端口限制, 并行处理指令等等硬件细节. 除了把开发者从硬件细节中解放出来之外,HLSL 也具有高级语言所有的全部优势,诸如:代码重用容易, 可读性增强以及存在一个优化过的编译器。本书和 ShaderX2 - Shader Ti原创 2004-10-08 23:49:00 · 3241 阅读 · 0 评论 -
DirectX 9高层着色语言介绍2——语言基础(1)
语言基础现在你已经对什么是HLSL顶点和像素着色器以及他们如何与低层汇编着色器相互作用有了了解,我们将讨论一些语言本身的细节。关键字关键字是HLSL语言保留的预定义标识符,不能在你的程序中作为标识符使用。标有*的关键字不区分大小写。表2. HLSL语言所保留的关键字asm*boolcompileconstdecl*dodoub原创 2004-10-09 23:22:00 · 1814 阅读 · 0 评论 -
DirectX 9高层着色语言介绍3——语言基础(2)
类型修饰符在你的着色器中打算使用的HLSL中有几个可选的类型修饰符。通常把不想被着色器的代码修改的量设为const(常量)类型修饰符。在赋值符号左边使用常量(例如作为一个lval)会产生一个编译错误。可以用row_major(行优先)类型修饰符与col_major(列优先)类型修饰符指定在存储常数硬件中的矩阵格式。row_major(行优先)类型修饰符表示矩阵中的每一行被存储在一个单个的常原创 2004-10-12 00:13:00 · 2312 阅读 · 0 评论 -
DirectX 9高层着色语言介绍4——语言基础(3)
强制类型转换为了有助于着色器的编写和所产生代码的效率,最好熟悉一下HLSL的强制类型转换机制。强制类型转换常用于扩展或缩减选定的变量以匹配要赋值的变量。例如,在下列例子中,初始化vResult时把float型常量0.0f强制转换为float4型{0.0f , 0.0f , 0.0f , 0.0f }。float4 vResult = 0.0f;当把一个高维数据类型如向量或矩阵类型赋原创 2004-10-13 22:36:00 · 2511 阅读 · 0 评论