opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
mesh_phong_material.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace osc
8{
10 friend bool operator==(const MeshPhongMaterialParams&, const MeshPhongMaterialParams&) = default;
11
12 Vector3 light_position = {1.0f, 1.0f, 1.0f};
13 Vector3 viewer_position = {0.0f, 0.0f, 0.0f};
15 Color ambient_color = {0.1f, 0.1f, 0.1f};
17 Color specular_color = {0.1f, 0.1f, 0.1f};
18 float specular_shininess = 32.0f;
19 };
20
21 // a material for drawing shiny meshes with specular highlights
22 //
23 // naming inspired by three.js's `MeshPhongMaterial`, but the implementation
24 // was ported from LearnOpenGL's basic lighting tutorial
26 public:
28
29 explicit MeshPhongMaterial(const Params& = Params{});
30
33
36
38 void set_light_color(const Color&);
39
42
45
48
49 float specular_shininess() const;
51 };
52}
Definition material.h:21
Definition mesh_phong_material.h:25
Color diffuse_color() const
void set_ambient_color(const Color &)
void set_light_position(const Vector3 &)
Color specular_color() const
void set_diffuse_color(const Color &)
Vector3 light_position() const
void set_light_color(const Color &)
void set_specular_shininess(float)
Vector3 viewer_position() const
float specular_shininess() const
Color ambient_color() const
Color light_color() const
void set_viewer_position(const Vector3 &)
MeshPhongMaterial(const Params &=Params{})
void set_specular_color(const Color &)
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56
Definition mesh_phong_material.h:9
Color ambient_color
Definition mesh_phong_material.h:15
Color specular_color
Definition mesh_phong_material.h:17
Vector3 light_position
Definition mesh_phong_material.h:12
Color diffuse_color
Definition mesh_phong_material.h:16
Vector3 viewer_position
Definition mesh_phong_material.h:13
friend bool operator==(const MeshPhongMaterialParams &, const MeshPhongMaterialParams &)=default
Color light_color
Definition mesh_phong_material.h:14
float specular_shininess
Definition mesh_phong_material.h:18
static constexpr Rgba blue()
Definition rgba.h:45
static constexpr Rgba white()
Definition rgba.h:31