Browse Source

Merge branch 'main' of github.com:ailrst/blackpink into main

HEAD
alistair 4 years ago
parent
commit
afb68edd88
  1. 28
      camera.c
  2. 19
      distfuncs.c
  3. 1
      main.c
  4. 2
      scene.c

28
camera.c

@ -288,19 +288,20 @@ process_pixel(int i, int j) @@ -288,19 +288,20 @@ process_pixel(int i, int j)
p.col.g += (16.0 / p.scene_dist);
p.col.b += (16.0 / p.scene_dist);
} else {
// p.col.r -= p.iterations;
// p.col.g -= p.iterations;
// p.col.b -= p.iterations;
}
double fade_intensity = 10;
p.col.r -= p.iterations / 2;
p.col.g -= p.iterations / 2;
p.col.b -= p.iterations / 2;
if (p.travel_dist < DRAW_DIST) {
p.col.r -= fade_intensity * p.travel_dist / DRAW_DIST;
p.col.g -= fade_intensity * p.travel_dist / DRAW_DIST;
p.col.b -= fade_intensity * p.travel_dist / DRAW_DIST;
double fade_intensity = 50;
// if (p.travel_dist < DRAW_DIST) {
p.col.r += fade_intensity * p.travel_dist / DRAW_DIST;
p.col.g += fade_intensity * p.travel_dist / DRAW_DIST;
p.col.b += fade_intensity * p.travel_dist / DRAW_DIST;
}
//}
p.col.r = clamp(p.col.r, 0, 255);
p.col.g = clamp(p.col.g, 0, 255);
@ -309,15 +310,6 @@ process_pixel(int i, int j) @@ -309,15 +310,6 @@ process_pixel(int i, int j)
// printf("%d, ", p.iterations);
/*
if (p.col.r < 0) p.col.r = 0;
if (p.col.g < 0) p.col.g = 0;
if (p.col.b < 0) p.col.b = 0;
if (p.col.r > 255) p.col.r = 255;
if (p.col.g > 255) p.col.g = 255;
if (p.col.b > 255) p.col.b = 255;
*/
// p.col.b = 255.0 / p.scene_dist;
// if (p.col.b > 255) p.col.b = 255;

19
distfuncs.c

@ -298,8 +298,13 @@ new_object(struct vec* position, double rotation, double scale, @@ -298,8 +298,13 @@ new_object(struct vec* position, double rotation, double scale,
return new_obj;
}
struct colour yeet_whit(struct ray *ray, struct object* obj) {
struct colour c = {.r = 200, .g = 200, .b = 0, .a = 255, .sp=CS_RGB};
return c;
}
struct object new_plane(struct vec* position, double rotation, double scale) {
return new_object(position, rotation, scale, sdf_hplane, yeet_pho);
return new_object(position, rotation, scale, sdf_hplane, yeet_whit);
}
struct object new_sphere(struct vec* position, double rotation, double scale) {
@ -324,11 +329,6 @@ struct object new_vert_line(struct vec* position, double rotation, double scale) @@ -324,11 +329,6 @@ struct object new_vert_line(struct vec* position, double rotation, double scale)
return new_object(position, rotation, scale, sdf_phat_vert_line, yeet_pho);
}
struct colour yeet_whit(struct ray *ray, struct object* obj) {
struct colour c = {.r = 200, .g = 200, .b = 200, .a = 255, .sp=CS_RGB};
return c;
}
struct colour yeet_green(struct ray *ray, struct object* obj) {
struct colour c = {.r = 0, .g = (rand() % 127) + 127, .b = 0, .a = 255, .sp=CS_RGB};
return c;
@ -349,12 +349,13 @@ struct colour yeet_brown(struct ray *ray, struct object* obj) { @@ -349,12 +349,13 @@ struct colour yeet_brown(struct ray *ray, struct object* obj) {
struct object* new_tree(struct vec* position, double rotation, double scale) {
struct object* tree = malloc(2 * sizeof(struct object));
struct object trunk = new_object(position, rotation, scale, sdf_phat_vert_line, yeet_pho);
trunk.base_col = (struct colour){.r = 210, .g = 105, .b = 30, .sp = CS_RGB};
trunk.base_col = (struct colour){.r = 0x92, .g = 0x2D, .b = 0x50, .sp = CS_RGB};
trunk.base_col.g += rand() % 20;
struct vec* leaf_pos = add_vec_ip(new_vec3(0, -1.5, 0), position);
struct object leaves = new_object(leaf_pos, rotation, scale, sdf_3ellipsoid, yeet_pho);
leaves.base_col = (struct colour){.r = 0, .g = 255, .b = 0, .sp = CS_RGB};
leaves.base_col = (struct colour){.r = 30 + random() % 20, .g = 155 + random() % 100, .b = random() % 90, .sp = CS_RGB};
leaves.base_col = (struct colour){.r = 0xC0, .g = 0xDA, .b = 0x74, .sp = CS_RGB};
// leaves.base_col = (struct colour){.r = 30 + random() % 20, .g = 155 + random() % 100, .b = random() % 90, .sp = CS_RGB};
tree[0] = trunk;
tree[1] = leaves;

1
main.c

@ -145,6 +145,7 @@ void setup_camera_scene() @@ -145,6 +145,7 @@ void setup_camera_scene()
camera->x->elements[0] = 1;
camera->y->elements[1] = 1;
camera->z->elements[2] = 1;
camera->pos->elements[2] = 4;
camera->light = new_vec4(0, 1000, -1000, 0);

2
scene.c

@ -51,7 +51,7 @@ new_scene(int num_scene_objects, struct object* scene_objects) @@ -51,7 +51,7 @@ new_scene(int num_scene_objects, struct object* scene_objects)
for (int i = 0; i < num_scene_objects; i++) {
place(&(scene.objects[i].sol));
}
*/
*/
struct object *scene_rep = malloc(sizeof(struct object));
scene_rep->sol.dist = distance_function;

Loading…
Cancel
Save