摘要:
引言
高层着色语言(hlsl)是directx® 9最为强力的新组件之一。使用这种标准的高级语言, 在进行着色时编写者可以专注于算法而不用再去理会诸如寄存器的分配,寄存器读端口限制, 并行处理指令等等硬件细节. 除了把开发者从硬件细节中解放出来之外,hlsl 也具有高级语言所有的全部优势,诸如:代码重用容易, 可读性增强以及存在一个优化过的编译器。本书和 shaderx2 - s......
摘要:
在vc中,大多数情况对文件的操作都使用系统提供的 api 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 api 函数介绍: 一般文件操作 api createfile 打开文件 要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。 readfile 从文件中读取字节信息。 在打开文件获得了文件句柄之后,则可以通过该函......
DirectX 9高层着色语言介绍3 —— 语言基础(2)
强制类型转换
为了有助于着色器的编写与所产生代码的效率,最好熟悉一下hlsl的强制类型转换机制.强制类型转换常用于扩展或缩减选定的变量以匹配要赋值的变量.例如,在下列例子中,初始化vresult时把float型常量0.0f强制转换为float4型{0.0f , 0.0f , 0.0f , 0.0f }.
float3 vlight;
float ffinal, fcolor;
ffinal = vlight * fcolor;
这个例子中,只是把float类型的标量fcolor与vlight中的第一个成员相乘,从而把vlight强制转换为float类型.ffinal等于vlight.x * fcolor. 【程序编程相关:打造自己的任务管理器】
float4 vresult = 0.0f;
当把一个高维数据类型如向量或矩阵类型赋值给一个低维数据类型时就会发生类似的强制转换.这些情况下,额外数据都被有效省略.例如,编写下列代码: 【推荐阅读:调试实战之监视工具】
表6. hlsl的强制类型转换规则 【扩展信息:
打造自己的spy++】
最好先熟悉一下表4,hlsl的强制类型转换规则:
scalar-to-scalar
摘要:
今天朋友问到的问题,pseudo-debug是什么意思。pseudo-debug是vc中的一个调试选项。他的程序用普通方式调试总是不断报错,只用使用pseudo-debug才能够正常调试。在google上搜,没有搜到相关的资料,后来到在线的msdn里面查,终于查到了,原来如果在自己定制的dll中包含了mfc的库的话,vc仅允许包含运行起版本的mfc库,因此,debug中需要的很多调试宏就会成未声......