C/C++教程

重新规划DirectX

本文主要是介绍重新规划DirectX,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#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).

这篇关于重新规划DirectX的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!