diff --git a/src/RayTracer.cc b/src/RayTracer.cc index 5e61b0f..ce579d5 100644 --- a/src/RayTracer.cc +++ b/src/RayTracer.cc @@ -2,7 +2,8 @@ #include "../external/simpleppm.h" #include "Parser.h" #include "Ray.h" -#include + +#include #include void RayTracer::parse() { @@ -18,12 +19,11 @@ void RayTracer::parse() { Ray getRay(int x, int y, const Vector3f &camPos, const Vector3f &lookat, float fov, int width, int height) { - // TODO: compute ray float focalLength = lookat.norm(); float theta = fov / 180 * 3.14159; float h = tan(theta / 2); float viewportHeight = 2 * h * focalLength; - float viewportWidth = viewportHeight * width / height; + float viewportWidth = viewportHeight * (float)width / height; Vector3f viewportU = Vector3f(viewportWidth, 0, 0); Vector3f viewportV = Vector3f(0, -viewportHeight, 0);