Direct 3D立即模式技术参考手册PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:杨峰,周颖恒等编
- 出 版 社:成都:西南交通大学出版社
- 出版年份:1999
- ISBN:7810572954
- 页数:262 页
第一部分 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::CreateDevice 114
1.1.2 IDirect3D2::CreateLight 114
1.1.3 IDirect3D2::CreateMaterial 115
1.1.4 IDirect3D2::CreateViewport 115
1.1.5 IDirect3D2::EnumDevices 116
1.1.6 IDirect3D2::FinDDevice 117
1.1.7 IDirect3D::Initialize 117
1.2 IDirect3Ddevice接口 117
1.2.1 IDirect3DDevice::CreateExecuteBuffer 118
1.2.2 IDirect3DDevice::CreateMatrix 119
1.2.3 IDirect3DDevice::DeleteMatrix 120
1.2.4 IDirect3DDevice::Execute 120
1.2.5 IDirect3DDevice::GetMatrix 121
1.2.6 IDirect3DDevice::GetPickRecords 121
1.2.7 IDirect3DDevice::Initialize 122
1.2.8 IDirect3DDevice::Pick 122
1.2.9 IDirect3DDevice::SetMatrix 123
1.3 IDirect3DDevice2接口 124
1.3.1 IDirect3Ddevice2::AddViewport 125
1.3.2 IDirect3DDevice2::Begin 126
1.3.3 IDirect3DDevice2::BeginIndexed 127
1.3.4 IDirect3DDevice2::BeginScene 128
1.3.5 IDirect3DDevice2::DeleteViewport 129
1.3.6 IDirect3DDevice2::DrawIndexedPrimitive 129
1.3.7 IDirect3DDevice2::DrawPrimitive 131
1.3.8 IDirect3DDevice2::End 133
1.3.9 IDirect3DDevice2::EndScene 133
1.3.10 IDirect3DDevice2::EnumTextureFormats 134
1.3.11 IDirect3DDevice2::GetCaps 134
1.3.12 IDirect3DDevice2::GetClipStatus 135
1.3.13 IDirect3DDevice2::GetCurrentViewport 135
1.3.14 IDirect3DDevice2::GetDirect3D 136
1.3.15 IDirect3DDevice2::GetLightState 136
1.3.16 IDirect3DDevice2::GetRenderState 137
1.3.17 IDirect3DDevice2::GetRenderTarget 138
1.3.18 IDirect3DDevice2::GetStats 138
1.3.19 IDirect3DDevice2::GetTransform 139
1.3.20 IDirect3DDevice2::Index 139
1.3.21 IDirect3DDevice2::MultiplyTransform 140
1.3.22 IDirect3DDevice2::NextViewport 141
1.3.23 IDirect3DDevice2::SetClipStatus 142
1.3.24 IDirect3DDevice2::SetCurrentViewport 142
1.3.25 IDirect3DDevice2::SetLightState 143
1.3.26 IDirect3DDevice2::SetRenderState 143
1.3.27 IDirect3DDevice2::SetRenderTarget 144
1.3.28 IDirect3DDevice2::SetTransform 145
1.3.29 IDirect3DDevice2::SwapTextureHandles 145
1.3.30 IDirect3DDevice2::Vertex 146
1.4 IDirect3DexecuteBuffer接口 146
1.4.1 IDirect3DExecuteBuffer:GetExecuteData 147
1.4.2 IDirect3DExecuteBuffer::Initialize 148
1.4.3 IDirect3DExecuteBuffer::Lock 148
1.4.4 IDirect3DExecuteBuffer::Optimize 149
1.4.5 IDirect3DExecuteBuffer::SetExecuteData 149
1.4.6 IDirect3DExecuteBuffer::UnLock 149
1.4.7 IDirect3DExecuteBuffer::Validate 150
1.5 IDirect3DLight接口 150
1.5.1 IDirect3DLight::GetLight 151
1.5.2 IDirect3DLight::Initialize 151
1.5.3 IDirect3DLight::SetLight 152
1.6 IDirect3DMaterials2接口 152
1.6.1 IDirect3DMaterial2::GetHandle 153
1.6.2 IDirect3DMaterial2::GetMaterial 153
1.6.3 IDirect3DMaterial::Initialize 154
1.6.4 IDirect3DMaterial::Reserve 154
1.6.5 IDirect3DMaterial2::SetMaterial 154
1.6.6 IDirect3DMaterial::Unreserve 155
1.7 IDirect3DTexture2接口 155
1.7.1 IDirect3DTexture2::GetHandle 155
1.7.2 IDirect3DTexture::Initialize 156
1.7.3 IDirect3DTexture2::Load 156
1.7.4 IDirect3DTexture2::PaletteChanged 157
1.7.5 IDirect3DTexture::UnLoad 157
1.8 IDirect3DViewport2接口 157
1.8.1 IDirect3DViewport2::AddLight 158
1.8.2 IDirect3DViewport2::Clear 159
1.8.3 IDirect3DViewport2::DeleteLight 159
1.8.4 IDirect3DViewport2::GetBackground 160
1.8.5 IDirect3DViewport2::GetBackgroundDepth 161
1.8.6 IDirect3DViewport2::GetViewport 161
1.8.7 IDirect3DViewport2::GetViewport2 162
1.8.8 IDirect3DViewport2::Initialize 162
1.8.9 IDirect3DViewport2::LightElements 162
1.8.10 IDirect3DViewport2::NextLight 163
1.8.11 IDirect3DViewport2::SetBackground 163
1.8.12 IDirect3DViewport2::SetBackgroundDepth 164
1.8.13 IDirect3DViewport2::SetViewport 165
1.8.14 IDirect3DViewport2::SetViewport2 165
1.8.15 IDirect3DViewport2::TransformVertices 166
第二章 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 D3DENUMDEVICESCALLBACK 189
4.2 D3DENUMTEXTUREFORMATSCA LLBACK 190
4.3 D3DVALIDATECALLBACK 190
第五章 结构 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 D3DANTIALIASMODE 237
6.2 D3DBLEND 238
6.3 D3DCMPFUNC 239
6.4 D3DCOLORMODEL 240
6.5 D3DCULL 241
6.6 D3DFILLMODE 241
6.7 D3DFOGMODE 242
6.8 D3DLIGHTSTATETYPE 243
6.9 D3DLIGHTTYPE 244
6.10 D3DOPCODE 244
6.11 D3DPRIMITIVETYPE 246
6.12 D3DRENDERSTATETYPE 247
6.13 D3DSHADEMODE 254
6.14 D3DTEXTUREADDRESS 255
6.15 D3DTEXTUREBLEND 255
6.16 D3DTEXTUREFILTER 257
6.17 D3DTRANSFORMSTATETYPE 258
6.18 D3DVERTEXTYPE 259
第七章 其它类型 260
7.1 D3DCOLOR 260
7.2 D3DVALUE 260
第八章 返回值 261
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《无机材料科学》周颖主编 2018
- 《香山设县850年》吴冉彬主编;中山市地方志办公室等编 2003
- 《种植业废弃物资源化利用技术模式与技术价值评估研究》周颖,王丽英著 2019
- 《晚霞风景 《晚霞》杂志创刊十周年作品选集》王诚德等编 1999
- 《行知工程创新教学探索系列 小学语文单元整体课程实施与评价》李怀源等编 2012
- 《读史生智三字经》肖川主编;周颖,刘胡权译注;周颖,刘胡权,崔艳艳等编写 2013
- 《诗文阅读入门》邵霭吉,戴永俊,朱桂元主编;王延潭,王学荣,王辉等编 1991
- 《名师学案 语文 初三分册》秦兆基主编;周颖,董继文本册主编;蒋蠡,周颖,唐岚等撰稿 2000
- 《全国精美作文年选 2009年度经典 高中卷》邵荣霞主编;邵荣霞,张年军,屠丽君等编 2010
- 《外科诊疗手册 新1版》裘法祖等编 1956
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《大学化学实验》李爱勤,侯学会主编 2016
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017