69 lines
1.9 KiB
C
69 lines
1.9 KiB
C
#include "scene/scene.h"
|
|
#include "c_cpp_aliases/aliases.h"
|
|
#include "misc/misc_utils.h"
|
|
|
|
internal const sphere_t spheres[] = {
|
|
(sphere_t){
|
|
.radius = 1.0f,
|
|
.centre = (vec3f_t){.x = 0.0f, .y = -1.0f, .z = 3.0f},
|
|
.colour =
|
|
(colour_t){
|
|
.rgba.r = 245, .rgba.g = 238, .rgba.b = 158, .rgba.a = 255},
|
|
.specular = 500.0f,
|
|
.reflective = 0.3f,
|
|
},
|
|
(sphere_t){
|
|
.radius = 1.0f,
|
|
.centre = (vec3f_t){.x = -2.0f, .y = 0.0f, .z = 4.0f},
|
|
.colour =
|
|
(colour_t){
|
|
.rgba.r = 59, .rgba.g = 142, .rgba.b = 165, .rgba.a = 255},
|
|
.specular = 10.0f,
|
|
.reflective = 0.1f,
|
|
},
|
|
(sphere_t){
|
|
.radius = 1.0f,
|
|
.centre = (vec3f_t){.x = 2.0f, .y = 0.0f, .z = 4.0f},
|
|
.colour =
|
|
(colour_t){
|
|
.rgba.r = 171, .rgba.g = 52, .rgba.b = 40, .rgba.a = 255},
|
|
.specular = 500.0f,
|
|
.reflective = 0.4f,
|
|
},
|
|
(sphere_t){
|
|
.radius = 5000.0f,
|
|
.centre = (vec3f_t){.x = 0.0f, .y = -5001.0f, .z = 0.0f},
|
|
.colour =
|
|
(colour_t){
|
|
.rgba.r = 255, .rgba.g = 255, .rgba.b = 0, .rgba.a = 255},
|
|
.specular = 1000.0f,
|
|
.reflective = 0.5f,
|
|
},
|
|
};
|
|
|
|
internal const light_t lights[] = {
|
|
(light_t){
|
|
.type = LIGHT_TYPE_AMBIENT,
|
|
.intensity = 0.2f,
|
|
},
|
|
(light_t){
|
|
.type = LIGHT_TYPE_POINT,
|
|
.intensity = 0.6f,
|
|
.position = (vec3f_t){.x = 2.0f, .y = 1.0f, .z = 0.0f},
|
|
},
|
|
(light_t){
|
|
.type = LIGHT_TYPE_DIRECTIONAL,
|
|
.intensity = 0.2f,
|
|
.direction = (vec3f_t){.x = 1.0f, .y = 4.0f, .z = 4.0f},
|
|
},
|
|
};
|
|
|
|
internal scene_t scene = (scene_t){
|
|
.spheres = spheres,
|
|
.lights = lights,
|
|
.spheres_count = ARR_LEN(spheres),
|
|
.lights_count = ARR_LEN(lights),
|
|
};
|
|
|
|
const scene_t *build_test_scene(void) { return &scene; }
|