SYMBOL INDEX (16 symbols across 1 files) FILE: tinyraytracer.cpp type vec3 (line 7) | struct vec3 { method vec3 (line 11) | vec3 operator*(const float v) const { return {x*v, y*v, z*v}; } method vec3 (line 13) | vec3 operator+(const vec3& v) const { return {x+v.x, y+v.y, z+v.z}; } method vec3 (line 14) | vec3 operator-(const vec3& v) const { return {x-v.x, y-v.y, z-v.z}; } method vec3 (line 15) | vec3 operator-() const { return {-x, -y, -z}; } method norm (line 16) | float norm() const { return std::sqrt(x*x+y*y+z*z); } method vec3 (line 17) | vec3 normalized() const { return (*this)*(1.f/norm()); } function vec3 (line 20) | vec3 cross(const vec3 v1, const vec3 v2) { method vec3 (line 11) | vec3 operator*(const float v) const { return {x*v, y*v, z*v}; } method vec3 (line 13) | vec3 operator+(const vec3& v) const { return {x+v.x, y+v.y, z+v.z}; } method vec3 (line 14) | vec3 operator-(const vec3& v) const { return {x-v.x, y-v.y, z-v.z}; } method vec3 (line 15) | vec3 operator-() const { return {-x, -y, -z}; } method norm (line 16) | float norm() const { return std::sqrt(x*x+y*y+z*z); } method vec3 (line 17) | vec3 normalized() const { return (*this)*(1.f/norm()); } type Material (line 24) | struct Material { type Sphere (line 31) | struct Sphere { function vec3 (line 55) | vec3 reflect(const vec3 &I, const vec3 &N) { method vec3 (line 11) | vec3 operator*(const float v) const { return {x*v, y*v, z*v}; } method vec3 (line 13) | vec3 operator+(const vec3& v) const { return {x+v.x, y+v.y, z+v.z}; } method vec3 (line 14) | vec3 operator-(const vec3& v) const { return {x-v.x, y-v.y, z-v.z}; } method vec3 (line 15) | vec3 operator-() const { return {-x, -y, -z}; } method norm (line 16) | float norm() const { return std::sqrt(x*x+y*y+z*z); } method vec3 (line 17) | vec3 normalized() const { return (*this)*(1.f/norm()); } function vec3 (line 59) | vec3 refract(const vec3 &I, const vec3 &N, const float eta_t, const floa... method vec3 (line 11) | vec3 operator*(const float v) const { return {x*v, y*v, z*v}; } method vec3 (line 13) | vec3 operator+(const vec3& v) const { return {x+v.x, y+v.y, z+v.z}; } method vec3 (line 14) | vec3 operator-(const vec3& v) const { return {x-v.x, y-v.y, z-v.z}; } method vec3 (line 15) | vec3 operator-() const { return {-x, -y, -z}; } method norm (line 16) | float norm() const { return std::sqrt(x*x+y*y+z*z); } method vec3 (line 17) | vec3 normalized() const { return (*this)*(1.f/norm()); } function ray_sphere_intersect (line 67) | std::tuple ray_sphere_intersect(const vec3 &orig, const vec3... function scene_intersect (line 79) | std::tuple scene_intersect(const vec3 &orig, co... function vec3 (line 106) | vec3 cast_ray(const vec3 &orig, const vec3 &dir, const int depth=0) { method vec3 (line 11) | vec3 operator*(const float v) const { return {x*v, y*v, z*v}; } method vec3 (line 13) | vec3 operator+(const vec3& v) const { return {x+v.x, y+v.y, z+v.z}; } method vec3 (line 14) | vec3 operator-(const vec3& v) const { return {x-v.x, y-v.y, z-v.z}; } method vec3 (line 15) | vec3 operator-() const { return {-x, -y, -z}; } method norm (line 16) | float norm() const { return std::sqrt(x*x+y*y+z*z); } method vec3 (line 17) | vec3 normalized() const { return (*this)*(1.f/norm()); } function main (line 127) | int main() {