cgv
Loading...
Searching...
No Matches
cgv::media::illum::surface_material Struct Reference

Stores properties of a surface material. More...

#include <surface_material.h>

Inheritance diagram for cgv::media::illum::surface_material:
cgv::media::illum::textured_surface_material cgv::render::textured_material

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
 

Detailed Description

Stores properties of a surface material.

Definition at line 25 of file surface_material.h.

Member Typedef Documentation

◆ color_type

Member Data Documentation

◆ ambient_occlusion

float cgv::media::illum::surface_material::ambient_occlusion = 1.0f

◆ brdf_type

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().

◆ diffuse_reflectance

◆ emission

color_type cgv::media::illum::surface_material::emission = { 0.0f }

◆ metalness

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().

◆ propagation_slow_down

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().

◆ roughness

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().

◆ roughness_anisotropy

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().

◆ roughness_orientation

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().

◆ specular_reflectance

color_type cgv::media::illum::surface_material::specular_reflectance = { 1.0f }

◆ transparency

float cgv::media::illum::surface_material::transparency = 0.0f

The documentation for this struct was generated from the following file: