aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake-build-release/.ninja_depsbin553376 -> 564116 bytes
-rw-r--r--cmake-build-release/.ninja_log18
-rw-r--r--cmake-build-release/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt124
-rw-r--r--cmake-build-release/Testing/Temporary/LastTest.log4
-rwxr-xr-xcmake-build-release/projects_raybin353561 -> 353305 bytes
-rw-r--r--scenefiles-4d/five_shapes.json2
-rw-r--r--scenefiles-4d/unit_cube.json4
-rw-r--r--src/accelerate/bvh.cpp12
-rw-r--r--src/accelerate/myqtconcurrent.cpp2
-rw-r--r--src/illuminate/illuminate.cpp6
-rw-r--r--src/raytracer/raytracer.cpp104
-rw-r--r--src/raytracer/raytracer.h3
-rw-r--r--src/utils/sceneparser.cpp4
-rw-r--r--src/utils/sceneparser.h2
14 files changed, 115 insertions, 170 deletions
diff --git a/cmake-build-release/.ninja_deps b/cmake-build-release/.ninja_deps
index f9ce467..929c00d 100644
--- a/cmake-build-release/.ninja_deps
+++ b/cmake-build-release/.ninja_deps
Binary files differ
diff --git a/cmake-build-release/.ninja_log b/cmake-build-release/.ninja_log
index e50c793..1171a5a 100644
--- a/cmake-build-release/.ninja_log
+++ b/cmake-build-release/.ninja_log
@@ -29,3 +29,21 @@
1693 2445 1702452579001092270 CMakeFiles/projects_ray.dir/src/aliasing/filter.cpp.o 9dee6d99978c214
1224 1917 1702452578473192908 CMakeFiles/projects_ray.dir/src/illuminate/shadow.cpp.o 976dc05943374640
1917 3319 1702452579874611066 CMakeFiles/projects_ray.dir/src/accelerate/myqtconcurrent.cpp.o 202e3ecc659447bc
+6 34 1702453038917081702 projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702453038917081702 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 34 1702453038917081702 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702453038917081702 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+37 760 1702453039640098864 CMakeFiles/projects_ray.dir/src/illuminate/illuminate.cpp.o 36fb1526130d4f10
+760 869 1702453039751149956 projects_ray 45fbfe11691b47a4
+6 34 1702453551761047603 projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702453551761047603 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+6 34 1702453551761047603 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+6 34 1702453551761047603 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+37 1350 1702453553072409034 CMakeFiles/projects_ray.dir/src/accelerate/myqtconcurrent.cpp.o 202e3ecc659447bc
+1350 1455 1702453553180119416 projects_ray 45fbfe11691b47a4
+11 41 1702455364512022871 projects_ray_autogen/timestamp 55fca76aac650d2f
+11 41 1702455364512022871 projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+11 41 1702455364512022871 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/timestamp 55fca76aac650d2f
+11 41 1702455364512022871 /Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/mocs_compilation.cpp 55fca76aac650d2f
+44 1223 1702455365689043417 CMakeFiles/projects_ray.dir/src/raytracer/raytracer.cpp.o 19b4d88ef40a6db1
+1224 1332 1702455365801121867 projects_ray 45fbfe11691b47a4
diff --git a/cmake-build-release/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt b/cmake-build-release/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
index 0e68cf3..05a22d1 100644
--- a/cmake-build-release/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
+++ b/cmake-build-release/CMakeFiles/projects_ray_autogen.dir/ParseCache.txt
@@ -1,10 +1,26 @@
# Generated by CMake. Changes will be overwritten.
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqtconcurrent.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/rgba.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/kdtree.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/aliasing/filter.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/rotations4d.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/transform4d.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/normals.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/texture/texture.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/raytracerutils.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/kdtree.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/shadow.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/intersect.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/reflect.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/main.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/illuminate.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.h
mmc:Q_OBJECT
- mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
+ mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/moc_predefs.h
mdp:/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/Availability.h
mdp:/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/AvailabilityInternal.h
@@ -457,6 +473,7 @@
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.h
+ mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/aspectratiowidget/aspectratiowidget.hpp
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/rgba.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenedata.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.h
@@ -507,6 +524,7 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qiterator.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qline.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlist.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlocale.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlogging.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qmalloc.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qmap.h
@@ -527,6 +545,7 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qprocessordetection.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qrect.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qrefcount.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qregularexpression.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qscopedpointer.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qscopeguard.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qset.h
@@ -599,21 +618,52 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtguiexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtguiglobal.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtransform.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qvalidator.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qwindowdefs.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/QOpenGLWidget
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qopenglwidget.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qtopenglwidgetsexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qtopenglwidgetsglobal.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QBoxLayout
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QCheckBox
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QDoubleSpinBox
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QLabel
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QMainWindow
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QPushButton
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QSlider
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QSpinBox
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QWidget
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractbutton.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractslider.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractspinbox.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qboxlayout.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qcheckbox.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qframe.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qgridlayout.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlabel.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlayout.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlayoutitem.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qmainwindow.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qpushbutton.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qsizepolicy.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qslider.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qspinbox.h
+ mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtabwidget.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgets-config.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsglobal.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qwidget.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/aliasing/supersample.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/vec4ops.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqthreads.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/vec4ops.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/bvh.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/bvh.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenedata.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.h
/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/aspectratiowidget/aspectratiowidget.hpp
mmc:Q_OBJECT
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/aspectratiowidget/aspectratiowidget.hpp
@@ -1065,20 +1115,10 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsglobal.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qwidget.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenedata.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/bvh.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/bvh.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/vec4ops.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqthreads.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/vec4ops.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/aliasing/supersample.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
mmc:Q_OBJECT
- mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.h
+ mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/cmake-build-release/projects_ray_autogen/moc_predefs.h
mdp:/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/Availability.h
mdp:/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/AvailabilityInternal.h
@@ -1531,7 +1571,6 @@
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/camera/camera.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.h
- mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/aspectratiowidget/aspectratiowidget.hpp
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/rgba.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenedata.h
mdp:/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.h
@@ -1582,7 +1621,6 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qiterator.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qline.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlist.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlocale.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qlogging.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qmalloc.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qmap.h
@@ -1603,7 +1641,6 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qprocessordetection.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qrect.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qrefcount.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qregularexpression.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qscopedpointer.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qscopeguard.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtCore.framework/Versions/A/Headers/qset.h
@@ -1676,57 +1713,20 @@
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtguiexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtguiglobal.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qtransform.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qvalidator.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtGui.framework/Versions/A/Headers/qwindowdefs.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/QOpenGLWidget
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qopenglwidget.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qtopenglwidgetsexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtOpenGLWidgets.framework/Versions/A/Headers/qtopenglwidgetsglobal.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QBoxLayout
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QCheckBox
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QDoubleSpinBox
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QLabel
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QMainWindow
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QPushButton
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QSlider
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QSpinBox
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/QWidget
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractbutton.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractslider.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qabstractspinbox.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qboxlayout.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qcheckbox.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qframe.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qgridlayout.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlabel.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlayout.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qlayoutitem.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qmainwindow.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qpushbutton.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qsizepolicy.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qslider.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qspinbox.h
- mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtabwidget.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgets-config.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsexports.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qtwidgetsglobal.h
mdp:/Users/sotech117/Qt/6.5.2/macos/lib/QtWidgets.framework/Versions/A/Headers/qwidget.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/illuminate.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/main.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/intersect.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/reflect.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracescene.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/mainwindow.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.h
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/illuminate/shadow.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/sceneparser.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/settings.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/kdtree.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/raytracer/raytracer.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/raytracerutils.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/texture/texture.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/intersect/normals.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/transform4d.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/vec4ops/rotations4d.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/aliasing/filter.cpp
-/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/scenefilereader.cpp
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/kdtree.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/utils/rgba.h
+/Users/sotech117/Documents/master/graphics/the-all-americans-in-cs1230/src/accelerate/myqtconcurrent.cpp
diff --git a/cmake-build-release/Testing/Temporary/LastTest.log b/cmake-build-release/Testing/Temporary/LastTest.log
index 032ef86..ccf4fb4 100644
--- a/cmake-build-release/Testing/Temporary/LastTest.log
+++ b/cmake-build-release/Testing/Temporary/LastTest.log
@@ -1,3 +1,3 @@
-Start testing: Dec 13 02:32 EST
+Start testing: Dec 13 03:16 EST
----------------------------------------------------------
-End testing: Dec 13 02:32 EST
+End testing: Dec 13 03:16 EST
diff --git a/cmake-build-release/projects_ray b/cmake-build-release/projects_ray
index a433436..455ae55 100755
--- a/cmake-build-release/projects_ray
+++ b/cmake-build-release/projects_ray
Binary files differ
diff --git a/scenefiles-4d/five_shapes.json b/scenefiles-4d/five_shapes.json
index c6c6645..18245c5 100644
--- a/scenefiles-4d/five_shapes.json
+++ b/scenefiles-4d/five_shapes.json
@@ -8,7 +8,7 @@
"gravity": [0.0, -0.0098, 0.0, 0.0]
},
"cameraData": {
- "position": [30.0, 30.0, 30.0, 30.0],
+ "position": [-10.0, -10.0, -10.0, -10.0],
"up": [0.0, 1.0, 0.0, 0.0],
"heightAngle": 30.0,
"focus": [0.0, 0.0, 0.0, 0.0],
diff --git a/scenefiles-4d/unit_cube.json b/scenefiles-4d/unit_cube.json
index 6810d2e..6b1ee6f 100644
--- a/scenefiles-4d/unit_cube.json
+++ b/scenefiles-4d/unit_cube.json
@@ -13,8 +13,8 @@
"heightAngle": 30.0,
"depthAngle": 30.0,
"focus": [0.0, 0.0, 0.0, 0.0],
- "over": [0.0, 1.0, 0.0, 0.0]
- },
+ "over": [0.0, 0.0, 0.0, 1.0]
+},
"groups": [
{
"lights": [
diff --git a/src/accelerate/bvh.cpp b/src/accelerate/bvh.cpp
index 2949cbe..3640cf9 100644
--- a/src/accelerate/bvh.cpp
+++ b/src/accelerate/bvh.cpp
@@ -83,18 +83,6 @@ float intersectRegion(
return tMin;
}
-void updateAfterCollision(RenderShapeData& objA, RenderShapeData& objB) {
- glm::vec3 vA_prime = ((objA.mass - objB.mass) * objA.velocity + 2 * objB.mass * objB.velocity) / (objA.mass + objB.mass);
- glm::vec3 vB_prime = ((objB.mass - objA.mass) * objB.velocity + 2 * objA.mass * objA.velocity) / (objA.mass + objB.mass);
-
- objA.velocity = glm::vec4(vA_prime, 0.f);
- objB.velocity = glm::vec4(vB_prime, 0.f);
-
- objA.position += objA.velocity;
- objB.position += objB.velocity;
-
-}
-
float RayTracer::traverseBVH(
glm::vec4 p,
glm::vec4 d,
diff --git a/src/accelerate/myqtconcurrent.cpp b/src/accelerate/myqtconcurrent.cpp
index 08248f4..4d0cb1e 100644
--- a/src/accelerate/myqtconcurrent.cpp
+++ b/src/accelerate/myqtconcurrent.cpp
@@ -52,7 +52,7 @@ void RayTracer::renderParallel(RGBA *imageData, const RayTraceScene &scene)
float z = (imageDepth - scene.depth()/2.f) * viewplaneDepth / scene.depth();
glm::vec4 pWorld = Vec4Ops::transformPoint4(glm::vec4(0.f), camera.getViewMatrix(), camera.getTranslationVector());
- glm::vec4 dWorld = Vec4Ops::transformDir4(glm::vec4(x, y, z, -1.0), camera.getViewMatrix());
+ glm::vec4 dWorld = glm::normalize(Vec4Ops::transformDir4(glm::vec4(x, y, z, -1.0), camera.getViewMatrix()));
pixelRoutineArgs args{
pWorld,
diff --git a/src/illuminate/illuminate.cpp b/src/illuminate/illuminate.cpp
index 641f06d..a651924 100644
--- a/src/illuminate/illuminate.cpp
+++ b/src/illuminate/illuminate.cpp
@@ -87,10 +87,10 @@ glm::vec4 RayTracer::illuminatePixel(
}
}
- // auto incidentDir = -directionToCamera;
+ auto incidentDir = -directionToCamera;
// recursive raytracing for the reflection and refraction (see reflect.cpp)
- // illumination += refract(intersectionWorld, normalWorld, incidentDir, shape, scene, depth + 1);
- // illumination += reflect(intersectionWorld, normalWorld, incidentDir, shape, scene, depth + 1);
+ illumination += refract(intersectionWorld, normalWorld, incidentDir, shape, scene, depth + 1);
+ illumination += reflect(intersectionWorld, normalWorld, incidentDir, shape, scene, depth + 1);
return illumination;
} \ No newline at end of file
diff --git a/src/raytracer/raytracer.cpp b/src/raytracer/raytracer.cpp
index 3a06910..19595e8 100644
--- a/src/raytracer/raytracer.cpp
+++ b/src/raytracer/raytracer.cpp
@@ -1,6 +1,7 @@
#include <QList>
#include <QtConcurrent>
#include <iostream>
+#include <cstdlib>
#include "raytracer.h"
#include "raytracescene.h"
#include "settings.h"
@@ -38,44 +39,7 @@ glm::vec4 getPt(glm::vec3 n1 , glm::vec3 n2 , float perc )
// updated to use 4D
void RayTracer::render(RGBA *imageData, const RayTraceScene &scene) {
- if (m_enableParallelism) {
- renderParallel(imageData, scene);
- } else {
- // naive rendering
- Camera camera = scene.getCamera();
- float cameraDepth = 1.f;
-
- float viewplaneHeight = 2.f*cameraDepth*std::tan(camera.getHeightAngle() / 2.f);
- float viewplaneWidth = cameraDepth*viewplaneHeight*((float)scene.width()/(float)scene.height());
-
- for (int imageRow = 0; imageRow < scene.height(); imageRow++) {
- for (int imageCol = 0; imageCol < scene.width(); imageCol++) {
- // FIXME: for now, use height as depth
- for (int imageDepth = 0; imageDepth < scene.height(); imageDepth++) {
- // compute the ray
- float x = (imageCol - scene.width()/2.f) * viewplaneWidth / scene.width();
- float y = (imageRow - scene.height()/2.f) * viewplaneHeight / scene.height();
- float z = (imageDepth - scene.height()/2.f) * viewplaneHeight / scene.height();
- float camera4dDepth = 1;
-
- glm::vec4 pWorld = Vec4Ops::transformPoint4(glm::vec4(x, y, z, 0.f), camera.getViewMatrix(), camera.getTranslationVector());
- glm::vec4 dWorld = glm::vec4(0.f, 0.f, 0.f, -1.f);
-
- // get the pixel color
- glm::vec4 pixelColor = getPixelFromRay(pWorld, dWorld, scene, 0);
-
- // set the pixel color
- int index = imageRow * scene.width() + imageCol;
- imageData[index] = RGBA{
- (std::uint8_t) (pixelColor.r * 255.f),
- (std::uint8_t) (pixelColor.g * 255.f),
- (std::uint8_t) (pixelColor.b * 255.f),
- (std::uint8_t) (pixelColor.a * 255.f)
- };
- }
- }
- }
- }
+ renderParallel(imageData, scene);
if (settings.bulkOutputFolderPath.size() > 0) { // means we are doing bulk rendering
// save the image to the bulk directory
@@ -85,6 +49,11 @@ void RayTracer::render(RGBA *imageData, const RayTraceScene &scene) {
// render the next frame
settings.currentTime++;
emit settingsChanged(m_imageLabel); // emit to allow the UI to update then render the next frame
+ } else { // done rendering
+ // assemble the video
+ saveFFMPEGVideo(settings.bulkOutputFolderPath);
+ settings.currentTime = 0;
+ settings.bulkOutputFolderPath = "";
}
}
emit cameraPositionChanged(m_metaData.cameraData.pos);
@@ -148,37 +117,6 @@ glm::vec4 RayTracer::getPixelFromRay(
return illuminatePixel(closestIntersectionWorld, normalWorld, -dWorld, intersectedShape, scene, depth);
}
-// EXTRA CREDIT -> depth of field
-glm::vec4 RayTracer::secondaryRays(glm::vec4 pWorld, glm::vec4 dWorld, RayTraceScene &scene)
-{
- auto inv = scene.getCamera().getInverseViewMatrix();
- float focalLength = scene.getCamera().getFocalLength();
- float aperture = scene.getCamera().getAperture();
-
- glm::vec4 illumination(0.f);
- glm::vec4 focalPoint = pWorld + focalLength * dWorld;
-
- int TIMES = 500;
- for (int i = 0; i < TIMES; i++) {
- // generate a random number from -aperature to aperature
- float rand1 = ((float) rand() / (float) RAND_MAX) * aperture;
- rand1 *= (rand() % 2 == 0) ? 1 : -1;
- // generate another number also inside the aperature lens
- float rand2 = ((float) rand() / (float) RAND_MAX) * std::sqrt(aperture - rand1*rand1);
- rand2 *= (rand() % 2 == 0) ? 1 : -1;
- glm::vec4 randEye = (rand() % 2 == 0) ? glm::vec4(rand1, rand2, 0.f, 1.f) : glm::vec4(rand2, rand1, 0.f, 1.f);
- // convert this random point to world space
- glm::vec4 eyeWorld = inv * randEye;
-
- // make the ray
- glm::vec4 randomDir = glm::vec4(glm::normalize(focalPoint.xyz() - eyeWorld.xyz()), 0.f);
-
- illumination += getPixelFromRay(eyeWorld, randomDir, scene, 0);
- }
-
- return illumination / (float) TIMES;
-}
-
void RayTracer::sceneChanged(QLabel* imageLabel) {
// RenderData metaData;
@@ -188,6 +126,7 @@ void RayTracer::sceneChanged(QLabel* imageLabel) {
std::cerr << "Error loading scene: \"" << settings.sceneFilePath << "\"" << std::endl;
m_image.fill(Qt::black);
imageLabel->setPixmap(QPixmap::fromImage(m_image));
+ m_imageData = reinterpret_cast<RGBA *>(m_image.bits());
return;
}
@@ -207,17 +146,11 @@ void RayTracer::sceneChanged(QLabel* imageLabel) {
}
void RayTracer::settingsChanged(QLabel* imageLabel) {
- bool success = SceneParser::parse(settings.sceneFilePath, m_metaData);
-
- if (!success) {
- std::cerr << "Error loading scene: \"" << settings.sceneFilePath << "\"" << std::endl;
- // return;
- // render a blank image
- QImage image = QImage(576, 432, QImage::Format_RGBX8888);
- image.fill(Qt::black);
- RGBA *data = reinterpret_cast<RGBA *>(image.bits());
- m_imageData = data;
- imageLabel->setPixmap(QPixmap::fromImage(image));
+ if (settings.sceneFilePath.size() == 0) {
+ // no scene loaded
+ m_image.fill(Qt::black);
+ imageLabel->setPixmap(QPixmap::fromImage(m_image));
+ m_imageData = reinterpret_cast<RGBA *>(m_image.bits());
return;
}
@@ -226,7 +159,7 @@ void RayTracer::settingsChanged(QLabel* imageLabel) {
QImage image = QImage(width, height, QImage::Format_RGBX8888);
image.fill(Qt::black);
- RGBA *data = reinterpret_cast<RGBA *>(image.bits());
+ m_imageData = reinterpret_cast<RGBA *>(image.bits());
RayTraceScene rtScene{ m_width, m_height, m_metaData, m_depth };
Camera camera = rtScene.getCamera();
@@ -340,3 +273,12 @@ void RayTracer::saveViewportImage(std::string filePath) {
QImage image = QImage((uchar *) m_imageData, 576, 432, QImage::Format_RGBX8888);
image.save(QString::fromStdString(filePath));
}
+
+void RayTracer::saveFFMPEGVideo(std::string filePath) {
+ std::string directory = filePath + QDir::separator().toLatin1();
+ std::string command = "ffmpeg -framerate 30 -pattern_type glob -i '" + directory + "*.png' -c:v libx264 -pix_fmt yuv420p '" + directory + "video.mp4'";
+ int result = std::system(command.c_str());
+ if (result != 0) {
+ std::cerr << "Failed to assemble video." << std::endl;
+ }
+}
diff --git a/src/raytracer/raytracer.h b/src/raytracer/raytracer.h
index 58b1815..ee46668 100644
--- a/src/raytracer/raytracer.h
+++ b/src/raytracer/raytracer.h
@@ -37,7 +37,7 @@ struct Config {
class RayTracer : public QWidget
{
- Q_OBJECT
+ Q_OBJECT
public:
// constructor for the config
RayTracer(QWidget *parent = nullptr);
@@ -178,6 +178,7 @@ public:
QImage m_image;
void saveViewportImage(std::string filename);
+ void saveFFMPEGVideo(std::string filename);
void wSliderChanged(QLabel* imageLabel);
// Camera m_camera;
diff --git a/src/utils/sceneparser.cpp b/src/utils/sceneparser.cpp
index e2015cd..7db16b0 100644
--- a/src/utils/sceneparser.cpp
+++ b/src/utils/sceneparser.cpp
@@ -94,9 +94,7 @@ void initTree(SceneNode* currentNode, std::vector<RenderShapeData> *shapes, std:
.translation4d = currentTranslation4d,
.inverseCTM = glm::inverse(currentCTM),
.inverseTranslation4d = -currentTranslation4d,
- // .position = glm::vec4(0.f, 0.f, 0.f, 1.f),
- // .velocity = glm::vec4(0.f, 0.f, 0.f, 0.f),
- // .mass = unitMass,
+ .velocity = primitive->velocity,
};
shapes->push_back(rsd);
// }
diff --git a/src/utils/sceneparser.h b/src/utils/sceneparser.h
index 3ab93a8..96803c9 100644
--- a/src/utils/sceneparser.h
+++ b/src/utils/sceneparser.h
@@ -12,9 +12,7 @@ struct RenderShapeData {
glm::vec4 translation4d; // appended to the right of the ctm (for 4d translation)
glm::mat4 inverseCTM;
glm::vec4 inverseTranslation4d; // appended to the right of the inverse ctm (for 4d translation)
- glm::vec4 position;
glm::vec4 velocity;
- float mass;
};
// Struct which contains all the data needed to render a scene