Molecular Vis
Improving perception of molecular visualization
PBRMaterial Class Reference

Class for a physically based brdf. Inspired by Disney's BRDF. More...

#include <PBRMaterial.h>

Inheritance diagram for PBRMaterial:
Material

Public Member Functions

 PBRMaterial (std::shared_ptr< Shader > shader, glm::vec3 baseColor, float ambient, float metallic, float specular, float specularTint, float roughness, float anisotropic, float sheen, float sheenTint, float clearcoat, float clearcoatGloss)
 
 PBRMaterial (std::shared_ptr< Shader > shader, glm::vec3 baseColor)
 
 PBRMaterial (std::shared_ptr< Shader > shader, glm::vec3 baseColor, float metallic, float roughness)
 
virtual void setUniforms ()
 
- Public Member Functions inherited from Material
 Material (std::shared_ptr< Shader > shader)
 
virtual std::shared_ptr< ShadergetShader () final
 

Additional Inherited Members

- Protected Attributes inherited from Material
std::shared_ptr< Shadershader
 

Detailed Description

Class for a physically based brdf. Inspired by Disney's BRDF.

See https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf

Constructor & Destructor Documentation

◆ PBRMaterial() [1/3]

PBRMaterial::PBRMaterial ( std::shared_ptr< Shader shader,
glm::vec3  baseColor,
float  ambient,
float  metallic,
float  specular,
float  specularTint,
float  roughness,
float  anisotropic,
float  sheen,
float  sheenTint,
float  clearcoat,
float  clearcoatGloss 
)

Constructs BRDF. For meaning of parameters see: https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf

Parameters
shaderShader used to draw this material.
baseColor
ambient
metallic
specular
specularTint
roughness
anisotropic
sheen
sheenTint
clearcoat
clearcoatGloss

◆ PBRMaterial() [2/3]

PBRMaterial::PBRMaterial ( std::shared_ptr< Shader shader,
glm::vec3  baseColor 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ PBRMaterial() [3/3]

PBRMaterial::PBRMaterial ( std::shared_ptr< Shader shader,
glm::vec3  baseColor,
float  metallic,
float  roughness 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Member Function Documentation

◆ setUniforms()

void PBRMaterial::setUniforms ( )
virtual

Sets all material related uniforms in the shader of this material.

Reimplemented from Material.


The documentation for this class was generated from the following files: