《Direct 3D立即模式技术参考手册》求取 ⇩

第一部分Direct 3D立即模式概述3

第一章 关于Direct 3D立即模式3

第二章 为什么要用Direct 3D立即模式4

第三章Direct 3D立即模式入门5

3.1三维坐标系统5

3.1.1 Direct 3D三维坐标系统5

3.1.2 U-和V-坐标系统6

3.2三维图形变换6

3.2.1 平移7

3.2.2 旋转7

3.2.3 缩放8

3.3多边形8

3.3.1 面和顶点法向量8

3.3.2 阴影模式9

3.3.3 三角形插值11

3.4 三角条和扇形11

3.5 三角形光栅化规则12

第四章Direct 3D立即模式的结构16

4.1 结构概述16

4.2立即模式对象类型16

4.2.1 DirectDraw对象17

4.2.2 DirectDrawSurface对象17

4.2.3 Direct3DDevice对象17

4.2.4 Direct3DMaterial对象17

4.2.5 Direct3DViewport对象17

4.2.6 Direct3DLight对象18

4.2.7 Direct3D执行缓冲对象18

4.3 立即模式COM界面18

4.4 画图元方法和执行缓冲18

第五章Direct 3D立即模式的主要内容19

5.1DirectX 6中立即模式的改变19

5.1.1 与DirectX 3的兼容性19

5.1.2 将DirectX 3的程序移植到DirectX 6上20

5.2画图元(DrawPrimitive)方法20

5.2.1 画图元的API扩展20

5.2.2 画图元功能结构20

5.2.3 同时运用画图元和执行缓冲21

5.2.4 一个简单的画图元例子22

5.3 全局统一识别码(GUID)23

5.4 IDirect3D2界面23

5.5 设备23

5.6视口与转换24

5.6.1 变换管道25

5.6.2 设置变换25

5.6.3 创建和删除视口26

5.6.4 矩阵27

5.6.5 世界变换28

5.6.6 视口变换29

5.6.7 投影变换31

5.7纹理32

5.7.1 表面、设备和句柄32

5.7.2 纹理弯曲33

5.7.3 纹理滤波和融合34

5.7.4 递减纹理(Mipmaps)34

5.7.5 透明和半透明36

5.8 灯光36

5.9 材质39

5.10颜色与雾化40

5.10.1 彩色光照40

5.10.2 调色板项40

5.10.3 雾40

5.11反走样41

5.11.1 边缘反走样41

5.11.2 普遍反走样42

5.12Direct 3D与DirectDraw的结合42

5.12.1 对象与接口42

5.12.2 纹理贴图43

5.12.3 Z-缓冲44

5.12.4 RGBZ支持44

5.13 执行缓冲45

5.14运用执行缓冲45

5.14.1 执行缓冲的结构46

5.14.2 执行缓冲的内容47

5.14.3 执行缓冲的创建49

5.14.4 执行缓冲锁49

5.14.5 填充执行缓冲49

5.14.6 执行缓冲的解锁51

5.14.7 执行缓冲的执行51

5.15 状态和状态废弃51

5.16 浮点精度52

5.17性能优化52

5.17.1 PC硬件加速53

5.17.2 数据库和挑选53

5.17.3 批处理方式画图元53

5.17.4 光照提示54

5.17.5 纹理大小54

5.17.6 软件对硬件55

5.17.7 三角形标志56

5.17.8 执行时的剪取测试56

5.17.9 整体性能提示58

5.18疑难解答58

5.18.1 设备创建58

5.18.2 没有可见物体58

5.18.3 排错(Debugging)59

5.18.4 Borland浮点初始化59

5.18.5 杂项60

第六章Direct 3D执行缓冲教学61

6.1定义、原型和全局变量61

6.1.1 头文件与包含62

6.1.2 Imsample.c 中的常量62

6.1.3 Imsample.c中的宏63

6.1.4 全局变量64

6.1.5 函数原型66

6.2枚举Direct 3D设备68

6.2.1 枚举回调函数68

6.2.2 枚举函数70

6.3创建设备和接口71

6.3.1 创建主DirectDraw表面和剪贴板对象71

6.3.2 创建Direct 3D对象74

6.3.3 创建Direct 3D设备75

6.4 创建场景77

6.5 填充执行缓冲82

6.6 场景动画86

6.7渲染86

6.7.1 渲染场景87

6.7.2 渲染单帧88

6.8矩阵的工作89

6.8.1 设置透视变换89

