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"
|
||||
|
||||
|
||||
namespace charles {
|
||||
|
||||
Material::Material()
|
||||
: diffuse_level(0.8),
|
||||
diffuse_color(Color::White),
|
||||
specular_level(0.5),
|
||||
specular_color(Color::White)
|
||||
: mDiffuseModel(DiffuseShaderModel::Lambert),
|
||||
mDiffuseIntensity(0.8),
|
||||
mDiffuseColor(Color::White),
|
||||
mSpecularModel(SpecularShaderModel::Phong),
|
||||
mSpecularIntensity(0.5),
|
||||
mSpecularColor(Color::White)
|
||||
{ }
|
||||
|
||||
|
||||
float
|
||||
Material::get_diffuse_level()
|
||||
Double
|
||||
Material::GetDiffuseIntensity()
|
||||
const
|
||||
{
|
||||
return diffuse_level;
|
||||
return mDiffuseIntensity;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Material::set_diffuse_level(const float &kd)
|
||||
Material::SetDiffuseIntensity(const Double& kd)
|
||||
{
|
||||
diffuse_level = kd;
|
||||
_clamp_parameter(diffuse_level);
|
||||
mDiffuseIntensity = kd;
|
||||
ClampParameter(mDiffuseIntensity);
|
||||
}
|
||||
|
||||
|
||||
const Color &
|
||||
Material::get_diffuse_color()
|
||||
const Color&
|
||||
Material::GetDiffuseColor()
|
||||
const
|
||||
{
|
||||
return diffuse_color;
|
||||
return mDiffuseColor;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Material::set_diffuse_color(const Color &c)
|
||||
Material::SetDiffuseColor(const Color& color)
|
||||
{
|
||||
diffuse_color = c;
|
||||
mDiffuseColor = color;
|
||||
}
|
||||
|
||||
|
||||
float
|
||||
Material::get_specular_level()
|
||||
Double
|
||||
Material::GetSpecularIntensity()
|
||||
const
|
||||
{
|
||||
return specular_level;
|
||||
return mSpecularIntensity;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Material::set_specular_level(const float &ks)
|
||||
Material::SetSpecularIntensity(const Double& ks)
|
||||
{
|
||||
specular_level = ks;
|
||||
_clamp_parameter(specular_level);
|
||||
mSpecularIntensity = ks;
|
||||
ClampParameter(mSpecularIntensity);
|
||||
}
|
||||
|
||||
|
||||
const Color &
|
||||
Material::get_specular_color()
|
||||
const Color&
|
||||
Material::GetSpecularColor()
|
||||
const
|
||||
{
|
||||
return specular_color;
|
||||
return mSpecularColor;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Material::set_specular_color(const Color &c)
|
||||
Material::SetSpecularColor(const Color& color)
|
||||
{
|
||||
specular_color = c;
|
||||
mSpecularColor = color;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Material::_clamp_parameter(float ¶m)
|
||||
Material::ClampParameter(Double& param)
|
||||
{
|
||||
if (param < 0.0) {
|
||||
param = 0.0;
|
||||
|
@ -88,3 +92,5 @@ Material::_clamp_parameter(float ¶m)
|
|||
param = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
} /* namespace charles */
|
||||
|
|
|
@ -9,37 +9,49 @@
|
|||
#define __MATERIAL_H__
|
||||
|
||||
#include "basics.h"
|
||||
#include "types.hh"
|
||||
|
||||
namespace charles {
|
||||
|
||||
class Material
|
||||
struct Material
|
||||
{
|
||||
public:
|
||||
enum {
|
||||
DiffuseLightingTypeLambert = 1,
|
||||
} DiffuseLightingType;
|
||||
enum class DiffuseShaderModel {
|
||||
Lambert,
|
||||
};
|
||||
|
||||
enum class SpecularShaderModel {
|
||||
Blinn,
|
||||
Phong
|
||||
};
|
||||
|
||||
Material();
|
||||
|
||||
float get_diffuse_level() const;
|
||||
void set_diffuse_level(const float &kd);
|
||||
const Color &get_diffuse_color() const;
|
||||
void set_diffuse_color(const Color &c);
|
||||
Double GetDiffuseIntensity() const;
|
||||
void SetDiffuseIntensity(const Double& kd);
|
||||
|
||||
float get_specular_level() const;
|
||||
void set_specular_level(const float &kd);
|
||||
const Color &get_specular_color() const;
|
||||
void set_specular_color(const Color &c);
|
||||
const Color& GetDiffuseColor() const;
|
||||
void SetDiffuseColor(const Color& c);
|
||||
|
||||
Double GetSpecularIntensity() const;
|
||||
void SetSpecularIntensity(const Double& kd);
|
||||
|
||||
const Color &GetSpecularColor() const;
|
||||
void SetSpecularColor(const Color& c);
|
||||
|
||||
private:
|
||||
void _clamp_parameter(float ¶m);
|
||||
void ClampParameter(Double& param);
|
||||
|
||||
// Diffuse parameters.
|
||||
float diffuse_level;
|
||||
Color diffuse_color;
|
||||
DiffuseShaderModel mDiffuseModel;
|
||||
Double mDiffuseIntensity;
|
||||
Color mDiffuseColor;
|
||||
|
||||
// Specular parameters.
|
||||
float specular_level;
|
||||
Color specular_color;
|
||||
SpecularShaderModel mSpecularModel;
|
||||
Double mSpecularIntensity;
|
||||
Color mSpecularColor;
|
||||
};
|
||||
|
||||
} /* namespace charles */
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue