candlewick 0.1.0
A renderer
Loading...
Searching...
No Matches
MaterialUniform.h
Go to the documentation of this file.
1#pragma once
2
3#include "math_types.h"
4
5namespace candlewick {
6
8struct alignas(16) PbrMaterial {
9 GpuVec4 baseColor{1., 1., 1., 1.};
10 float metalness = 0.f;
11 float roughness = 1.0f;
12 float ao = 1.0f;
13};
14
16struct alignas(16) PhongMaterial {
18 GpuVec4 ambient{0.2f, 0.2f, 0.2f, 1.0f};
19 GpuVec4 specular{0.5f, 0.5f, 0.5f, 1.0f};
20 GpuVec4 emissive{Float4::Zero()};
21 float shininess = 1.0f;
22 float reflectivity = 0.0f;
23};
24
25} // namespace candlewick
Definition Camera.h:8
Eigen::Matrix< float, 4, 1, Eigen::DontAlign > GpuVec4
Definition math_types.h:19
PBR material for metallic-roughness workflow.
Definition MaterialUniform.h:8
float ao
Definition MaterialUniform.h:12
float roughness
Definition MaterialUniform.h:11
GpuVec4 baseColor
Definition MaterialUniform.h:9
float metalness
Definition MaterialUniform.h:10
Material parameters for a Blinn-Phong lighting model.
Definition MaterialUniform.h:16
GpuVec4 ambient
Definition MaterialUniform.h:18
GpuVec4 diffuse
Definition MaterialUniform.h:17
GpuVec4 specular
Definition MaterialUniform.h:19
float reflectivity
Definition MaterialUniform.h:22
float shininess
Definition MaterialUniform.h:21
GpuVec4 emissive
Definition MaterialUniform.h:20