📄 cmaterialmanager.cpp
字号:
#include "CMaterialManager.h"
#include "normal.h"
CMaterialManager::CMaterialManager()
{
}
CMaterialManager::~CMaterialManager()
{
}
///////////////////////////////////////////////
//处理新加入的材质
///////////////////////////////////////////////
void CMaterialManager::AddNewMaterial( CMaterial &m )
{
m_MaterialArray.Add( m );
}
////////////////////////////////////////////////
//初始化材质数组
///////////////////////////////////////////////
bool CMaterialManager::Init( )
{
m_MaterialArray.SetLength( 0 );
CMaterial material;
material.SetEmissive( 0.4f, 0.4f, 0.4f, 1.0f );
material.SetDiffuse( 0.0f, 1.0f, 0.0f, 1.0f );
m_MaterialArray.Add( material );
material.SetDiffuse( 1.0f, 0.0f, 0.0f, 1.0f );
m_MaterialArray.Add( material );
material.SetDiffuse( 0.0f, 0.0f, 1.0f, 1.0f );
m_MaterialArray.Add( material );
material.SetDiffuse( 1.0f, 1.0f, 0.0f, 1.0f );
m_MaterialArray.Add( material );
material.SetDiffuse( 1.0f, 0.0f, 1.0f, 1.0f );
m_MaterialArray.Add( material );
material.SetDiffuse( 0.0f, 1.0f, 0.0f, 1.0f );
m_MaterialArray.Add( material );
return true;
}
////////////////////////////////////////////////
//释放
///////////////////////////////////////////////
void CMaterialManager::Free()
{
m_MaterialArray.Free();
}
////////////////////////////////////////////////
//绘制时设置材质
///////////////////////////////////////////////
void CMaterialManager::SetMaterial( IDirect3DDevice9 *pD, int iIndex )
{
if ( iIndex > 0 && iIndex <= m_MaterialArray.GetLength() )
{
pD->SetMaterial( m_MaterialArray[iIndex - 1].GetMaterial() );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -