From 4014436905aace9acd47dde245b88bd5f69335ec Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Mon, 9 Mar 2026 23:31:27 +0800 Subject: Sending Rays Into the Scene --- src/vec3.cc | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) (limited to 'src/vec3.cc') diff --git a/src/vec3.cc b/src/vec3.cc index d01f90a..4332c56 100644 --- a/src/vec3.cc +++ b/src/vec3.cc @@ -74,59 +74,3 @@ double vec3::length_squared() const { return e[0] * e[0] + e[1] * e[1] + e[2] * e[2]; } - -// point3 is just an alias for vec3, but useful for geometric clarity in the code. -using point3 = vec3; - -// Vector Utility Functions - -inline std::ostream& operator<<( std::ostream& out, const vec3& v ) -{ - return out << v.e[0] << ' ' << v.e[1] << ' ' << v.e[2]; -} - -inline vec3 operator+( const vec3& u, const vec3& v ) -{ - return { u.e[0] + v.e[0], u.e[1] + v.e[1], u.e[2] + v.e[2] }; -} - -inline vec3 operator-( const vec3& u, const vec3& v ) -{ - return { u.e[0] - v.e[0], u.e[1] - v.e[1], u.e[2] - v.e[2] }; -} - -inline vec3 operator*( const vec3& u, const vec3& v ) -{ - return { u.e[0] * v.e[0], u.e[1] * v.e[1], u.e[2] * v.e[2] }; -} - -inline vec3 operator*( double t, const vec3& v ) -{ - return { t * v.e[0], t * v.e[1], t * v.e[2] }; -} - -inline vec3 operator*( const vec3& v, double t ) -{ - return t * v; -} - -inline vec3 operator/( const vec3& v, double t ) -{ - return ( 1 / t ) * v; -} - -inline double dot( const vec3& u, const vec3& v ) -{ - return u.e[0] * v.e[0] + u.e[1] * v.e[1] + u.e[2] * v.e[2]; -} - -inline vec3 cross( const vec3& u, const vec3& v ) -{ - return { - u.e[1] * v.e[2] - u.e[2] * v.e[1], u.e[2] * v.e[0] - u.e[0] * v.e[2], u.e[0] * v.e[1] - u.e[1] * v.e[0] }; -} - -inline vec3 unit_vector( const vec3& v ) -{ - return v / v.length(); -} -- cgit v1.2.3