30 void Material :: setDefault() noexcept
32 m_transparency = 0.0f;
33 m_specularExponent = 1.0f;
34 m_surfaceRoughness = 0.0f;
35 m_ambient.set(0.1
f,0.1
f,0.1
f);
36 m_diffuse.set(0.8
f,0.8
f,0.8
f);
37 m_specular.set(0,0,0);
40 Material::Material(STDMAT _mat) noexcept
42 m_specularExponent = s_materials[
static_cast<int>(_mat)][9];
43 m_ambient.set(s_materials[static_cast<int>(_mat)][0],s_materials[static_cast<int>(_mat)][1],s_materials[static_cast<int>(_mat)][2]);
44 m_diffuse.set(s_materials[static_cast<int>(_mat)][3],s_materials[static_cast<int>(_mat)][4],s_materials[static_cast<int>(_mat)][5]);
45 m_specular.set(s_materials[static_cast<int>(_mat)][6],s_materials[static_cast<int>(_mat)][7],s_materials[static_cast<int>(_mat)][8]);
46 m_specularExponent = s_materials[
static_cast<int>(_mat)][9];
47 m_surfaceRoughness = 0.0;
52 void Material :: change( STDMAT _mat) noexcept
54 m_specularExponent = s_materials[
static_cast<int>(_mat)][9];
55 m_ambient.set(s_materials[static_cast<int>(_mat)][0],s_materials[static_cast<int>(_mat)][1],s_materials[static_cast<int>(_mat)][2]);
56 m_diffuse.set(s_materials[static_cast<int>(_mat)][3],s_materials[static_cast<int>(_mat)][4],s_materials[static_cast<int>(_mat)][5]);
57 m_specular.set(s_materials[static_cast<int>(_mat)][6],s_materials[static_cast<int>(_mat)][7],s_materials[static_cast<int>(_mat)][8]);
61 Material::Material(
int _mat) noexcept
63 m_specularExponent = s_materials[_mat][9];
64 m_ambient.set(s_materials[_mat][0],s_materials[_mat][1],s_materials[_mat][2]);
65 m_diffuse.set(s_materials[_mat][3],s_materials[_mat][4],s_materials[_mat][5]);
66 m_specular.set(s_materials[_mat][6],s_materials[_mat][7],s_materials[_mat][8]);
67 m_surfaceRoughness = 0.0;
72 void Material :: set(
const Material &_m) noexcept
74 m_transparency = _m.m_transparency;
75 m_specularExponent = _m.m_specularExponent;
76 m_surfaceRoughness = _m.m_surfaceRoughness;
77 m_ambient.set(_m.m_ambient);
78 m_diffuse.set(_m.m_diffuse);
79 m_specular.set(_m.m_specular);
85 Material::Material(
const std::string &_fName) noexcept
90 if (!FileIn.is_open())
92 std::cout <<
"File : "<< _fName <<
" Not found Exiting "<<std::endl;
104 void Material::load(
const std::string &_fname) noexcept
107 std::cout<<
"Load of "<<_fname <<
" not yet implemented\n";
111 void Material::loadToShader(
std::string _uniformName )
const noexcept
127 shader->setShaderParam4f(_uniformName+
".ambient",m_ambient.m_r,m_ambient.m_g,m_ambient.m_b,m_ambient.m_a);
128 shader->setShaderParam4f(_uniformName+
".diffuse",m_diffuse.m_r,m_diffuse.m_g,m_diffuse.m_b,m_diffuse.m_a);
129 shader->setShaderParam4f(_uniformName+
".specular",m_specular.m_r,m_specular.m_g,m_specular.m_b,m_specular.m_a);
130 shader->setShaderParam1f(_uniformName+
".shininess", m_specularExponent);
main shader loader / manager class for GLSL shaders
implementation files for RibExport class
stream helpers for ngl data types
static ShaderLib * instance()
Get the instance.
GLsizei const GLchar *const * string