xmodel.cpp

来自「3D游戏展示程序」· C++ 代码 · 共 55 行

CPP
55
字号
//--------------------------------------------------
//  Desc: ms3d model node
//  Author: artsylee/2007.3.23
//--------------------------------------------------

#include "XModel.h"
#include "Common.h"
#include "ModelManager.h"
#include "XLoader.h"

CXModel::CXModel()
{
	SetNodeType(NT_X_MODEL);
	m_hModel = INVALID_HANDLE;
}

CXModel::~CXModel()
{
	if(g_pModelManager)
		g_pModelManager->ReleaseModel(m_hModel);
}

bool CXModel::Load(char *pFileName)
{
	if(g_pModelManager)
	{
		// 输入小写文件名
		//_strlwr(pFileName);
		m_hModel = g_pModelManager->LoadModel(pFileName, TYPE_X);
	}
	if(m_hModel != INVALID_HANDLE)
		return true;
	else
		return false;
}

void CXModel::Update(void)
{
	GNode::Update();
}

void CXModel::Render(void)
{
	if(g_pModelManager)
	{
		CXLoader *pLoader = (CXLoader*)(g_pModelManager->GetModel(m_hModel));
		if(pLoader)
		{
			D3DXMATRIX matWorld;
			GetWorldTransform(&matWorld);
			g_pD3DDevice->SetTransform(D3DTS_WORLD, &matWorld);
			pLoader->Render();
		}
	}
}

⌨️ 快捷键说明

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