(Material) Added methods to loads and get default

Former-commit-id: 9169e84208b0cddbe698daa9286c8b7eb6a8244c
This commit is contained in:
Lynix 2012-11-27 21:37:14 +01:00
parent 64601a72e7
commit f48b9ba370
2 changed files with 38 additions and 0 deletions

View File

@ -53,6 +53,10 @@ class NAZARA_API NzMaterial : public NzResource
bool IsZTestEnabled() const;
bool IsZWriteEnabled() const;
bool LoadFromFile(const NzString& filePath, const NzMaterialParams& params = NzMaterialParams());
bool LoadFromMemory(const void* data, std::size_t size, const NzMaterialParams& params = NzMaterialParams());
bool LoadFromStream(NzInputStream& stream, const NzMaterialParams& params = NzMaterialParams());
void Reset();
void SetAmbientColor(const NzColor& ambient);
@ -67,6 +71,8 @@ class NAZARA_API NzMaterial : public NzResource
void SetSrcAlpha(nzBlendFunc func);
void SetZTestCompare(nzRendererComparison compareFunc);
static const NzMaterial* GetDefault();
private:
nzBlendFunc m_dstAlpha;
nzBlendFunc m_srcAlpha;

View File

@ -110,6 +110,21 @@ bool NzMaterial::IsZWriteEnabled() const
return m_zWriteEnabled;
}
bool NzMaterial::LoadFromFile(const NzString& filePath, const NzMaterialParams& params)
{
return NzMaterialLoader::LoadFromFile(this, filePath, params);
}
bool NzMaterial::LoadFromMemory(const void* data, std::size_t size, const NzMaterialParams& params)
{
return NzMaterialLoader::LoadFromMemory(this, data, size, params);
}
bool NzMaterial::LoadFromStream(NzInputStream& stream, const NzMaterialParams& params)
{
return NzMaterialLoader::LoadFromStream(this, stream, params);
}
void NzMaterial::Reset()
{
if (m_diffuseMap)
@ -203,4 +218,21 @@ void NzMaterial::SetZTestCompare(nzRendererComparison compareFunc)
m_zTestEnabled = compareFunc;
}
const NzMaterial* NzMaterial::GetDefault()
{
static NzMaterial defaultMaterial;
static bool initialized = false;
if (!initialized)
{
defaultMaterial.SetFaceCulling(nzFaceCulling_FrontAndBack);
defaultMaterial.SetFaceFilling(nzFaceFilling_Line);
defaultMaterial.SetDiffuseColor(NzColor::White);
initialized = true;
}
return &defaultMaterial;
}
NzMaterialLoader::LoaderList NzMaterial::s_loaders;