Compare commits

...

1 Commits

Author SHA1 Message Date
rv3392 c7d411c561 Fix place function by using vec4 instead of vec3 4 years ago
  1. 4
      distfuncs.c
  2. 5
      main.c
  3. 2
      scene.c

4
distfuncs.c

@ -351,8 +351,8 @@ struct object* new_tree(struct vec* position, double rotation, double scale) { @@ -351,8 +351,8 @@ struct object* new_tree(struct vec* position, double rotation, double scale) {
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};
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);
struct vec* leaf_pos = add_vec_ip(new_vec4(0, -1.5, 0, 0), position);
struct object leaves = new_object(leaf_pos, rotation, scale, sdf_3ellipsoid, yeet_green);
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};

5
main.c

@ -163,8 +163,9 @@ void setup_camera_scene() @@ -163,8 +163,9 @@ void setup_camera_scene()
scene_objects[0] = new_plane(plane_pos, 1, 1);
for (int i = lastelem; i < lastelem + 2 * num_trees; i+=2) {
struct vec* random_pos = new_random_vec(3, lower_pos_bound, upper_pos_bound);
struct vec* random_pos = new_random_vec(4, lower_pos_bound, upper_pos_bound);
random_pos->elements[1] = 0;
random_pos->elements[3] = 0;
struct object* tree = new_tree(random_pos, 0, 1);
scene_objects[i] = tree[0];
@ -172,7 +173,7 @@ void setup_camera_scene() @@ -172,7 +173,7 @@ void setup_camera_scene()
}
scene_object = new_scene(2 * num_trees + lastelem, scene_objects);
scene_object->sol.pos.dimension = 3;
scene_object->sol.pos.dimension = 4;
scene_object->sol.pos.elements = camera->pos->elements;
}

2
scene.c

@ -47,11 +47,9 @@ new_scene(int num_scene_objects, struct object* scene_objects) @@ -47,11 +47,9 @@ new_scene(int num_scene_objects, struct object* scene_objects)
scene.num_objects = num_scene_objects;
scene.objects = 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