Molecular Vis
Improving perception of molecular visualization
PBRMaterial.h
1 #pragma once
2 #include "Material.h"
3 #include <random>
4 
10 class PBRMaterial :
11  public Material
12 {
13 private:
14  glm::vec3 baseColor;
15  float ambient;
16  float metallic;
17  float specular;
18  float specularTint;
19  float roughness;
20  float sheen;
21  float sheenTint;
22  float clearcoat;
23  float cleatcoatGloss;
24 public:
41  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);
45  PBRMaterial(std::shared_ptr<Shader> shader, glm::vec3 baseColor);
49  PBRMaterial(std::shared_ptr<Shader> shader, glm::vec3 baseColor,float metallic, float roughness);
50  virtual ~PBRMaterial();
51 
56  virtual void setUniforms();
57 };
58 
Class for a physically based brdf. Inspired by Disney's BRDF.
Definition: PBRMaterial.h:10
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)
Definition: PBRMaterial.cpp:43
virtual void setUniforms()
Definition: PBRMaterial.cpp:61
Base class for materials.
Definition: Material.h:11
std::shared_ptr< Shader > shader
Definition: Material.h:18