图书介绍

Direct 3D立即模式技术参考手册2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Direct 3D立即模式技术参考手册
  • 杨峰,周颖恒等编 著
  • 出版社: 成都:西南交通大学出版社
  • ISBN:7810572954
  • 出版时间:1999
  • 标注页数:262页
  • 文件大小:34MB
  • 文件页数:276页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Direct 3D立即模式技术参考手册PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 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.1 DirectX 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.12 Direct 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.1 IDirect3D2接口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.2 IDirect3Ddevice接口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.3 IDirect3DDevice2接口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.4 IDirect3DexecuteBuffer接口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.5 IDirect3DLight接口150

1.5.1 IDirect3DLight::GetLight151

1.5.2 IDirect3DLight::Initialize151

1.5.3 IDirect3DLight::SetLight152

1.6 IDirect3DMaterials2接口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.7 IDirect3DTexture2接口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.8 IDirect3DViewport2接口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.1 D3D重载结构168

2.1.1 D3DLVERTEX结构169

2.1.2 D3DTLVERTEX结构169

2.1.3 D3DVECTOR结构169

2.1.4 D3DVERTEX结构170

2.2 D3D重载操作符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.3 D3D重载辅助函数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

热门推荐