Implement basic shading and colors.

CameraRay struct now stores information about tile intersection.
This commit is contained in:
2023-05-01 00:10:01 +01:00
parent 67c41106ff
commit 22cd090f92
7 changed files with 82 additions and 16 deletions
+1 -2
View File
@@ -2,7 +2,6 @@
#include <stdio.h>
#include "maths.h"
#include "level.h"
#define ROTATION_SPEED PI
#define TRANSLATIONAL_SPEED 1.f
@@ -59,7 +58,7 @@ static void castRays(Camera* camera)
float rayDirection = camera->direction - camera->fov/2.f + rayDirectionStep/2.f;
for (unsigned int i = 0; i < camera->resolution; i++) {
camera->rays[i].direction = rayDirection;
camera->rays[i].distance = level_rayCastDistance(camera->pos, rayDirection);
camera->rays[i].distance = level_rayCast(camera->pos, rayDirection, &camera->rays[i].tileData);
rayDirection += rayDirectionStep;
}