6.8.2 设置旋转变换90

6.9恢复和重画91

6.9.1 恢复Direct 3D设备91

6.9.2 恢复主表面92

6.9.3 恢复所有的表面92

6.9.4 在窗口移动后重画93

6.9.5 在窗口改变大小后重画93

6.9.6 重画客户区95

6.9.7 更新视角96

6.10释放对象97

6.10.1 释放Direct 3D对象97

6.10.2 释放Direct 3D设备98

6.10.3 释放主表面98

6.10.4 释放场景对象99

6.11错误检查100

6.11.1 检查击活的状态100

6.11.2 报告标准错误101

6.11.3 报告致命错误102

6.11.4 显示报告字符串102

6.12转换位深度103

6.12.1 将位深度转换为标志位103

6.12.2 将标志位转换为位深度104

6.13 主窗口程序105

6.14 WinMain函数107

第二部分Direct 3D立即模式参考113

第一章接口函数113

1.1IDirect3D2接口113

1.1.1 IDirect3D2::CreateDevice114

1.1.2 IDirect3D2::CreateLight114

1.1.3 IDirect3D2::CreateMaterial115

1.1.4 IDirect3D2::CreateViewport115

1.1.5 IDirect3D2::EnumDevices116

1.1.6 IDirect3D2::FinDDevice117

1.1.7 IDirect3D::Initialize117

1.2IDirect3Ddevice接口117

1.2.1 IDirect3DDevice::CreateExecuteBuffer118

1.2.2 IDirect3DDevice::CreateMatrix119

1.2.3 IDirect3DDevice::DeleteMatrix120

1.2.4 IDirect3DDevice::Execute120

1.2.5 IDirect3DDevice::GetMatrix121

1.2.6 IDirect3DDevice::GetPickRecords121

1.2.7 IDirect3DDevice::Initialize122

1.2.8 IDirect3DDevice::Pick122

1.2.9 IDirect3DDevice::SetMatrix123

1.3IDirect3DDevice2接口124

1.3.1 IDirect3Ddevice2::AddViewport125

1.3.2 IDirect3DDevice2::Begin126

1.3.3 IDirect3DDevice2::BeginIndexed127

1.3.4 IDirect3DDevice2::BeginScene128

1.3.5 IDirect3DDevice2::DeleteViewport129

1.3.6 IDirect3DDevice2::DrawIndexedPrimitive129

1.3.7 IDirect3DDevice2::DrawPrimitive131

1.3.8 IDirect3DDevice2::End133

1.3.9 IDirect3DDevice2::EndScene133

1.3.10 IDirect3DDevice2::EnumTextureFormats134

1.3.11 IDirect3DDevice2::GetCaps134

1.3.12 IDirect3DDevice2::GetClipStatus135

1.3.13 IDirect3DDevice2::GetCurrentViewport135

1.3.14 IDirect3DDevice2::GetDirect3D136

1.3.15 IDirect3DDevice2::GetLightState136

1.3.16 IDirect3DDevice2::GetRenderState137

1.3.17 IDirect3DDevice2::GetRenderTarget138

1.3.18 IDirect3DDevice2::GetStats138

1.3.19 IDirect3DDevice2::GetTransform139

1.3.20 IDirect3DDevice2::Index139

1.3.21 IDirect3DDevice2::MultiplyTransform140

1.3.22 IDirect3DDevice2::NextViewport141

1.3.23 IDirect3DDevice2::SetClipStatus142

1.3.24 IDirect3DDevice2::SetCurrentViewport142

1.3.25 IDirect3DDevice2::SetLightState143

1.3.26 IDirect3DDevice2::SetRenderState143

1.3.27 IDirect3DDevice2::SetRenderTarget144

1.3.28 IDirect3DDevice2::SetTransform145

1.3.29 IDirect3DDevice2::SwapTextureHandles145

1.3.30 IDirect3DDevice2::Vertex146

1.4IDirect3DexecuteBuffer接口146

1.4.1 IDirect3DExecuteBuffer:GetExecuteData147

1.4.2 IDirect3DExecuteBuffer::Initialize148

1.4.3 IDirect3DExecuteBuffer::Lock148

1.4.4 IDirect3DExecuteBuffer::Optimize149

1.4.5 IDirect3DExecuteBuffer::SetExecuteData149

1.4.6 IDirect3DExecuteBuffer::UnLock149

1.4.7 IDirect3DExecuteBuffer::Validate150

1.5IDirect3DLight接口150

1.5.1 IDirect3DLight::GetLight151

1.5.2 IDirect3DLight::Initialize151

1.5.3 IDirect3DLight::SetLight152

1.6IDirect3DMaterials2接口152

1.6.1 IDirect3DMaterial2::GetHandle153

1.6.2 IDirect3DMaterial2::GetMaterial153

1.6.3 IDirect3DMaterial::Initialize154

1.6.4 IDirect3DMaterial::Reserve154

1.6.5 IDirect3DMaterial2::SetMaterial154

1.6.6 IDirect3DMaterial::Unreserve155

1.7IDirect3DTexture2接口155

1.7.1 IDirect3DTexture2::GetHandle155

1.7.2 IDirect3DTexture::Initialize156

1.7.3 IDirect3DTexture2::Load156

1.7.4 IDirect3DTexture2::PaletteChanged157

1.7.5 IDirect3DTexture::UnLoad157

1.8IDirect3DViewport2接口157

1.8.1 IDirect3DViewport2::AddLight158

1.8.2 IDirect3DViewport2::Clear159

1.8.3 IDirect3DViewport2::DeleteLight159

1.8.4 IDirect3DViewport2::GetBackground160

1.8.5 IDirect3DViewport2::GetBackgroundDepth161

1.8.6 IDirect3DViewport2::GetViewport161

1.8.7 IDirect3DViewport2::GetViewport2162

1.8.8 IDirect3DViewport2::Initialize162

1.8.9 IDirect3DViewport2::LightElements162

1.8.10 IDirect3DViewport2::NextLight163

1.8.11 IDirect3DViewport2::SetBackground163

1.8.12 IDirect3DViewport2::SetBackgroundDepth164

1.8.13 IDirect3DViewport2::SetViewport165

1.8.14 IDirect3DViewport2::SetViewport2165

1.8.15 IDirect3DViewport2::TransformVertices166

第二章D3D重载符168

2.1D3D重载结构168

2.1.1 D3DLVERTEX结构169

2.1.2 D3DTLVERTEX结构169

2.1.3 D3DVECTOR结构169

2.1.4 D3DVERTEX结构170

2.2D3D重载操作符170

2.2.1 传送授权操作符(D3D重载)170

2.2.2 加运算重载符171

2.2.3 赋值运算符171

2.2.4 位等运算符172

2.2.5 D3DMATRIX(D3D模型重载)172

2.2.6 除运算重载符173

2.2.7 乘运算重载符174

2.2.8 减运算符重载符174

2.2.9 增减量运算符174

2.2.10 向量优先操作符175

2.3D3D重载辅助函数175

2.3.1 矢量叉乘函数176

2.3.2 点乘函数(标量乘)176

2.3.3 取模函数(Magnitude)177

2.3.4 求最大函数(Max)177

2.3.5 最大化函数(Maximize)178

2.3.6 求最小值函数(Min)178

2.3.7 求最小化函数(Minimize)179

2.3.8 单位化函数(Normalize)180

2.3.9 模平方函数(SquareMagnitude)180

第三章181

3.1 D3DDivide宏(D3D除)181

3.2 D3DMultiply宏182

3.3 D3DRGB宏182

3.4 D3DRGBA宏182

3.5 D3DSTATE_OVERRIDE宏183

3.6 D3DVAL宏183

3.7 D3DVALD宏184

3.8 RGB_GETBLUE宏184

3.9 RGB_GETGREEN宏184

3.10 RGB_GETRED宏185

3.11 RGB_MAKE宏185

3.12 RGB_TORGBA宏185

3.13 RGBA_GETALPHA宏186

3.14 RGBA_GETBLUE宏186

3.15 RGBA_GETGREEN宏186

3.16 RGBA_GETRED宏187

3.17 RGBA_MAKE宏187

3.18 RGBA_SETALPHA宏187

3.19 RGBA_TORGB宏188

第四章回调函数189

4.1 D3DENUMDEVICESCALLBACK189

4.2 D3DENUMTEXTUREFORMATSCA LLBACK190

4.3 D3DVALIDATECALLBACK190

第五章结构192

5.1 D3DBRANCH结构193

5.2 D3DCLIPSTATUS结构193

5.3 D3DCOLORVALUE结构194

5.4 D3DDEVICEDESC结构195

5.5 D3DEXECUTEBUFFERDESC结构197

5.6 D3DEXECUTEDATA结构198

5.7 D3DFINDDEVICERESULT结构199

