游戏开发论坛

 找回密码
 立即注册
搜索
查看: 38940|回复: 52

《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

[复制链接]

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
发表于 2005-9-17 11:38:00 | 显示全部楼层 |阅读模式
      哎,由于工作很忙,文章有这么长时间没有更新了。先对大家说声对不起,希望大家能够理解。另外我收到很多读者的email,由于时间关系有的我回复了有的没有。那些没有收到我的回复的读者请不要生气哈,多多原谅。我想文章中肯定有不妥甚至错误的地方,希望读者能将你所发现的email(wengyb@126.com)给我,我会在下一次更新中加以更新的。废话不多说了,教程会按照原定计划继续的.希望大家支持!
      注意:这次我把本次更新的以及以前的全部源代码都一起放上来了。以后可能每次就只放更新部分了。还有这次的word文档和源代码压缩后一共有12个压缩包(文档5个+代码7个)。下载以后请将文件名按照次序重命名(如命名为:doc1.rar … doc5.rar,code1.rar … code7.rar)便可以解压了。为了保持帖子的完整性,请在我全部上传后再回帖。谢谢!
=========================
目前内容:
第一部分 必备的数学知识
    目标
    三维空间中的向量
    向量相等
    计算向量大小
    规范化向量
    向量相加
    向量相减
    数与向量的乘积
    点积
    叉积
    矩阵
    相等、数乘矩阵以及相加
    乘法
    单位矩阵
    逆转
    矩阵的转置
    D3DX 矩阵
    基本变换
    矩阵平移
    矩阵旋转
    矩阵缩放
    综合变换
    一些向量变换函数
    平面
    D3DX平面
    点和平面的空间关系
    创建平面
    规范化平面
    变换平面
    点到平面上最近的点
    射线(可选的)
    射线
    线/面相交
    摘要(略)
第二部分 Direct3D基础
第一章 初始化Direct3D
    目标
    1.1 Direct3D概述
        1.1.1 REF Device
        1.1.2 D3DDEVTYPE
    1.2 COM
    1.3 一些准备工作
        1.3.1 表面
        1.3.2 Multisampling
        1.3.3像素格式
        1.3.4 内存池
        1.3.5 交换链和页面切换
        1.3.6 深度缓冲
        1.3.7 顶点处理
        1.3.8 设备能力
    1.4 初始化Direct3D
        1.4.1获得IDirect3D9接口
        1.4.2 检测硬件顶点处理
        1.4.3 填充D3DPRESENT_PARAMETERS结构
        1.4.4 创建IDirect3DDevice9对象
    1.5 初始化Direct3D实例
        1.5.1 d3dUtility.h/cpp
        1.5.2 实例框架
        1.5.3 D3D Init实例
    1.6摘要(略)
第二章 渲染管道
    目标
    2.1表现模型
        2.1.1 顶点格式
        2.1.2 三角形
        2.1.3 索引
    2.2虚拟摄相机
    2.3 渲染管道
        2.3.1自身坐标系(Local Space)
        2.3.2世界坐标系(World Space)
        2.3.3视图坐标系(View Space)
        2.3.4背面拣选(Backface Culling)
        2.3.5光源(Lighting)
        2.3.6裁剪(Clipping)
        2.3.7投影(Projection)
        2.3.8视口变换(Viewport Transform)
        2.3.9光栅化(Rasterization)
    2.4 摘要(略)
第三章 在Direct3D中画画
    目标
    3.1顶点/索引缓存
        3.1.1创建一个顶点和索引缓存
        3.1.2 访问缓冲内存
        3.1.3 找回顶点和索引缓存信息
    3.2 渲染状态
    3.3 绘制准备
    3.4用顶点/索引缓存绘制
        3.4.1 IDirect3DDevice9:rawPrimitive
        3.4.2 IDirect3DDevice9::DrawIndexedPrimitive
        3.4.3 开始/结束场景
    3.5 D3DX几何物体
    3.6 实例程序:三角形、立方体、茶壶、D3DXCreate*
    3.7 摘要(略)
第四章 色彩
    目标
    4.1 颜色表示法
    4.2 顶点颜色
    4.3 着色处理
    4.4 实例程序:彩色三角形
    4.5 摘要(略)
第五章 灯光
    目标
    5.1灯光的组成
    5.2材质
    5.3顶点法线
    5.4光源
    5.5实例程序:灯光
    5.6附加实例
    5.7摘要(略)
第六章 纹理
    目标
    6.1 纹理坐标
    6.2创建并赋予材质
    6.3过滤器
    6.4 Mipmaps
        6.4.1 Mipmaps过滤器
        6.4.2 Direct3D中使用Mipmaps
    6.5 寻址模式
    6.6实例程序:有纹理的方块
    6.7摘要(略)
第七章 混合
    目标
    7.1混合因素
    7.2混合要素
    7.3透明度
        7.3.1Alpha通道
        7.3.2指定Alpha资源
    7.4使用DirectX纹理工具创建Alpha通道
    7.5实例程序:透明度
    7.6摘要(略)
==========更新内容===========
第八章 模版
    目标
    8.1使用模版缓存
        8.1.1请求一个模版缓存
        8.1.2模版测试
        8.1.3控制模版测试
            8.1.3.1模版参考值(Reference Value)
            8.1.3.2模版掩码
            8.1.3.3模版值(Stencil Value)
            8.1.3.4比较运算
        8.1.3更新模版缓存
        8.1.4模版写掩码
    8.2实例程序:镜子
        8.2.1反射数学
        8.2.2镜面实现流程
        8.2.3代码和解释
            8.2.3.1第一部分
            8.2.3.2第二部分
            8.2.3.3第三部分
            8.2.3.4第四部分
            8.2.3.5第五部分
    8.3实例程序:平面阴影
        8.3.1平行光阴影
        8.3.2点光源阴影
        8.3.3阴影矩阵
        8.3.4用模版缓存防止双倍混合
        8.3.5代码和解释
    8.4摘要(略)
第三部分 实用的Direct3D
第九章 字体
    目标
    9.1 ID3DXFont
        9.1.1创建一个ID3DXFont
        9.1.2绘制文本
        9.1.3计算每秒的渲染帧数
    9.2 CD3DFont
        9.2.1创建一个CD3DFont
        9.2.2绘制文本
        9.2.3 清除
    9.3 D3DXCreateText
    9.4摘要(略)
第十章 网格模型I
    目标
    10.1 几何信息
    10.2 子集和属性缓存
    10.3 绘制
    10.4 优化
    10.5 属性表
    10.6 邻接信息
    10.7 复制
    10.8 创建一个Mesh(D3DXCreateMeshFVF)
    10.9 实例程序:创建和渲染Mesh
    10.10 摘要(略)
第十一章 网格模型II
    目标
    11.1 ID3DXBuffer
    11.2 X文件
        11.2.1读取X文件
        11.2.2 X文件的材质
        11.2.3 实例程序:X文件
        11.2.4 产生顶点法线
    11.3渐进网格(Progressive Meshes)
        11.3.1 产生一个渐进网格
        11.3.2 顶点品质权重
        11.3.3 ID3DXPMesh方法
        11.3.4实例程序:渐进网格
    11.4 界线容积(Bounding Volumes)
        11.4.1一些新的特殊常量
        11.4.2界线容积类型
        11.4.3实例程序:界线容积
    11.5 摘要(略)
第十二章 创建灵活的摄像机类
    目标
    12.1 摄像机设计
    12.2 执行详细资料
        12.2.1计算视图矩阵
            12.2.1.1 第一部分:平移
            12.2.1.2 第二部分:旋转
            12.2.1.3 将两部分合并
        12.2.2围绕任意轴旋转
        12.2.3 Pitch、Yaw和Roll
        12.2.4 Walking、Strafing和Flying
    12.3实例程序:摄像机
    12.4 摘要(略)
===========================
明天继续........

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:40:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

文档第一部分

sf_2005917113952.rar

715 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:41:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

文档第二部分

sf_2005917114032.rar

715 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:41:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

文档第三部分

sf_2005917114117.rar

715 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:42:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

文档第四部分

sf_200591711421.rar

715 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:43:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

文档第五部分

sf_2005917114244.rar

714.79 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:44:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

源代码第一部分

sf_200591711444.rar

800 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:45:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

源代码第二部分

sf_2005917114455.rar

800 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:46:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

源代码第三部分

sf_2005917114540.rar

800 KB, 下载次数:

21

主题

116

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2005-9-17 11:46:00 | 显示全部楼层

Re: 《3D游戏程序设计入门(DirectX9.0)》教程(2005.9.17更新)

源代码第四部分

sf_2005917114629.rar

800 KB, 下载次数:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-29 12:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表