#include "Material.h" #include "Utilities.h" #include "WICTextureLoader9.h" using namespace DirectX; UINT Material::init(IDirect3DDevice9* pD3DDevice, LPCWSTR textureFileName) { // load texture HRESULT hr = CreateWICTextureFromFile(pD3DDevice, textureFileName, &_pTexture, 0, WIC_LOADER_MIP_AUTOGEN); CheckFailed(hr, 600); // set material D3DMATERIAL9 material = {}; material.Ambient = { 1.0f, 1.0f, 1.0f, 1.0f }; material.Diffuse = { 1.0f, 1.0f, 1.0f, 1.0f }; material.Specular = { 1.0f, 1.0f, 1.0f, 1.0f }; material.Emissive = { 0.0f, 0.0f, 0.0f, 1.0f }; material.Power = 1024.0f; pD3DDevice->SetMaterial(&material); return 0; } void Material::render(IDirect3DDevice9* pD3DDevice) { // set texture pD3DDevice->SetTexture(0, _pTexture); // set sampler state pD3DDevice->SetSamplerState(0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); pD3DDevice->SetSamplerState(0, D3DSAMP_BORDERCOLOR, D3DCOLOR_XRGB(255, 0, 255)); pD3DDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT); pD3DDevice->SetSamplerState(0, D3DSAMP_MAXMIPLEVEL, 0); } void Material::deInit() { }