3d游戏开发指南.doc


文档分类:IT计算机 | 页数:约96页 举报非法文档有奖
1/96
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/96
文档列表 文档介绍
第一章 DirectX基础(初始化Direct3D)
         
    在没开始DirectX之前,我们有必要先了解一些数学方面的知识,这里我就不一一介绍了,如果要把这些数学方面的知识讲完的话,那么在等我们在回到DirectX设计上已经是几个月以后的事了,但还是希望大家把向量、矩阵和它们之间的变换过程有个了解,当然我写的这些是有限的,只是针对我们以后能应用的部分,更多的知识希望读者参考《线性代数》和《空间解析几何》。
    那么首先让我们来认识一些名词和它在我们程序里的用法!
    向量:有同样长度和相同方向的有向线段的统称(在几何学中)向量与位置无关。而在这里我们主要关心的是3D向量,因为在D3DX库中还有二维向量和四维向量,虽然我们也偶尔会用到,但这种情况很少!
    规范化向量:规范化向量就是让向量的大小等于1,在程序里我们通常称为单位向量。
    向量相加:就是把两个或两个以上向量的各个分量相加得到新的向量(值得注意的是用来相加的向量必须有相同的维数)。
    向量相减:同上没有什么区别,值得注意的是必须是相同维数!
    数乘:顾名思义就是用一个数和向量相乘,这种运算不会改变向量的方向(负数除外)
    点乘:是两个向量的乘积,假如U·V=|U||V|cos∮(两个向量的乘积是它们模和夹角的余弦的积,U·V=0,U和V是垂直。U·V>0它们的角度∮小于90度。U·V<0它们的角度∮大于90度
    叉乘:如果U和V是两个向量,那么它们的叉乘得出的是一个标量,并且垂直于U和V组成的面。
    矩阵:如果用iXj表示一个矩阵,那么i是它的行数而j是它的列数,i和j分别表示矩阵的维数。
    矩阵乘法:如果我们有A和B两个矩阵,要得到矩阵乘积AB,那么必须满足A矩阵的列数必须等于B矩阵的行数!这在3D图形学里是非常重要的运算。
    单位矩阵:它是一种特殊矩阵,它除了左上到右下角以外的所有成员都是0,而其他都是1的方矩阵
    转置矩阵:矩阵的转置就是互相交换矩阵的行和列,比如一个AXB的矩阵转置后是一个BXA的矩阵。
剩下的平移矩阵、旋转矩阵、缩放矩阵我会在接下来的摄象机里做详细介绍,这里就不一一列举!现在我们来初始化Direct3D!
    首先我们要下载安装一下DirectX的开发包Microsoft DirectX SDK Update(目前版本到2008,建议应用2005就完全可以满足开发)
    然后要包含他的Include包含文件和Lib下的X86库文件!在程序里包含Direct3D的两个头文件
    #include <>
    #include <>
    接下来就可以写我们的程序代码了!
   
初始化D3D具体步骤如下:

(通过D3D顶层指针来创建设备指针)
(
             })
(页翻动)
接下来我们按照步骤书写代码:
LPDIRECT3D9       g_pD3D = NULL;//D3D顶层指针
LPDIRECT3DDEVICE9 g_pDev = NULL;//D3D设备指针
HRESULT InitD3D(HWND hWnd)
{
    //创建D3D顶层指针   FAILED--失败 EEDED -- 成功
    if(FAILED(g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
{
   return S_FALSE;
}
//想要给结构体赋值,要得到当前显卡的显示模式
D3DDISPLAYMODE d3dpp;
g_pD3D->GetAdapterDisplayMode(
   D3DADAPTER_DEFAULT,//主显卡
   &d3dpp
   );
//创建设备需要一个结构体
D3DPRESENT_PARAMETERS d3dmm;
        //清空结构体
ZeroMemory(&d3dmm,sizeof(d3dmm));
= TRUE;//窗口模式(TRUE)与全屏模式(FALSE)的设置
//交换后把后台清空
= D3DSWAPEFFECT_DISCARD ;//前台与后台交换后的方式
=; //设置显卡的模

3d游戏开发指南 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数96
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小1.35 MB
  • 时间2018-05-25