Update code style for Material objects
This commit is contained in:
parent
0d2011931c
commit
ac8421b5e1
2 changed files with 63 additions and 45 deletions
|
@ -8,78 +8,82 @@
|
||||||
#include "material.h"
|
#include "material.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace charles {
|
||||||
|
|
||||||
Material::Material()
|
Material::Material()
|
||||||
: diffuse_level(0.8),
|
: mDiffuseModel(DiffuseShaderModel::Lambert),
|
||||||
diffuse_color(Color::White),
|
mDiffuseIntensity(0.8),
|
||||||
specular_level(0.5),
|
mDiffuseColor(Color::White),
|
||||||
specular_color(Color::White)
|
mSpecularModel(SpecularShaderModel::Phong),
|
||||||
|
mSpecularIntensity(0.5),
|
||||||
|
mSpecularColor(Color::White)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
float
|
Double
|
||||||
Material::get_diffuse_level()
|
Material::GetDiffuseIntensity()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return diffuse_level;
|
return mDiffuseIntensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Material::set_diffuse_level(const float &kd)
|
Material::SetDiffuseIntensity(const Double& kd)
|
||||||
{
|
{
|
||||||
diffuse_level = kd;
|
mDiffuseIntensity = kd;
|
||||||
_clamp_parameter(diffuse_level);
|
ClampParameter(mDiffuseIntensity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const Color &
|
const Color&
|
||||||
Material::get_diffuse_color()
|
Material::GetDiffuseColor()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return diffuse_color;
|
return mDiffuseColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Material::set_diffuse_color(const Color &c)
|
Material::SetDiffuseColor(const Color& color)
|
||||||
{
|
{
|
||||||
diffuse_color = c;
|
mDiffuseColor = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
float
|
Double
|
||||||
Material::get_specular_level()
|
Material::GetSpecularIntensity()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return specular_level;
|
return mSpecularIntensity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Material::set_specular_level(const float &ks)
|
Material::SetSpecularIntensity(const Double& ks)
|
||||||
{
|
{
|
||||||
specular_level = ks;
|
mSpecularIntensity = ks;
|
||||||
_clamp_parameter(specular_level);
|
ClampParameter(mSpecularIntensity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const Color &
|
const Color&
|
||||||
Material::get_specular_color()
|
Material::GetSpecularColor()
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
return specular_color;
|
return mSpecularColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Material::set_specular_color(const Color &c)
|
Material::SetSpecularColor(const Color& color)
|
||||||
{
|
{
|
||||||
specular_color = c;
|
mSpecularColor = color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
Material::_clamp_parameter(float ¶m)
|
Material::ClampParameter(Double& param)
|
||||||
{
|
{
|
||||||
if (param < 0.0) {
|
if (param < 0.0) {
|
||||||
param = 0.0;
|
param = 0.0;
|
||||||
|
@ -88,3 +92,5 @@ Material::_clamp_parameter(float ¶m)
|
||||||
param = 1.0;
|
param = 1.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} /* namespace charles */
|
||||||
|
|
|
@ -9,37 +9,49 @@
|
||||||
#define __MATERIAL_H__
|
#define __MATERIAL_H__
|
||||||
|
|
||||||
#include "basics.h"
|
#include "basics.h"
|
||||||
|
#include "types.hh"
|
||||||
|
|
||||||
|
namespace charles {
|
||||||
|
|
||||||
class Material
|
struct Material
|
||||||
{
|
{
|
||||||
public:
|
enum class DiffuseShaderModel {
|
||||||
enum {
|
Lambert,
|
||||||
DiffuseLightingTypeLambert = 1,
|
};
|
||||||
} DiffuseLightingType;
|
|
||||||
|
enum class SpecularShaderModel {
|
||||||
|
Blinn,
|
||||||
|
Phong
|
||||||
|
};
|
||||||
|
|
||||||
Material();
|
Material();
|
||||||
|
|
||||||
float get_diffuse_level() const;
|
Double GetDiffuseIntensity() const;
|
||||||
void set_diffuse_level(const float &kd);
|
void SetDiffuseIntensity(const Double& kd);
|
||||||
const Color &get_diffuse_color() const;
|
|
||||||
void set_diffuse_color(const Color &c);
|
|
||||||
|
|
||||||
float get_specular_level() const;
|
const Color& GetDiffuseColor() const;
|
||||||
void set_specular_level(const float &kd);
|
void SetDiffuseColor(const Color& c);
|
||||||
const Color &get_specular_color() const;
|
|
||||||
void set_specular_color(const Color &c);
|
Double GetSpecularIntensity() const;
|
||||||
|
void SetSpecularIntensity(const Double& kd);
|
||||||
|
|
||||||
|
const Color &GetSpecularColor() const;
|
||||||
|
void SetSpecularColor(const Color& c);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _clamp_parameter(float ¶m);
|
void ClampParameter(Double& param);
|
||||||
|
|
||||||
// Diffuse parameters.
|
// Diffuse parameters.
|
||||||
float diffuse_level;
|
DiffuseShaderModel mDiffuseModel;
|
||||||
Color diffuse_color;
|
Double mDiffuseIntensity;
|
||||||
|
Color mDiffuseColor;
|
||||||
|
|
||||||
// Specular parameters.
|
// Specular parameters.
|
||||||
float specular_level;
|
SpecularShaderModel mSpecularModel;
|
||||||
Color specular_color;
|
Double mSpecularIntensity;
|
||||||
|
Color mSpecularColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} /* namespace charles */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue