DX9.0入门笔记

终于开始看DX编程了,说了好久了,终于开始看了,呵呵,万事开头难嘛,希望最后能有所收获吧。刚开始看DX初级教程,觉得跟原来学的图形学的只是基本相同,原来是用OPENGL编程,理论知识都是一样的。什么裁减啊,视角啊,还有深度的都一样,开头总是很简单的,我都总结出一个规律了,凡是编程基础教程第一个实例就是什么“HELLOWORD”之类的。小结下DX9的例子吧:

 LPDIRECT3D9 m_pD3D;       //Direct3D 对象接口指针
 LPDIRECT3DDEVICE9 m_pDevice;         //设备对象接口
 LPDIRECT3DVERTEXBUFFER9 m_pVB;;      //顶点缓存区的接口指针
 LPDIRECT3DINDEXBUFFER9 m_pIB;      //索引缓存区接口 ,节余相同顶点缓存的
记得创建的资源要一一Release()掉哦
D3DPRESENT_PARAMETERS d3dpp; //描述了显示器surface的信息
  // m_pD3D->CreateDevice(      //创建设备对象,并获取接口IDirect3DDevice9的指针
  D3DADAPTER_DEFAULT,        //使用缺省的显卡
  D3DDEVTYPE_HAL,   //指定设备类型为HAL
  m_hWnd,             //Direct3D窗口的句柄
  D3DCREATE_SOFTWARE_VERTEXPROCESSING,  //软件顶点处理
  &d3dpp, &m_pDevice);
 m_pDevice->Clear( ... ... ); //用指定颜色清除后备缓存
 m_pDevice->CreateIndexBuffer(... ...); //创建索引缓存区,并获取接口LPDIRECT3DINDEXBUFFER9的指针
 ::D3DXMatrixRotationY( &matWorld, angle );     //计算世界变换矩阵
 m_pDevice->SetTransform( D3DTS_WORLD, &matWorld );  //把世界变换矩阵设置到渲染环境,旋转时用
 D3DXVECTOR3 eye( 0.0f, 3.0f,-5.0f ); //观察点
 D3DXVECTOR3 lookat( 0.0f, 0.0f, 0.0f ); //视线目标点
 D3DXVECTOR3 up( 0.0f, 1.0f, 0.0f ); //上方向
 ::D3DXMatrixLookAtLH( &matView, &eye, &lookat, &up );  //计算视角变换矩阵
 m_pDevice->SetTransform( D3DTS_VIEW, &matView );  //把视角变换矩阵设置到渲染环境
  ::D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f ); //计算透视投影变换矩阵
 m_pDevice->SetTransform( D3DTS_PROJECTION, &matProj ); //把投影变换矩阵设置到渲染环境
//上面几句是3D观测物体时候要用到的
好了,就总结这么多吧,其他一些琐碎的如画点画面就不累赘了,等在看看书在总结下。养成好习惯^_^
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值