cgv
|
Stores properties of a surface material. More...
#include <surface_material.h>
Public Types | |
using | color_type = cgv::rgb |
Public Attributes | |
BrdfType | brdf_type = BrdfType(BT_STRAUSS_DIFFUSE + BT_STRAUSS) |
store brdf type, defaults to BT_STRAUSS_DIFFUSE + BT_STRAUSS | |
color_type | diffuse_reflectance = { 0.5f } |
diffuse reflectance of surface, defaults to 0.5,0.5,0.5 | |
float | roughness = 0.5f |
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 = 0.0f |
metalness of surface, defaults to 0 | |
float | ambient_occlusion = 1.0f |
scalar factor to down scale ambient light, defaults to 1 | |
color_type | emission = { 0.0f } |
emissive color component, defaults to 0,0,0 | |
float | transparency = 0.0f |
modulation for transparency, defaults to 0 | |
std::complex< float > | propagation_slow_down = { 1.5f, 0.0f } |
complex fraction of complex interior over real exterior index of refraction, defaults to 1.5,0 | |
float | roughness_anisotropy = 0.0f |
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 = 0.0f |
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 = { 1.0f } |
specular color used to modulate specular reflection component, should be 1,1,1 | |
Stores properties of a surface material.
Definition at line 25 of file surface_material.h.
Definition at line 26 of file surface_material.h.
float cgv::media::illum::surface_material::ambient_occlusion = 1.0f |
scalar factor to down scale ambient light, defaults to 1
Definition at line 36 of file surface_material.h.
Referenced by cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
BrdfType cgv::media::illum::surface_material::brdf_type = BrdfType(BT_STRAUSS_DIFFUSE + BT_STRAUSS) |
store brdf type, defaults to BT_STRAUSS_DIFFUSE + BT_STRAUSS
Definition at line 28 of file surface_material.h.
Referenced by cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
color_type cgv::media::illum::surface_material::diffuse_reflectance = { 0.5f } |
diffuse reflectance of surface, defaults to 0.5,0.5,0.5
Definition at line 30 of file surface_material.h.
Referenced by cgv::render::build_render_info(), cgv::render::gl::gl_implicit_surface_drawable_base::gl_implicit_surface_drawable_base(), cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
color_type cgv::media::illum::surface_material::emission = { 0.0f } |
emissive color component, defaults to 0,0,0
Definition at line 38 of file surface_material.h.
Referenced by cgv::render::build_render_info(), cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
float cgv::media::illum::surface_material::metalness = 0.0f |
metalness of surface, defaults to 0
Definition at line 34 of file surface_material.h.
Referenced by cgv::render::build_render_info(), and cgv::render::shader_program::set_material_uniform().
std::complex<float> cgv::media::illum::surface_material::propagation_slow_down = { 1.5f, 0.0f } |
complex fraction of complex interior over real exterior index of refraction, defaults to 1.5,0
Definition at line 42 of file surface_material.h.
Referenced by cgv::render::shader_program::set_material_uniform().
float cgv::media::illum::surface_material::roughness = 0.5f |
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 32 of file surface_material.h.
Referenced by cgv::render::build_render_info(), cgv::render::gl::gl_implicit_surface_drawable_base::gl_implicit_surface_drawable_base(), cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
float cgv::media::illum::surface_material::roughness_anisotropy = 0.0f |
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 44 of file surface_material.h.
Referenced by cgv::render::shader_program::set_material_uniform().
float cgv::media::illum::surface_material::roughness_orientation = 0.0f |
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 46 of file surface_material.h.
Referenced by cgv::render::shader_program::set_material_uniform().
color_type cgv::media::illum::surface_material::specular_reflectance = { 1.0f } |
specular color used to modulate specular reflection component, should be 1,1,1
Definition at line 48 of file surface_material.h.
Referenced by cgv::render::gl::gl_implicit_surface_drawable_base::gl_implicit_surface_drawable_base(), cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().
float cgv::media::illum::surface_material::transparency = 0.0f |
modulation for transparency, defaults to 0
Definition at line 40 of file surface_material.h.
Referenced by cgv::render::build_render_info(), cgv::render::gl::gl_context::set_material(), cgv::render::shader_program::set_material_uniform(), and cgv::media::illum::textured_surface_material::textured_surface_material().