博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  DirectX编程

摘要:max (Direct3D 9 HLSL)Selects the greater of x and y.Syntaxret max(x, y)Where:NameIn/OutTemplate TypeComponent TypeSizexinscalar, vector, or matrixfloat, intanyyinsame as input xfloat, intsame dimensio... 阅读全文

posted @ 2009-03-03 10:12 浪端之渡鸟 阅读(630) 评论(0) 推荐(0)

摘要:16.7内建函数HLSL有一个丰富的内建函数的集合,它们对3D图形来说非常有用。下表是一个删减了的列表,注意:要得到更多的参考,可以参看DirectX文档中内建HLSL函数的完整列表。以下表格中,//<variable>//表示变量variable的模(例如向量的绝对值)。函数描述abs(x)返回 |x|ceil(x)返回 ≥ x 的最小整数clamp(x, a, b)Clamp... 阅读全文

posted @ 2009-03-03 10:11 浪端之渡鸟 阅读(636) 评论(0) 推荐(0)

摘要:16.4关键字、语句和强制转换16.4.1 关键字为便于参考,这里给出一个HLSL定义的关键字列表:asm bool compile const decl dodouble else extern false float forhalf if in inline inout int matrix out pass pixelshader return sampler shared static s... 阅读全文

posted @ 2009-03-03 10:11 浪端之渡鸟 阅读(896) 评论(0) 推荐(0)

摘要:注意:除了下列各小节中描述的类型外,HLSL还有一些内建的对象类型(如:纹理对象)。16.3.1 数值类型HLSL支持下列数值类型(scalar type):bool—True or false value. Note that HLSL provides the true and false keywords.int—32bit signed integerhalf&md... 阅读全文

posted @ 2009-03-03 10:10 浪端之渡鸟 阅读(560) 评论(0) 推荐(0)

摘要:SetMatrixTranspose—Used to set a transposed 4 × 4 matrix. Sample call: D3DXMATRIX M(…); D3DXMatrixTranspose(&M, &M); ConstTable->SetMatrixTranspose(Device, handle, &M... 阅读全文

posted @ 2009-03-03 10:09 浪端之渡鸟 阅读(862) 评论(0) 推荐(0)

摘要:16.2.1 常量表每个着色器有一个常量表,用来保存它的变量。D3DX库通过ID3DXConstantTable接口,提供给应用程序访问着色器的常量表。通过这个接口我们能够在应用程序中设置着色器源代码中的变量。我们现在描述ID3DXConstantTable接口的方法列表的实现,全部的列表请查阅Direct3D文档。16.2.1.1 取得常量句柄为了在应用程序中设置着色器中的一个特定变量,需要有一... 阅读全文

posted @ 2009-03-03 10:07 浪端之渡鸟 阅读(669) 评论(0) 推荐(0)

摘要:在我们写的程序里顶点和像素是很小的对象,它们由GPU来执行,是固定功能管线的一部分。用我们自己写的着色器程序替换一部分固定功能管线,在绘制效果上我们获得很大的灵活性。我们不再局限于预定义的"固定"操作。为了编写着色器程序,我们需要一种高级着色器语言(High-Level Shading Language ,简称HLSL)。 在DirectX 8中,着色器是用低级着色器汇编语言编写的。幸运的是,我们... 阅读全文

posted @ 2009-03-03 10:05 浪端之渡鸟 阅读(1100) 评论(1) 推荐(0)

摘要:在D3D环境下进行2D图形绘制。D3DImage类:这个类是是用来载入图片,绘制图片。 //----------------------------------------------------------------------------- //文件:D3DImage.h //描述:D3DImage类的头文件,定义变量,函数。 //------------------------------... 阅读全文

posted @ 2009-03-02 11:32 浪端之渡鸟 阅读(2651) 评论(2) 推荐(0)

摘要:sdk的框架借用一下·先看一下完整的程序[代码]立方体共有8个顶点,其中一个点被三个面共用,开始写的代码很麻烦,一共24个顶点,索引也排列到23·如果按共用顶点计算就很简单了,要注意是按顺时针排列的,要把索引的顺寻排好,要不图形会不完整的 阅读全文

posted @ 2009-02-25 16:25 浪端之渡鸟 阅读(605) 评论(0) 推荐(0)

摘要:加载.x文件.x 文件是由3dsmax导出的,专门被direct3D使用。一个.x文件包含:n 个 D3DXMATERIAL 类型的数据,每个D3DXMATERIAL包含一个D3DMATERIAL9 和 一个texture文件的路径。也就是说一个.x文件包含n个material 和 n 个texture文件路径。 加载过程如下:LPD3DXBUFFERpMeshMaterialsBuffer=NU... 阅读全文

posted @ 2009-02-23 16:02 浪端之渡鸟 阅读(954) 评论(0) 推荐(0)

摘要:在看有些教程的时候经常会遇到旋转角度的问题,一般是这样: FLOAT theta = ( 2 * D3DX_PI * i ) / ( 50 - 1); float theta = (i-1)*12*D3DX_PI/180; 。。。。反正就类似于此·角度是怎么计算的呢,圆周是2*d3dx_pi,要把一个圆周n等分,则每个角度为2*d3dx_pi / n,( 2 * D3DX_PI * i ) / ... 阅读全文

posted @ 2009-02-19 11:06 浪端之渡鸟 阅读(324) 评论(0) 推荐(0)