⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game_skybox.h

📁 自己写的一个D3D游戏Dome。实现了基本的游戏功能
💻 H
字号:
#pragma once
#include "stdafx.h"
#include "Game_DisplayObject.h"
#include "Game_App.h"

class Game_SkyBox:public Game_DisplayObject{
		D3DXVECTOR3				m_vPos;			  //摄像机位置
		LPDIRECT3DVERTEXBUFFER9	m_pVB;			  //顶点缓冲区指针
		LPDIRECT3DVERTEXBUFFER9	m_pVBSky;		  //云顶点缓冲
		LPDIRECT3DINDEXBUFFER9	m_pIBSky;		  //云索引缓冲
		LPDIRECT3DTEXTURE9		m_pTexture[7];	  //贴图数组

		UINT					m_nSegment;		  //天空盒每行矩形个数
		UINT					m_nSkyTile;		  //云每行矩形个数
		float					m_fWidth;         //与摄像机距离
		float					m_uSpeed;         //动态贴图u坐标的变化速度
		float					m_vSpeed;		  //动态贴图v坐标的变化速度
		float					m_nAngle;		  //苍穹的弧度
		char*					m_cStrSkyName;

		struct VERTEX_BOX{
			FLOAT	x,y,z;						
			FLOAT   nx,ny,nz;
			FLOAT	tu,tv;
		};

		const static DWORD D3DFVF_SKYBOX = D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1;
	public:
		Game_SkyBox(FLOAT width,char * strSkyName);
		~Game_SkyBox();
		
		HRESULT CreateSkyBox(char *strTextureA6[]=NULL);//创建天空盒并初始化顶点数组
		HRESULT LoadSkyBox(char * strName);//通过一个cfg文件获得贴图名称
		HRESULT InitialiseVertexBuffer();//初始化顶点缓冲
		virtual void Render();//渲染天空盒
		virtual void FrameMove();//设置世界矩阵
		virtual void InitObject(char * strName);

		VOID SetPosition(D3DXVECTOR3);//设置m_vPos
		WCHAR* CreateWideStringFromCharString(const char *c_str);
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -