摘要:
在vc中,大多数情况对文件的操作都使用系统提供的 api 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 api 函数介绍: 一般文件操作 api createfile 打开文件 要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。 readfile 从文件中读取字节信息。 在打开文件获得了文件句柄之后,则可以通过该函......
摘要:
今天朋友问到的问题,pseudo-debug是什么意思。pseudo-debug是vc中的一个调试选项。他的程序用普通方式调试总是不断报错,只用使用pseudo-debug才能够正常调试。在google上搜,没有搜到相关的资料,后来到在线的msdn里面查,终于查到了,原来如果在自己定制的dll中包含了mfc的库的话,vc仅允许包含运行起版本的mfc库,因此,debug中需要的很多调试宏就会成未声......
DirectX 9高层着色语言介绍1 —— 引言、简单例子、汇编语言和编译对象
引言
高层着色语言(hlsl)是directx® 9最为强力的新组件之一.使用这种标准的高级语言, 在进行着色时编写者可以专注于算法而不用再去理会诸如寄存器的分配,寄存器读端口限制, 并行处理指令等等硬件细节. 除了把开发者从硬件细节中解放出来之外,hlsl 也具有高级语言所有的全部优势,诸如:代码重用容易, 可读性增强以及存在一个优化过的编译器.本书与 shaderx2 - shader tips & tricks 这本书的许多章节就用到了hlsl编写的着色器. 阅读完本章引言后,你会很容易理解那些着色器并在工作中用到它们.
这一章, 我们概述语言本身的基本结构以及将hlsl集成到你的应用程序中的方法.
一个简单的示例
在彻底描述hlsl之前, 让我们先看一下程序中hlsl顶点着色与hlsl像素着色的实现,这个程序渲染简单的木纹.下边显示的第一个hlsl着色是一个简单的顶点着色:
float4x4 view_proj_matrix;
float4x4 texture_matrix0;
struct vs_output
{
float4 pos : position;
float3 pshade : texcoord0;
};
vs_output main (float4 vposition : position)
{
vs_output out = (vs_output) 0;
// transform position to clip space
out.pos = mul (view_proj_matrix, vposition);
// transform pshade
out.pshade = mul (texture_matrix0, vposition);
return out;
}
最开始两行声明了一对4×4的矩阵,分别命名为view_proj_matrix与texture_matrix0.在全局矩阵之后,声明了一个结构体.这个vs_output有两个成员:pos与pshade.
该着色器的main函数接受一个单精度float4类型的输入参数并返回一个vs_output结构体.float4类型的vposition是着色器唯一的输入,返回的vs_output结构体定义了 该顶点着色器的输出.目前不必关心在参数与结构体之后的关键字position与texcoord0.它们被称为语义,他们的含义将在本章后边讨论.
看一下main函数的实际代码部分,你可以看到一个内部函数mul,它被用来把输入的向量vposition与矩阵view_proj_matrix相乘.在顶点着色器中这个函数最常被用来执行顶点-矩阵的乘法.就这样,vposition被作为列向量,因为它是mul的第二个参数.如果向量vposition是mul的第一个参数,它将被作为行向量....
下一页 摘要:
怎样灰化右键的弹出菜单?
......