22
33#include " ResourceManager.h"
44
5+ /* **********************************************************************************/
6+ PBRMaterial::PBRMaterial () {
7+ // Set material defaults
8+ std::fill (m_materialTextures.begin (), m_materialTextures.end (), 0 );
9+ std::fill (m_materialColors.begin (), m_materialColors.end (), glm::vec3 (0 .0f ));
10+ }
11+
512/* **********************************************************************************/
613void PBRMaterial::Init (const std::string_view name,
714 const std::string_view albedoPath,
@@ -18,7 +25,28 @@ void PBRMaterial::Init(const std::string_view name,
1825 m_materialTextures[METALLIC] = ResourceManager::GetInstance ().LoadTexture (metallicPath);
1926 m_materialTextures[NORMAL] = ResourceManager::GetInstance ().LoadTexture (normalPath);
2027 m_materialTextures[ROUGHNESS] = ResourceManager::GetInstance ().LoadTexture (roughnessPath);
21- m_materialTextures[ALPHA] = ResourceManager::GetInstance ().LoadTexture (alphaMaskPath);
28+
29+ m_alpha = ResourceManager::GetInstance ().LoadTexture (alphaMaskPath);
30+ }
31+
32+ /* **********************************************************************************/
33+ void PBRMaterial::Init (const std::string_view name,
34+ const glm::vec3& albedo,
35+ const glm::vec3& ao,
36+ const glm::vec3& metallic,
37+ const glm::vec3& normal,
38+ const glm::vec3& roughness,
39+ const float alpha)
40+ {
41+ Name = name;
42+
43+ m_materialColors[ALBEDO] = albedo;
44+ m_materialColors[AO] = ao;
45+ m_materialColors[METALLIC] = metallic;
46+ m_materialColors[NORMAL] = normal;
47+ m_materialColors[ROUGHNESS] = roughness;
48+
49+ m_alpha = alpha;
2250}
2351
2452/* **********************************************************************************/
@@ -27,6 +55,6 @@ unsigned int PBRMaterial::GetParameterTexture(const ParameterType parameter) con
2755}
2856
2957/* **********************************************************************************/
30- float PBRMaterial::GetParameterColor (const ParameterType parameter) const noexcept {
58+ glm::vec3 PBRMaterial::GetParameterColor (const ParameterType parameter) const noexcept {
3159 return m_materialColors[parameter];
3260}
0 commit comments