From 5e4cfb84e6fdceed93aaec7ad9c9ecff0d2ebc66 Mon Sep 17 00:00:00 2001 From: Godzil Date: Wed, 26 Feb 2020 00:30:09 +0000 Subject: [PATCH] Fix an issue with groups, and add Chapter 14 example! --- README.md | 5 +- output/ch14_test.png | Bin 0 -> 114733 bytes source/include/group.h | 2 +- source/include/shape.h | 3 +- source/shapes/group.cpp | 28 ++++++ tests/CMakeLists.txt | 6 ++ tests/ch14_test.cpp | 203 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 244 insertions(+), 3 deletions(-) create mode 100644 output/ch14_test.png create mode 100644 tests/ch14_test.cpp diff --git a/README.md b/README.md index 1821b39..1f32ac8 100644 --- a/README.md +++ b/README.md @@ -54,4 +54,7 @@ From Chapter 13 - Cylinders: ![Chapter 13 rendering test](output/ch13_test.png) Bonus: -![Chapter 13 cone test](output/ch13_cone.png) \ No newline at end of file +![Chapter 13 cone test](output/ch13_cone.png) + +From Chapter 14 - Groups & Bounding boxes +![Chapter 14 rendering test](output/ch14_test.png) \ No newline at end of file diff --git a/output/ch14_test.png b/output/ch14_test.png new file mode 100644 index 0000000000000000000000000000000000000000..968aadb98042af3a629bdb6e6c47df3394b0dba0 GIT binary patch literal 114733 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%0DponVr&h(2QtH|VZN(Zx^2z#w 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[p]; } Intersect intersect(Ray r); - BoundingBox getBounds(); void updateBoundingBox(); + void updateTransform(); Group(); }; diff --git a/source/include/shape.h b/source/include/shape.h index 190a145..6884fb3 100644 --- a/source/include/shape.h +++ b/source/include/shape.h @@ -61,7 +61,8 @@ public: virtual BoundingBox getBounds(); virtual bool haveFiniteBounds() { return true; }; - void updateTransform(); + virtual void updateTransform(); + Tuple worldToObject(Tuple point) { return this->inverseTransform * point; }; Tuple objectToWorld(Tuple point) { return this->transformMatrix * point; }; Tuple normalToWorld(Tuple normalVector); diff --git a/source/shapes/group.cpp b/source/shapes/group.cpp index 81c92f3..aa63e75 100644 --- a/source/shapes/group.cpp +++ b/source/shapes/group.cpp @@ -136,4 +136,32 @@ void Group::updateBoundingBox() } } } +} + +void Group::updateTransform() +{ + int i; + + Shape::updateTransform(); + if (this->objectCount > 0) + { + for (i = 0 ; i < this->objectCount ; i++) + { + this->objectList[i]->updateTransform(); + } + } + + /* We are force to do them all the time */ + if (this->unboxableObjectCount > 0) + { + for(i = 0; i < this->unboxableObjectCount; i++) + { + this->unboxableObjectList[i]->updateTransform(); + } + } + + /* Once the full stack being notified of the changes, let's update the + * bounding box + */ + this->updateBoundingBox(); } \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ffcb1a3..9b1deae 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -85,6 +85,11 @@ target_include_directories(ch13_cone PUBLIC ../source/include) target_sources(ch13_cone PRIVATE ch13_cone.cpp) target_link_libraries(ch13_cone rayonnement) +add_executable(ch14_test) +target_include_directories(ch14_test PUBLIC ../source/include) +target_sources(ch14_test PRIVATE ch14_test.cpp) +target_link_libraries(ch14_test rayonnement) + add_test(NAME Chapter05_Test COMMAND $) add_test(NAME Chapter06_Test COMMAND $) add_test(NAME Chapter07_Test COMMAND $) @@ -96,6 +101,7 @@ add_test(NAME Chapter11_Test COMMAND $) add_test(NAME Chapter12_Test COMMAND $) add_test(NAME Chapter13_Test COMMAND $) add_test(NAME Chapter13_ConeBonus COMMAND $) +add_test(NAME Chapter14_Test COMMAND $) add_test(NAME Test_Rendering COMMAND $) add_test(NAME Hw3Render COMMAND $ ${CMAKE_CURRENT_SOURCE_DIR}/test.hw3scene) add_test(NAME Hw3RenderAllCmds COMMAND $ ${CMAKE_CURRENT_SOURCE_DIR}/test_keys.hw3scene) \ No newline at end of file diff --git a/tests/ch14_test.cpp b/tests/ch14_test.cpp new file mode 100644 index 0000000..a5599ee --- /dev/null +++ b/tests/ch14_test.cpp @@ -0,0 +1,203 @@ +/* + * DoRayMe - a quick and dirty Raytracer + * Render test for reflection in chapter 13. + * + * Created by Manoƫl Trapier + * Copyright (c) 2020 986-Studio. + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +Shape *leg() +{ + Group *ret = new Group(); + Sphere *s = new Sphere(); + s->setTransform(translation(0, 0, -1) * scaling(0.25, 0.25, 0.25)); + ret->addObject(s); + Cylinder *cyl = new Cylinder(); + cyl->minCap = 0; + cyl->maxCap = 1; + cyl->isClosed = false; + cyl->setTransform(translation(0, 0, -1) * rotationY(-0.5236) * rotationZ(-1.5708) * scaling(0.25, 1, 0.25)); + + ret->addObject(cyl); + + return ret; +} + +Shape *cap() +{ + Group *ret = new Group(); + + Cone *c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationY(1.0472) * rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationY(2.0944) * rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationY(3.1416) * rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationY(4.1888) * rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + c = new Cone(); + c->minCap = -1; + c->maxCap = 0; + c->isClosed = false; + c->setTransform(rotationY(5.236) * rotationX(-0.7854) * scaling(0.24606, 1.37002, 0.24606)); + ret->addObject(c); + + return ret; +} + +Shape *wacky() +{ + Group *ret = new Group(); + + Shape *s; + + s = leg(); + ret->addObject(s); + + s = leg(); + s->setTransform(rotationY(1.0472)); + ret->addObject(s); + + s = leg(); + s->setTransform(rotationY(2.0944)); + ret->addObject(s); + + s = leg(); + s->setTransform(rotationY(3.1416)); + ret->addObject(s); + + s = leg(); + s->setTransform(rotationY(4.1888)); + ret->addObject(s); + + s = leg(); + s->setTransform(rotationY(5.236)); + ret->addObject(s); + + s = cap(); + s->setTransform(translation(0, 1, 0)); + ret->addObject(s); + + s = cap(); + s->setTransform(rotationX(3.1416) * translation(0, 1, 0)); + ret->addObject(s); + + return ret; +} +int main() +{ + World w = World(); + + /* Add lights */ + Light light1 = Light(POINT_LIGHT, Point(10000, 10000, -10000), Colour(0.25, 0.25, 0.25)); + w.addLight(&light1); + Light light2 = Light(POINT_LIGHT, Point(-10000, 10000, -10000), Colour(0.25, 0.25, 0.25)); + w.addLight(&light2); + Light light3 = Light(POINT_LIGHT, Point(10000, -10000, -10000), Colour(0.25, 0.25, 0.25)); + w.addLight(&light3); + Light light4 = Light(POINT_LIGHT, Point(-10000, -10000, -10000), Colour(0.25, 0.25, 0.25)); + w.addLight(&light4); + + /* ----------------------------- */ + + /* White background */ + Plane p = Plane(); + p.setTransform(translation(0, 0, 100) * rotationX(1.5708)); + p.material.colour = Colour(1, 1, 1); + p.material.ambient = 1; + p.material.diffuse = 0; + p.material.specular = 0; + w.addObject(&p); + + Shape *wa; + + wa = wacky(); + wa->setTransform(translation(-2.8, 0, 0) * rotationX(0.4363) * rotationY(0.1745)); + wa->material.colour = Colour(0.9, 0.2, 0.4); + wa->material.ambient = 0.2; + wa->material.diffuse = 0.8; + wa->material.specular = 0.7; + wa->material.shininess = 20; + w.addObject(wa); + + wa = wacky(); + wa->setTransform(rotationY(0.1745)); + wa->material.colour = Colour(0.2, 0.9, 0.6); + wa->material.ambient = 0.2; + wa->material.diffuse = 0.8; + wa->material.specular = 0.7; + wa->material.shininess = 20; + w.addObject(wa); + + wa = wacky(); + wa->setTransform(translation(2.8, 0, 0) * rotationX(-0.4363) * rotationY(-0.1745)); + wa->material.colour = Colour(0.2, 0.3, 1.0); + wa->material.ambient = 0.2; + wa->material.diffuse = 0.8; + wa->material.specular = 0.7; + wa->material.shininess = 20; + w.addObject(wa); + + /* ----------------------------- */ + + /* Set the camera */ + Camera camera = Camera(1000, 334, 0.9); + camera.setTransform(viewTransform(Point(0, 0, -9), + Point(0, 0, 0), + Vector(0, 1, 0))); + + /* Now render it */ + Canvas image = camera.render(w, 5); + + image.SaveAsPNG("ch14_test.png"); + + return 0; +} \ No newline at end of file