#include<d3d9.h>
//只有包含该文件Direct3D头文件d3d9.h才能使用Direct3D函数和结构
#include "opencv2/highgui/highgui.hpp"
//是一个重要的头文件,包括图形界面和视频图像处理的头文件
#include "opencv2/imgproc/imgproc.hpp"
//图像处理模块,主要包含了图像的变换,滤波直方图相关结构分析,形状描述
using namespace cv;
using namespace std;//命名空间
//Mat类是OpenCV用于处理图像而引入的封装类
int type;//用于分辨功能用途
LPDIRECT3D9 g_D3D = NULL; //Direct3D对象
LPDIRECT3DDEVICE9 g_D3DDevice = NULL;//Direct3D设备
IDirect3DTexture9*g_pTexture = 0;//接口 操作纹理资源(new)
D3DXMATRIX g_matWorld;//世界矩阵(表示点的空间位置的矩阵)
世界矩阵使物体移动
IDirect3DVertexBuffer9*g_VertexBuffer = NULL;//应用程序使用IDirect3DVertexBuffer9接口的方法来操作顶点缓冲区资源
顶点缓冲区保存几何图形。
LPDIRECT3DVERTEXBUFFER9 g_VertexBuffer = NULL;
#define D3DFVF_VERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE)
#define D3DFVF_VERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
我们自定义的FVF,它描述了我们自定义的顶点结构。
要使物体移动就需要每帧改变世界矩阵
物体在世界坐标系中的初始位置是(0,0,0)即物体的初始世界坐标为(0,0,0).