simple class to hold the material properties of a phong material
More...
#include <surface_material.h>
|
| surface_material (BrdfType _brdf_type=BrdfType(BT_STRAUSS_DIFFUSE+BT_STRAUSS), color_type _diffuse_reflectance=color_type(0.5f, 0.5f, 0.5f), float _roughness=0.5f, float _metalness=0.0f, float _ambient_occlusion=1.0f, color_type _emission=color_type(0, 0, 0), float _transparency=0.0f, const std::complex< float > &_propagation_slow_down=std::complex< float >(1.5f, 0.0f), float _roughness_anisotropy=0.0f, float _roughness_orientation=0.0f, color_type _specular_reflectance=color_type(1, 1, 1)) |
| construct default material
|
|
void | set_brdf_type (BrdfType brdf_type) |
|
BrdfType | get_brdf_type () const |
|
BrdfType & | ref_brdf_type () |
|
void | set_ambient_occlusion (float ambient_occlusion) |
|
float | get_ambient_occlusion () const |
|
float & | ref_ambient_occlusion () |
|
void | set_diffuse_reflectance (color_type diffuse_reflectance) |
|
color_type | get_diffuse_reflectance () const |
|
color_type & | ref_diffuse_reflectance () |
|
void | set_specular_reflectance (color_type specular_reflectance) |
|
color_type | get_specular_reflectance () const |
|
color_type & | ref_specular_reflectance () |
|
void | set_emission (color_type emission) |
|
color_type | get_emission () const |
|
color_type & | ref_emission () |
|
void | set_transparency (float transparency) |
|
float | get_transparency () const |
|
float & | ref_transparency () |
|
void | set_roughness (float roughness) |
|
float | get_roughness () const |
|
float & | ref_roughness () |
|
void | set_metalness (float metalness) |
|
float | get_metalness () const |
|
float & | ref_metalness () |
|
void | set_roughness_anisotropy (float roughness_anisotropy) |
|
float | get_roughness_anisotropy () const |
|
float & | ref_roughness_anisotropy () |
|
void | set_roughness_orientation (float roughness_orientation) |
|
float | get_roughness_orientation () const |
|
float & | ref_roughness_orientation () |
|
void | set_propagation_slow_down (std::complex< float > propagation_slow_down) |
|
std::complex< float > | get_propagation_slow_down () const |
|
std::complex< float > & | ref_propagation_slow_down () |
|
|
BrdfType | brdf_type |
| store brdf type, defaults to BT_COOK_TORRANCE
|
|
color_type | diffuse_reflectance |
| diffuse reflectance of surface, defaults to 0.5,0.5,0.5
|
|
float | roughness |
| surface roughness in the range [0,1] (1/2 trace of symmetric 2x2 matrix for anisotropic case where directional roughness is represented in the uv-coordinate system of texcoords), defaults to 0.5
|
|
float | metalness |
| metalness of surface
|
|
float | ambient_occlusion |
| scalar factor to down scale ambient light, defaults to 1
|
|
color_type | emission |
| emissive color component, defaults to 0,0,0
|
|
float | transparency |
| modulation for transparency, defaults to 0
|
|
std::complex< float > | propagation_slow_down |
| complex fraction of complex interior over real exterior index of refraction, defaults to 1.5,0
|
|
float | roughness_anisotropy |
| difference of roughness matrix eigenvalues in range [0,1] relative to roughness , i.e. lambda_1 - lambda_2 = roughness_anisotropy*roughness, defaults to 0
|
|
float | roughness_orientation |
| orientation of roughness in range [0,1], where 0 corresponds to u-direction and 0.5 to v direction, defaults to 0
|
|
color_type | specular_reflectance |
| specular color used to modulate specular reflection component, should be 1,1,1
|
|
simple class to hold the material properties of a phong material
Definition at line 25 of file surface_material.h.
◆ color_type
◆ surface_material()
cgv::media::illum::surface_material::surface_material |
( |
BrdfType |
_brdf_type = BrdfType(BT_STRAUSS_DIFFUSE + BT_STRAUSS) , |
|
|
color_type |
_diffuse_reflectance = color_type(0.5f, 0.5f, 0.5f) , |
|
|
float |
_roughness = 0.5f , |
|
|
float |
_metalness = 0.0f , |
|
|
float |
_ambient_occlusion = 1.0f , |
|
|
color_type |
_emission = color_type(0,0,0) , |
|
|
float |
_transparency = 0.0f , |
|
|
const std::complex< float > & |
_propagation_slow_down = std::complex<float>(1.5f,0.0f) , |
|
|
float |
_roughness_anisotropy = 0.0f , |
|
|
float |
_roughness_orientation = 0.0f , |
|
|
color_type |
_specular_reflectance = color_type(1,1,1) |
|
) |
| |
◆ get_ambient_occlusion()
float cgv::media::illum::surface_material::get_ambient_occlusion |
( |
| ) |
const |
|
inline |
◆ get_brdf_type()
BrdfType cgv::media::illum::surface_material::get_brdf_type |
( |
| ) |
const |
|
inline |
◆ get_diffuse_reflectance()
color_type cgv::media::illum::surface_material::get_diffuse_reflectance |
( |
| ) |
const |
|
inline |
◆ get_emission()
color_type cgv::media::illum::surface_material::get_emission |
( |
| ) |
const |
|
inline |
◆ get_metalness()
float cgv::media::illum::surface_material::get_metalness |
( |
| ) |
const |
|
inline |
◆ get_propagation_slow_down()
std::complex< float > cgv::media::illum::surface_material::get_propagation_slow_down |
( |
| ) |
const |
|
inline |
◆ get_roughness()
float cgv::media::illum::surface_material::get_roughness |
( |
| ) |
const |
|
inline |
◆ get_roughness_anisotropy()
float cgv::media::illum::surface_material::get_roughness_anisotropy |
( |
| ) |
const |
|
inline |
◆ get_roughness_orientation()
float cgv::media::illum::surface_material::get_roughness_orientation |
( |
| ) |
const |
|
inline |
◆ get_specular_reflectance()
color_type cgv::media::illum::surface_material::get_specular_reflectance |
( |
| ) |
const |
|
inline |
◆ get_transparency()
float cgv::media::illum::surface_material::get_transparency |
( |
| ) |
const |
|
inline |
◆ ref_ambient_occlusion()
float & cgv::media::illum::surface_material::ref_ambient_occlusion |
( |
| ) |
|
|
inline |
◆ ref_brdf_type()
BrdfType & cgv::media::illum::surface_material::ref_brdf_type |
( |
| ) |
|
|
inline |
◆ ref_diffuse_reflectance()
color_type & cgv::media::illum::surface_material::ref_diffuse_reflectance |
( |
| ) |
|
|
inline |
◆ ref_emission()
color_type & cgv::media::illum::surface_material::ref_emission |
( |
| ) |
|
|
inline |
◆ ref_metalness()
float & cgv::media::illum::surface_material::ref_metalness |
( |
| ) |
|
|
inline |
◆ ref_propagation_slow_down()
std::complex< float > & cgv::media::illum::surface_material::ref_propagation_slow_down |
( |
| ) |
|
|
inline |
◆ ref_roughness()
float & cgv::media::illum::surface_material::ref_roughness |
( |
| ) |
|
|
inline |
◆ ref_roughness_anisotropy()
float & cgv::media::illum::surface_material::ref_roughness_anisotropy |
( |
| ) |
|
|
inline |
◆ ref_roughness_orientation()
float & cgv::media::illum::surface_material::ref_roughness_orientation |
( |
| ) |
|
|
inline |
◆ ref_specular_reflectance()
color_type & cgv::media::illum::surface_material::ref_specular_reflectance |
( |
| ) |
|
|
inline |
◆ ref_transparency()
float & cgv::media::illum::surface_material::ref_transparency |
( |
| ) |
|
|
inline |
◆ set_ambient_occlusion()
void cgv::media::illum::surface_material::set_ambient_occlusion |
( |
float |
ambient_occlusion | ) |
|
|
inline |
◆ set_brdf_type()
void cgv::media::illum::surface_material::set_brdf_type |
( |
BrdfType |
brdf_type | ) |
|
|
inline |
◆ set_diffuse_reflectance()
void cgv::media::illum::surface_material::set_diffuse_reflectance |
( |
color_type |
diffuse_reflectance | ) |
|
|
inline |
◆ set_emission()
void cgv::media::illum::surface_material::set_emission |
( |
color_type |
emission | ) |
|
|
inline |
◆ set_metalness()
void cgv::media::illum::surface_material::set_metalness |
( |
float |
metalness | ) |
|
|
inline |
◆ set_propagation_slow_down()
void cgv::media::illum::surface_material::set_propagation_slow_down |
( |
std::complex< float > |
propagation_slow_down | ) |
|
|
inline |
◆ set_roughness()
void cgv::media::illum::surface_material::set_roughness |
( |
float |
roughness | ) |
|
|
inline |
◆ set_roughness_anisotropy()
void cgv::media::illum::surface_material::set_roughness_anisotropy |
( |
float |
roughness_anisotropy | ) |
|
|
inline |
◆ set_roughness_orientation()
void cgv::media::illum::surface_material::set_roughness_orientation |
( |
float |
roughness_orientation | ) |
|
|
inline |
◆ set_specular_reflectance()
void cgv::media::illum::surface_material::set_specular_reflectance |
( |
color_type |
specular_reflectance | ) |
|
|
inline |
◆ set_transparency()
void cgv::media::illum::surface_material::set_transparency |
( |
float |
transparency | ) |
|
|
inline |
◆ ambient_occlusion
float cgv::media::illum::surface_material::ambient_occlusion |
|
protected |
scalar factor to down scale ambient light, defaults to 1
Definition at line 40 of file surface_material.h.
◆ brdf_type
BrdfType cgv::media::illum::surface_material::brdf_type |
|
protected |
◆ diffuse_reflectance
color_type cgv::media::illum::surface_material::diffuse_reflectance |
|
protected |
diffuse reflectance of surface, defaults to 0.5,0.5,0.5
Definition at line 34 of file surface_material.h.
◆ emission
color_type cgv::media::illum::surface_material::emission |
|
protected |
◆ metalness
float cgv::media::illum::surface_material::metalness |
|
protected |
◆ propagation_slow_down
std::complex<float> cgv::media::illum::surface_material::propagation_slow_down |
|
protected |
complex fraction of complex interior over real exterior index of refraction, defaults to 1.5,0
Definition at line 46 of file surface_material.h.
◆ roughness
float cgv::media::illum::surface_material::roughness |
|
protected |
surface roughness in the range [0,1] (1/2 trace of symmetric 2x2 matrix for anisotropic case where directional roughness is represented in the uv-coordinate system of texcoords), defaults to 0.5
Definition at line 36 of file surface_material.h.
◆ roughness_anisotropy
float cgv::media::illum::surface_material::roughness_anisotropy |
|
protected |
difference of roughness matrix eigenvalues in range [0,1] relative to roughness
, i.e. lambda_1 - lambda_2 = roughness_anisotropy*roughness, defaults to 0
Definition at line 48 of file surface_material.h.
◆ roughness_orientation
float cgv::media::illum::surface_material::roughness_orientation |
|
protected |
orientation of roughness in range [0,1], where 0 corresponds to u-direction and 0.5 to v direction, defaults to 0
Definition at line 50 of file surface_material.h.
◆ specular_reflectance
color_type cgv::media::illum::surface_material::specular_reflectance |
|
protected |
specular color used to modulate specular reflection component, should be 1,1,1
Definition at line 52 of file surface_material.h.
◆ transparency
float cgv::media::illum::surface_material::transparency |
|
protected |
The documentation for this class was generated from the following files: