逐梦旅程学习笔记 DirectX开发入门02:旋转的彩色立方体

本文是 系列笔记DirectX部分的第2篇,上一篇参见

逐梦旅程学习笔记 DirectX开发入门01:应用程序基本框架

这个示例增加了一些实际的内容,首先是绘制一个颜色随机变幻的彩色立方体,其二是显示FPS


我录制了一段运行时刻的视频如下(若无法显示请点此跳转



如果不能播放视频,请参考以下截图

因为GIF动态图片只能播放第一帧,所以就分别截取了几个时刻的静态帧图片










以上都是颜色填充模式,按下数字键‘1’后切换到线框模式



按下数字键‘2’切换回颜色填充模式。这个示例比较简单,没有涉及到高级的内容,如果能够理解01篇的话,这个示例应当不算太难。


我们来看看,原始的App类现在改成什么样了

#include <d3d9.h>
#include <d3dx9.h>
#include <Windows.h>

struct CUSTOMVERTEX
{
	FLOAT x, y, z;
	DWORD color;
};

#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)

class App
{
public:
	App();
	~App();
public:
	void Create(HWND hwnd);
	void Render(void);
	void CleanUp(void);

	void InitObjects(void);
	void Rotate(void);

	double GetFPS();

private:
	D3DPRESENT_PARAMETERS d3dpp;
	LPDIRECT3DDEVICE9 device;
	ID3DXFont*  pFont;
	char szFPS[32];

	LPDIRECT3DVERTEXBUFFER9		pVertexBuffer = NULL;    //顶点缓冲区对象
	LPDIRECT3DINDEXBUFFER9		pIndexBuffer = NULL;    // 索引缓存对象

	RECT rect;
	RECT clientRect;
	int width, height;
	double fps;
	int frameCount;
	DWORD tickCurrent;
	DWORD tickLast;
};

关于FVF(灵活顶点格式)可以参考这篇文章

3D游戏编程入门(十一)D3D基础之FVF格式


比较上述代码可以发现,App类增加了一些成员变量和3个新的方法。

ID3DXFont* pFont;  //将用作文字输出

char szFPS[32];  //存储用于输出的字符串


余下变量意义正如其名,例如

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值