From 56bed8e38f5b6d9effd77371ad781ae71601205b Mon Sep 17 00:00:00 2001 From: ladevieq Date: Mon, 21 Dec 2020 13:51:18 +0100 Subject: Add lambertian and metallic materials --- src/vec3.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/vec3.cpp') diff --git a/src/vec3.cpp b/src/vec3.cpp index f5b6909..92ccae4 100644 --- a/src/vec3.cpp +++ b/src/vec3.cpp @@ -61,6 +61,12 @@ vec3 vec3::unit() const { return *this / length(); } +bool vec3::near_zero() const { + const auto s = 1e-8; + + return (fabs(x) < s) && (fabs(y) < s) && (fabs(z) < s); +} + vec3 vec3::random() { return vec3 { randd(), randd(), randd() }; } @@ -101,6 +107,10 @@ vec3 operator/(vec3 u, double scale) { return (1.0 / scale) * u; } +vec3 reflect(vec3 v, vec3 n) { + return v - 2 * v.dot(n) * n; +} + std::ostream& operator<<(std::ostream& out, vec3 vec) { return out << vec.x << ' ' << vec.y << ' ' << vec.z << std::endl; } -- cgit v1.3