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

📄 x_model.h

📁 大家好!这是一个网络游戏源码
💻 H
字号:
#define D3D_OVERLOADS

#include "d3d.h"
#include "d3dx.h"

#include "D3DTextr.h"
#include "D3DUtil.h"
#include "D3DMath.h"


#include "D3Dfile.h"

#include "d3d_app.h"

class X_MODEL
{
	CD3DFile*	m_pObj;
    FLOAT		m_fObjRadius;
    FLOAT		m_fEyeDistance;

    D3DMATRIX	m_matSave;
    D3DMATRIX	m_matRotate;
    
    BOOL		m_bCull;
    BOOL		m_bFlat;
    BOOL		m_bWire;

public:
    HRESULT	LoadXFile(char *strFileName);
    
	VOID	SetupMatrices();
	VOID	SetOwnView();
	inline	VOID Render();
	
	float       m_fScaleX;
	float       m_fScaleY;
	float       m_fScaleZ;
    
	float       m_fYaw;
	float       m_fPitch;
	float       m_fRoll;
	
	float       m_fInitYaw;
	float       m_fInitPitch;
	float       m_fInitRoll;

	BOOL        m_boInitFlag;
	
	VOID		InitPosition(float x , float y , float z , float fYaw , float fPitch , float fRoll) 
				{ 
					m_Position.x = x;	
					m_Position.y = y;
					m_Position.z = z; 
					m_fInitYaw   = fYaw;  
					m_fInitPitch = fPitch;  
					m_fInitRoll  = fRoll; 
					m_boInitFlag = TRUE;
				}
	
	VOID		SetScale(float x	,	 float y	,	float z)
				{ m_fScaleX     = x;  m_fScaleY    = y;  m_fScaleZ     = z; }
	
	D3DXVECTOR3	m_Position;
	VOID		MoveRelative(D3DVECTOR &Dir);

	X_MODEL();
};


inline void X_MODEL::Render()
{
	if( m_pObj )  
	{
		g_pd3dDevice->SetRenderState( D3DRENDERSTATE_LIGHTING, TRUE);
		g_pd3dDevice->SetRenderState(  D3DRENDERSTATE_AMBIENT, 0x00000000);
	   
		DWORD dwCullMode  = m_bCull ? D3DCULL_CCW : D3DCULL_NONE;
		DWORD dwShadeMode = m_bFlat ? D3DSHADE_FLAT : D3DSHADE_GOURAUD;
		DWORD dwFillMode  = m_bWire ? D3DFILL_WIREFRAME : D3DFILL_SOLID;
		g_pd3dDevice->SetRenderState( D3DRENDERSTATE_CULLMODE,  dwCullMode );
		g_pd3dDevice->SetRenderState( D3DRENDERSTATE_SHADEMODE, dwShadeMode );
		g_pd3dDevice->SetRenderState( D3DRENDERSTATE_FILLMODE,  dwFillMode );
		m_pObj->Render( g_pd3dDevice );
		g_pd3dDevice->SetRenderState( D3DRENDERSTATE_LIGHTING, FALSE);
		
	}
}

⌨️ 快捷键说明

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