10#ifndef GRAPHICS_GMATERIAL_H_
11#define GRAPHICS_GMATERIAL_H_
133 bool enabled =
false;
138 void cleanupSlot(TextureSlot& slot);
140 std::array<TextureSlot, gTexture::TEXTURETYPE_COUNT> slots;
Definition gMaterial.h:18
gTexture * getMetalnessMap()
Definition gMaterial.h:108
void setRoughnessMap(gTexture *roughnessMap)
Definition gMaterial.h:99
void setNormalMap(gTexture *normalMap)
Definition gMaterial.h:75
gColor * getAmbientColor()
gTexture * getRoughnessMap()
Definition gMaterial.h:100
void bindAlbedoMap(int slotNo=3) const
Definition gMaterial.h:93
void setDiffuseMap(gTexture *diffuseMap)
Definition gMaterial.h:59
void unbindRoughnessMap() const
Definition gMaterial.h:102
void bindRoughnessMap(int slotNo=6) const
Definition gMaterial.h:101
void loadHeightMap(const std::string &texturePath)
Definition gMaterial.h:82
bool isMapEnabled(gTexture::TextureType type) const
void setSpecularColor(int r, int g, int b, int a=255)
float getShininess() const
void unbindAOMap() const
Definition gMaterial.h:126
void bindMap(gTexture::TextureType type, int slotNo) const
void loadMap(gTexture::TextureType type, const std::string &texturePath)
void setMetalnessMapEnabled(bool enabled)
Definition gMaterial.h:111
void bindAOMap(int slotNo=7) const
Definition gMaterial.h:125
void loadRoughnessMap(const std::string &texturePath)
Definition gMaterial.h:98
bool isMetalnessMapEnabled() const
Definition gMaterial.h:112
void unbindMap(gTexture::TextureType type) const
void loadMetalnessMap(const std::string &texturePath)
Definition gMaterial.h:106
void loadPbrNormalMap(const std::string &texturePath)
Definition gMaterial.h:114
void loadSpecularMap(const std::string &texturePath)
Definition gMaterial.h:66
void setSpecularColor(float r, float g, float b, float a=1.0f)
void setRoughnessMapEnabled(bool enabled)
Definition gMaterial.h:103
bool isAOMapEnabled() const
Definition gMaterial.h:128
bool isPbrNormalMapEnabled() const
Definition gMaterial.h:120
gTexture * getAlbedoMap()
Definition gMaterial.h:92
void bindHeightMap() const
Definition gMaterial.h:85
gTexture * getHeightMap()
Definition gMaterial.h:84
void setAmbientColor(float r, float g, float b, float a=1.0f)
void bindSpecularMap() const
Definition gMaterial.h:69
void unbindPbrNormalMap() const
Definition gMaterial.h:118
void setAmbientColor(gColor *color)
gTexture * getMap(gTexture::TextureType type) const
void loadAOMap(const std::string &texturePath)
Definition gMaterial.h:122
bool isSpecularMapEnabled() const
Definition gMaterial.h:72
void unbindAlbedoMap() const
Definition gMaterial.h:94
void loadNormalMap(const std::string &texturePath)
Definition gMaterial.h:74
void unbindDiffuseMap() const
Definition gMaterial.h:62
void bindMetalnessMap(int slotNo=5) const
Definition gMaterial.h:109
void unbindMetalnessMap() const
Definition gMaterial.h:110
void setAOMap(gTexture *map)
Definition gMaterial.h:123
void setDiffuseColor(int r, int g, int b, int a=255)
void setDiffuseColor(gColor *color)
void bindMap(gTexture::TextureType type) const
void bindNormalMap() const
Definition gMaterial.h:77
gColor * getDiffuseColor()
void setPbrNormalMap(gTexture *pbrNormalMap)
Definition gMaterial.h:115
gTexture * getPbrNormalMap()
Definition gMaterial.h:116
void setAlbedoMap(gTexture *albedoMap)
Definition gMaterial.h:91
bool isAlbedoMapEnabled() const
Definition gMaterial.h:96
gTexture * getAOMap()
Definition gMaterial.h:124
gMaterial & operator=(const gMaterial &other)
void setMap(gTexture::TextureType type, gTexture *texture)
void unbindHeightMap() const
Definition gMaterial.h:86
bool isHeightMapEnabled() const
Definition gMaterial.h:88
void setMetalnessMap(gTexture *metalnessMap)
Definition gMaterial.h:107
void setMapEnabled(gTexture::TextureType type, bool enabled)
void setShininess(float shininess)
bool isNormalMapEnabled() const
Definition gMaterial.h:80
void setSpecularMap(gTexture *specularMap)
Definition gMaterial.h:67
gTexture * getNormalMap()
Definition gMaterial.h:76
void setHeightMap(gTexture *heightMap)
Definition gMaterial.h:83
void setNormalMapEnabled(bool enabled)
Definition gMaterial.h:79
void loadAlbedoMap(const std::string &texturePath)
Definition gMaterial.h:90
void setAmbientColor(int r, int g, int b, int a=255)
void unbindSpecularMap() const
Definition gMaterial.h:70
gColor * getSpecularColor()
void setHeightMapEnabled(bool enabled)
Definition gMaterial.h:87
void setDiffuseMapEnabled(bool enabled)
Definition gMaterial.h:63
void setSpecularMapEnabled(bool enabled)
Definition gMaterial.h:71
gTexture * getDiffuseMap()
Definition gMaterial.h:60
void loadDiffuseMap(const std::string &texturePath)
Definition gMaterial.h:58
void setAOMapEnabled(bool enabled)
Definition gMaterial.h:127
bool isDiffuseMapEnabled() const
Definition gMaterial.h:64
void setAlbedoMapEnabled(bool enabled)
Definition gMaterial.h:95
void unbindNormalMap() const
Definition gMaterial.h:78
void setPbrNormalMapEnabled(bool enabled)
Definition gMaterial.h:119
gMaterial(const gMaterial &other)
void bindDiffuseMap() const
Definition gMaterial.h:61
void setDiffuseColor(float r, float g, float b, float a=1.0f)
void setSpecularColor(gColor *color)
void bindPbrNormalMap(int slotNo=4) const
Definition gMaterial.h:117
gTexture * getSpecularMap()
Definition gMaterial.h:68
bool isRoughnessMapEnabled() const
Definition gMaterial.h:104
Definition gRenderObject.h:25
TextureType
Definition gTexture.h:19
@ TEXTURETYPE_PBR_AO
Definition gTexture.h:28
@ TEXTURETYPE_HEIGHT
Definition gTexture.h:23
@ TEXTURETYPE_NORMAL
Definition gTexture.h:22
@ TEXTURETYPE_PBR_ALBEDO
Definition gTexture.h:24
@ TEXTURETYPE_PBR_METALNESS
Definition gTexture.h:26
@ TEXTURETYPE_DIFFUSE
Definition gTexture.h:20
@ TEXTURETYPE_PBR_ROUGHNESS
Definition gTexture.h:25
@ TEXTURETYPE_PBR_NORMAL
Definition gTexture.h:27
@ TEXTURETYPE_SPECULAR
Definition gTexture.h:21
float r
Definition gColor.h:22
float a
Definition gColor.h:22
float b
Definition gColor.h:22
float g
Definition gColor.h:22