5.8 D3DFINDDEVICESEARCH结构200

5.9 D3DHVERTEX结构202

5.10 D3DINSTRUCTION结构202

5.11 D3DLIGHT2结构203

5.12 D3DLIGHTDATA结构205

5.13 D3DLIGHTINGCAPS结构205

5.14 D3DLIGHTINGELEMENT结构206

5.15 D3DLINE结构207

5.16 D3DLINEPATTERN结构207

5.17 D3DLVERTEX结构208

5.18 D3DMATERIAL结构209

5.19 D3DMATRIX结构210

5.20 D3DMATRIXLOAD结构211

5.21 D3DMATRIXMULTIPLY结构211

5.22 D3DPICKRECORD结构211

5.23 D3DPOINT结构212

5.24 D3DPRIMCAPS结构213

5.25 D3DPROCESSVERTICES结构221

5.26 D3DRECT结构222

5.27 D3DSPAN结构222

5.28 D3DSTATE结构223

5.29 D3DSTATS结构224

5.30 D3DSTATUS结构224

5.31 D3DTEXTURELOAD结构226

5.32 D3DTLVERTEX结构226

5.33 D3DTRANSFORMCAPS结构227

5.34 D3DTRANSFORMDATA结构228

5.35 D3DTRIANGLE结构230

5.36 D3DVECTOR结构232

5.37 D3DVERTEX结构232

5.38 D3DVIEWPORT结构234

5.39 D3DVIEWPORT2结构234

第六章枚举类型237

6.1 D3DANTIALIASMODE237

6.2 D3DBLEND238

6.3 D3DCMPFUNC239

6.4 D3DCOLORMODEL240

6.5 D3DCULL241

6.6 D3DFILLMODE241

6.7 D3DFOGMODE242

6.8 D3DLIGHTSTATETYPE243

6.9 D3DLIGHTTYPE244

6.10 D3DOPCODE244

6.11 D3DPRIMITIVETYPE246

6.12 D3DRENDERSTATETYPE247

6.13 D3DSHADEMODE254

6.14 D3DTEXTUREADDRESS255

6.15 D3DTEXTUREBLEND255

6.16 D3DTEXTUREFILTER257

6.17 D3DTRANSFORMSTATETYPE258

6.18 D3DVERTEXTYPE259

第七章其它类型260

7.1 D3DCOLOR260

7.2 D3DVALUE260

第八章 返回值261

1999《Direct 3D立即模式技术参考手册》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由杨峰,周颖恒等编 1999 成都:西南交通大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

IBM PC技术参考手册(1986 PDF版)
IBM PC技术参考手册
1986 天津市计算机应用技术研究所
惠普HP486微型机硬件技术参考手册与BIOS技术参考手册( PDF版)
惠普HP486微型机硬件技术参考手册与BIOS技术参考手册
北京希望电脑公司
技术参考手册( PDF版)
技术参考手册
陕西电子杂志社
IBM PC NETWORK技术参考手册( PDF版)
IBM PC NETWORK技术参考手册
上海计算机技术服务公司
3D Studio VIZ R2全面技术手册(1999 PDF版)
3D Studio VIZ R2全面技术手册
1999 西安市:西安电子科技大学出版社
技术参考手册(1987 PDF版)
技术参考手册
1987 北京科海总公司培训中心;中国科学院软件研究所
3D STUDIO参考手册  动画篇(1994 PDF版)
3D STUDIO参考手册 动画篇
1994 北京:人民邮电出版社
3D STUDIO参考手册  模型篇(1994 PDF版)
3D STUDIO参考手册 模型篇
1994 北京:人民邮电出版社
立法技术手册(1999 PDF版)
立法技术手册
1999 北京:中国法制出版社
英文信即成模式(1993 PDF版)
英文信即成模式
1993 南宁:广西教育出版社
电视广播技术参考手册(1984 PDF版)
电视广播技术参考手册
1984 上海:上海科学技术文献出版社
3D Studio MAX快速参考手册(1999 PDF版)
3D Studio MAX快速参考手册
1999 北京:中国水利水电出版社
3D Studio VIZ R2全面技术手册(1999 PDF版)
3D Studio VIZ R2全面技术手册
1999 西安:西安电子科技大学出版社
英文信即成模式(1986 PDF版)
英文信即成模式
1986 香港万里书店
INTEL80486微处理机技术参考手册(1991 PDF版)
INTEL80486微处理机技术参考手册
1991 北京希望电脑公司