35 lines
618 B
C
35 lines
618 B
C
#pragma once
|
|
struct vec3 {
|
|
double x, y, z;
|
|
};
|
|
typedef struct vec3 vec3;
|
|
|
|
struct triangle {
|
|
vec3 a, b, c;
|
|
vec3 normal;
|
|
}; typedef struct triangle triangle;
|
|
|
|
struct ray {
|
|
vec3 origin;
|
|
vec3 direction;
|
|
}; typedef struct ray ray;
|
|
|
|
struct sphere {
|
|
vec3 origin;
|
|
double radius;
|
|
double luminance;
|
|
}; typedef struct sphere sphere;
|
|
|
|
struct camera {
|
|
vec3 origin;
|
|
vec3 direction;
|
|
double height;
|
|
double width;
|
|
double resolutionX;
|
|
double resolutionY;
|
|
double screenDistance;
|
|
}; typedef struct camera camera;
|
|
|
|
struct rgba {
|
|
double r, g, b, a;
|
|
}; typedef struct rgba RGBA; |