Bomberman-OverlordEngine-x64 / BombermanGame / Materials / DiffuseOpacityMaterial.cpp
DiffuseOpacityMaterial.cpp
Raw
#include "stdafx.h"
#include "DiffuseOpacityMaterial.h"

DiffuseOpacityMaterial::DiffuseOpacityMaterial() :
	Material<DiffuseOpacityMaterial>(L"Effects/PosNormTex3D_Opacity.fx")
{}

void DiffuseOpacityMaterial::SetDiffuseTexture(const std::wstring& assetFile)
{
	m_pDiffuseTexture = ContentManager::Load<TextureData>(assetFile);
	SetVariable_Texture(L"gDiffuseMap", m_pDiffuseTexture);
}

void DiffuseOpacityMaterial::SetOpacityTexture(const std::wstring& assetFile)
{
	m_pOpacityTexture = ContentManager::Load<TextureData>(assetFile);
	SetVariable_Texture(L"gOpacityMap", m_pOpacityTexture);
}

TextureData* DiffuseOpacityMaterial::GetOpacityTexture()
{
	return m_pOpacityTexture;
}

void DiffuseOpacityMaterial::InitializeEffectVariables()
{
	
}

void DiffuseOpacityMaterial::OnUpdateModelVariables(const SceneContext& sceneContext, const ModelComponent*) const
{
	//Update the Light Direction (retrieve the direction from the LightManager > sceneContext)
	XMFLOAT4 lightDir = sceneContext.pLights->GetDirectionalLight().direction;
	SetVariable_Vector(L"gLightDirection", XMFLOAT3{ lightDir.x, lightDir.y, lightDir.z });
}