very basic thing works

This commit is contained in:
Dynamitos
2025-01-25 15:22:49 +01:00
parent 42ef4cda81
commit 86b6d678f6
3 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -11,8 +11,8 @@ int main()
Window window(1920, 1080); Window window(1920, 1080);
scene.startRender( scene.startRender(
Camera{ Camera{
.position = glm::vec3(0, 0, 10), .position = glm::vec3(0, 10, 10),
.direction = glm::vec3(0, 0, -1), .direction = glm::vec3(0, -1, -1),
}, },
RenderParameter{ RenderParameter{
.width = 1920, .width = 1920,
+1 -1
View File
@@ -86,7 +86,7 @@ std::optional<IntersectionInfo> BVH::traceRay(Ray ray)
std::vector<IntersectionInfo> BVH::generateIntersections(PNode& currentNode, Ray ray) std::vector<IntersectionInfo> BVH::generateIntersections(PNode& currentNode, Ray ray)
{ {
if (!currentNode->aabb.intersects(ray, 0, 1)) if (!currentNode->aabb.intersects(ray, 0, std::numeric_limits<float>::max()))
{ {
return {}; return {};
} }
+1 -1
View File
@@ -49,7 +49,7 @@ void Scene::render(Camera camera, RenderParameter params)
std::uniform_real_distribution<float> rnd02(0.0, 2.0); std::uniform_real_distribution<float> rnd02(0.0, 2.0);
for (int h = 0; h < params.height; ++h) for (int h = 0; h < params.height; ++h)
{ {
Ray cam = Ray(camera.position, camera.direction); Ray cam = Ray(camera.position, glm::normalize(camera.direction));
glm::vec3 cx = glm::vec3 cx =
glm::normalize(glm::cross(cam.direction, abs(cam.direction.y) < 0.9 ? glm::vec3(0, 1, 0) : glm::vec3(0, 0, 1))), glm::normalize(glm::cross(cam.direction, abs(cam.direction.y) < 0.9 ? glm::vec3(0, 1, 0) : glm::vec3(0, 0, 1))),
cy = glm::cross(cx, cam.direction); cy = glm::cross(cx, cam.direction);