20 lines
217 B
C
20 lines
217 B
C
|
#ifndef RAY_H
|
||
|
#define RAY_H
|
||
|
|
||
|
#include "vec3.h"
|
||
|
|
||
|
typedef struct ray ray;
|
||
|
struct ray
|
||
|
{
|
||
|
vec3 origin;
|
||
|
vec3 direction;
|
||
|
};
|
||
|
|
||
|
inline vec3
|
||
|
at(ray r, double t)
|
||
|
{
|
||
|
return vecadd(r.origin, vecscale(t, r.direction));
|
||
|
}
|
||
|
|
||
|
#endif
|