diff --git a/PROJ1_WIN/565Raytracer.opensdf b/PROJ1_WIN/565Raytracer.opensdf new file mode 100644 index 0000000..3000686 Binary files /dev/null and b/PROJ1_WIN/565Raytracer.opensdf differ diff --git a/PROJ1_WIN/565Raytracer.sdf b/PROJ1_WIN/565Raytracer.sdf new file mode 100644 index 0000000..46ad677 Binary files /dev/null and b/PROJ1_WIN/565Raytracer.sdf differ diff --git a/PROJ1_WIN/565Pathtracer.sln b/PROJ1_WIN/565Raytracer.sln old mode 100755 new mode 100644 similarity index 90% rename from PROJ1_WIN/565Pathtracer.sln rename to PROJ1_WIN/565Raytracer.sln index 5cc5973..5a37658 --- a/PROJ1_WIN/565Pathtracer.sln +++ b/PROJ1_WIN/565Raytracer.sln @@ -1,34 +1,34 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "565Pathtracer", "565Pathtracer\565Pathtracer.vcxproj", "{FF21CA49-522E-4E86-B508-EE515B248FC4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug (v4.0)|Win32 = Debug (v4.0)|Win32 - Debug (v4.0)|x64 = Debug (v4.0)|x64 - Debug (v5.5)|Win32 = Debug (v5.5)|Win32 - Debug (v5.5)|x64 = Debug (v5.5)|x64 - Release (v4.0)|Win32 = Release (v4.0)|Win32 - Release (v4.0)|x64 = Release (v4.0)|x64 - Release (v5.5)|Win32 = Release (v5.5)|Win32 - Release (v5.5)|x64 = Release (v5.5)|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|Win32.ActiveCfg = Debug|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|Win32.Build.0 = Debug|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|x64.ActiveCfg = Debug|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|Win32.ActiveCfg = Debug (v5.5)|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|Win32.Build.0 = Debug (v5.5)|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|x64.ActiveCfg = Debug (v5.5)|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|Win32.ActiveCfg = Release|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|Win32.Build.0 = Release|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|x64.ActiveCfg = Release|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|Win32.ActiveCfg = Release (v5.5)|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|Win32.Build.0 = Release (v5.5)|Win32 - {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|x64.ActiveCfg = Release (v5.5)|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "565Raytracer", "565Raytracer\565Raytracer.vcxproj", "{FF21CA49-522E-4E86-B508-EE515B248FC4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug (v4.0)|Win32 = Debug (v4.0)|Win32 + Debug (v4.0)|x64 = Debug (v4.0)|x64 + Debug (v5.5)|Win32 = Debug (v5.5)|Win32 + Debug (v5.5)|x64 = Debug (v5.5)|x64 + Release (v4.0)|Win32 = Release (v4.0)|Win32 + Release (v4.0)|x64 = Release (v4.0)|x64 + Release (v5.5)|Win32 = Release (v5.5)|Win32 + Release (v5.5)|x64 = Release (v5.5)|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|Win32.ActiveCfg = Debug|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|Win32.Build.0 = Debug|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v4.0)|x64.ActiveCfg = Debug|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|Win32.ActiveCfg = Debug (v5.5)|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|Win32.Build.0 = Debug (v5.5)|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Debug (v5.5)|x64.ActiveCfg = Debug (v5.5)|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|Win32.ActiveCfg = Release|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|Win32.Build.0 = Release|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v4.0)|x64.ActiveCfg = Release|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|Win32.ActiveCfg = Release (v5.5)|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|Win32.Build.0 = Release (v5.5)|Win32 + {FF21CA49-522E-4E86-B508-EE515B248FC4}.Release (v5.5)|x64.ActiveCfg = Release (v5.5)|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/PROJ1_WIN/565Raytracer.suo b/PROJ1_WIN/565Raytracer.suo new file mode 100644 index 0000000..bb2b8ee Binary files /dev/null and b/PROJ1_WIN/565Raytracer.suo differ diff --git a/PROJ1_WIN/565Pathtracer/565Pathtracer.filters b/PROJ1_WIN/565Raytracer/565Raytracer.filters old mode 100755 new mode 100644 similarity index 97% rename from PROJ1_WIN/565Pathtracer/565Pathtracer.filters rename to PROJ1_WIN/565Raytracer/565Raytracer.filters index b7836e2..9c1f97f --- a/PROJ1_WIN/565Pathtracer/565Pathtracer.filters +++ b/PROJ1_WIN/565Raytracer/565Raytracer.filters @@ -1,41 +1,41 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + \ No newline at end of file diff --git a/PROJ1_WIN/565Pathtracer/565Pathtracer.user b/PROJ1_WIN/565Raytracer/565Raytracer.user old mode 100755 new mode 100644 similarity index 98% rename from PROJ1_WIN/565Pathtracer/565Pathtracer.user rename to PROJ1_WIN/565Raytracer/565Raytracer.user index 695b5c7..ace9a86 --- a/PROJ1_WIN/565Pathtracer/565Pathtracer.user +++ b/PROJ1_WIN/565Raytracer/565Raytracer.user @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj old mode 100755 new mode 100644 similarity index 97% rename from PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj rename to PROJ1_WIN/565Raytracer/565Raytracer.vcxproj index 4515c57..5297bab --- a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj +++ b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj @@ -1,205 +1,206 @@ - - - - - Debug (v5.5) - Win32 - - - Debug - Win32 - - - Release (v5.5) - Win32 - - - Release - Win32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {FF21CA49-522E-4E86-B508-EE515B248FC4} - Win32Proj - 565Pathtracer - 565Pathtracer - - - - Application - true - Unicode - - - Application - true - Unicode - - - Application - false - true - Unicode - - - Application - false - true - Unicode - - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) - - - Console - true - ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) - cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - mainCRTStartup - - - - - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) - - - Console - true - ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) - cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - mainCRTStartup - - - - - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.5/common/inc;../shared/glew/includes;../shared/freeglut/includes - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) - cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - mainCRTStartup - - - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) - - - Console - true - true - true - ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) - cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - mainCRTStartup - - - $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj - C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.5/common/inc;../shared/glew/includes;../shared/freeglut/includes - - - - - - - + + + + + Debug (v5.5) + Win32 + + + Debug + Win32 + + + Release (v5.5) + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {FF21CA49-522E-4E86-B508-EE515B248FC4} + Win32Proj + 565Raytracer + 565Pathtracer + + + + Application + true + Unicode + + + Application + true + Unicode + + + Application + false + true + Unicode + + + Application + false + true + Unicode + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) + + + Console + true + ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) + cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + mainCRTStartup + + + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) + + + Console + true + ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) + cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + mainCRTStartup + + + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.5/common/inc;../shared/glew/includes;../shared/freeglut/includes + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) + + + Console + true + true + true + ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) + cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + mainCRTStartup + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes + compute_20,sm_20 + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\common\inc;../shared/glew/include;../shared/freeglut/include;%(AdditionalIncludeDirectories) + + + Console + true + true + true + ../shared/glew/lib;../shared/freeglut/lib;%(AdditionalLibraryDirectories) + cudart.lib; glew32.lib;glu32.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + mainCRTStartup + + + $(ProjectDir)$(Platform)/$(Configuration)/%(Filename)%(Extension).obj + C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include;C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.5/common/inc;../shared/glew/includes;../shared/freeglut/includes + + + + + + + \ No newline at end of file diff --git a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.filters b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.filters old mode 100755 new mode 100644 similarity index 97% rename from PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.filters rename to PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.filters index d49ad9c..c387e4c --- a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.filters +++ b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.filters @@ -1,42 +1,42 @@ - - - - - - - - - - stb_image - - - stb_image - - - - - - - - - - - - - - - stb_image - - - stb_image - - - - - - - - {011aa553-95e8-4e59-b7ff-1bb89aebe21d} - - + + + + + + + + + + stb_image + + + stb_image + + + + + + + + + + + + + + + stb_image + + + stb_image + + + + + + + + {011aa553-95e8-4e59-b7ff-1bb89aebe21d} + + \ No newline at end of file diff --git a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.user b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user old mode 100755 new mode 100644 similarity index 77% rename from PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.user rename to PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user index dfd9f6c..8be4286 --- a/PROJ1_WIN/565Pathtracer/565Pathtracer.vcxproj.user +++ b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user @@ -1,19 +1,19 @@ - - - - scene=../../scenes/sampleScene.txt - WindowsLocalDebugger - - - scene=../../scenes/sampleScene.txt - WindowsLocalDebugger - - - scene=../../scenes/sampleScene.txt - WindowsLocalDebugger - - - scene=../../scenes/sampleScene.txt - WindowsLocalDebugger - - + + + + scene=../../scenes/test1.txt + WindowsLocalDebugger + + + scene=../../scenes/sampleScene.txt + WindowsLocalDebugger + + + scene=../../scenes/reflectiveSpheres.txt + WindowsLocalDebugger + + + scene=../../scenes/sampleScene.txt + WindowsLocalDebugger + + \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.Build.CppClean.log b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.Build.CppClean.log new file mode 100644 index 0000000..998cf01 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.Build.CppClean.log @@ -0,0 +1,35 @@ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\565RAYTRACER.EXE.EMBED.MANIFEST +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\565RAYTRACER.EXE.EMBED.MANIFEST.RES +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\565RAYTRACER.EXE.INTERMEDIATE.MANIFEST +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\565Raytracer_manifest.rc +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\cl.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\CL.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\CL.write.1.tlog +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\GLSLUTILITY.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\IMAGE.OBJ +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.1588.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.1588.write.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.1588-cvtres.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.1588-cvtres.write.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link.write.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link-cvtres.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\link-cvtres.write.1.tlog +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\MAIN.OBJ +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\mt.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\mt.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\mt.write.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\raytraceKernel.cu.cache +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\rc.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\rc.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\rc.write.1.tlog +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\SCENE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\STB_IMAGE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\STB_IMAGE_WRITE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\UTILITIES.OBJ +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Debug\vc100.idb +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\DEBUG\VC100.PDB +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\DEBUG\565RAYTRACER.EXE +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\DEBUG\565RAYTRACER.ILK +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\DEBUG\565RAYTRACER.PDB diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest new file mode 100644 index 0000000..11bb704 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest.res b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest.res new file mode 100644 index 0000000..9c8df0e Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.embed.manifest.res differ diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.intermediate.manifest b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.exe.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.lastbuildstate b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.lastbuildstate new file mode 100644 index 0000000..e77ef6b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100:false +Debug|Win32|C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\| diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.log b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.log new file mode 100644 index 0000000..c70bdbe --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.log @@ -0,0 +1,85 @@ +Build started 9/24/2013 10:36:16 PM. + 1>Project "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" on node 2 (build target(s)). + 1>InitializeBuildStatus: + Creating "Debug\565Raytracer.unsuccessfulbuild" because "AlwaysCreate" was specified. + AddCudaCompileDeps: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe /E /nologo /showIncludes /TP /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" /I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" /I../shared/glew/includes /I../shared/freeglut/includes /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin" /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" /I. /FIcuda_runtime.h /c C:\Users\Remote\Documents\CIS565\Project1-RayTracer\src\raytraceKernel.cu + AddCudaCompilePropsDeps: + Found "CudaToolkitCustomDir". + Found "AdditionalDeps". + Found "CompileOut". + Found "Include". + Found "Keep". + Found "KeepDir". + Found "NvccCompilation". + Found "NvccPath". + Found "RequiredIncludes". + Found "TargetMachinePlatform". + Found "CInterleavedPTX". + Found "CodeGeneration". + Found "GPUDebugInfo". + Found "MaxRegCount". + Found "PtxAsOptionV". + Found "Defines". + Found "Emulation". + Found "HostDebugInfo". + Found "FastMath". + Found "Optimization". + Found "Runtime". + Found "RuntimeChecks". + Found "TypeInfo". + Found "Warning". + Found "AdditionalOptions". + Found "CommandLineTemplate". + CudaBuild: + Compiling CUDA source file ..\..\src\raytraceKernel.cu... + cmd.exe /C "C:\Users\Remote\AppData\Local\Temp\c1e37331ad39433eae0bb4b64cc4aa65.cmd" + "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" -I"../shared/glew/includes" -I"../shared/freeglut/includes" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -G0 --keep-dir "Debug" -maxrregcount=0 --machine 32 --compile -D_NEXUS_DEBUG -g -Xcompiler "/EHsc /nologo /Od /Zi /MDd " -o "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Win32/Debug/raytraceKernel.cu.obj" "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\src\raytraceKernel.cu" + + C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" -I"../shared/glew/includes" -I"../shared/freeglut/includes" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -G0 --keep-dir "Debug" -maxrregcount=0 --machine 32 --compile -D_NEXUS_DEBUG -g -Xcompiler "/EHsc /nologo /Od /Zi /MDd " -o "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Win32/Debug/raytraceKernel.cu.obj" "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\src\raytraceKernel.cu" + raytraceKernel.cu + 1>c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec3.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec3 ::operator []") is not allowed + + 1>c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec3.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec3 ::operator []") is not allowed + + 1>c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec4.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec4 ::operator []") is not allowed + + 1>c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec4.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec4 ::operator []") is not allowed + + tmpxft_00001734_00000000-0_raytraceKernel.cudafe1.gpu + tmpxft_00001734_00000000-5_raytraceKernel.cudafe2.gpu + raytraceKernel.cu + 1>c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle.hpp(194): warning : missing return statement at end of non-void function "glm::detail::_swizzle_base2::operator=(const glm::detail::_swizzle_base2::Stub &)" + + 1>ptxas C : /Users/Remote/AppData/Local/Temp/tmpxft_00001734_00000000-1_raytraceKernel.ptx, line 273; warning : Double is not supported. Demoting to float + tmpxft_00001734_00000000-0_raytraceKernel.cudafe1.cpp + tmpxft_00001734_00000000-11_raytraceKernel.ii + ClCompile: + All outputs are up-to-date. + All outputs are up-to-date. + ManifestResourceCompile: + All outputs are up-to-date. + Link: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\Debug\565Raytracer.exe" /INCREMENTAL /NOLOGO /LIBPATH:../shared/glew/lib /LIBPATH:../shared/freeglut/lib /LIBPATH:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\lib\Win32" cudart.lib glew32.lib glu32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\565Raytracer.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\Debug\565Raytracer.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\Debug\565Raytracer.lib" /MACHINE:X86 "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Win32/Debug/raytraceKernel.cu.obj" + Debug\565Raytracer.exe.embed.manifest.res + Debug\glslUtility.obj + Debug\image.obj + Debug\main.obj + Debug\scene.obj + Debug\stb_image.obj + Debug\stb_image_write.obj + Debug\utilities.obj + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /out:"Debug\565Raytracer.exe.embed.manifest" /manifest Debug\565Raytracer.exe.intermediate.manifest + All outputs are up-to-date. + LinkEmbedManifest: + All outputs are up-to-date. + 565Raytracer.vcxproj -> C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\Debug\565Raytracer.exe + FinalizeBuildStatus: + Deleting file "Debug\565Raytracer.unsuccessfulbuild". + Touching "Debug\565Raytracer.lastbuildstate". + 1>Done Building Project "C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" (build target(s)). + +Build succeeded. + +Time Elapsed 00:00:57.10 diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer_manifest.rc b/PROJ1_WIN/565Raytracer/Debug/565Raytracer_manifest.rc new file mode 100644 index 0000000..6745e86 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/565Raytracer_manifest.rc differ diff --git a/PROJ1_WIN/565Raytracer/Debug/CL.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/CL.read.1.tlog new file mode 100644 index 0000000..decb01b Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/CL.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/CL.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/CL.write.1.tlog new file mode 100644 index 0000000..889eb3c Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/CL.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/cl.command.1.tlog b/PROJ1_WIN/565Raytracer/Debug/cl.command.1.tlog new file mode 100644 index 0000000..5c1b971 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/cl.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/glslUtility.obj b/PROJ1_WIN/565Raytracer/Debug/glslUtility.obj new file mode 100644 index 0000000..2d1f81b Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/glslUtility.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/image.obj b/PROJ1_WIN/565Raytracer/Debug/image.obj new file mode 100644 index 0000000..d53fd80 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/image.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/link-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4048-cvtres.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4048.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4048.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4048.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4048.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4048.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4048.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4524-cvtres.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4524.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4524.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4524.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.4524.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.4524.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.4524.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.5916-cvtres.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.5916.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.5916.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.5916.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.5916.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.5916.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.5916.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.6528-cvtres.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.6528.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.6528.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.6528.read.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.6528.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.6528.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/link.6528.write.1.tlog @@ -0,0 +1 @@ +ÿþ \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/Debug/link.command.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.command.1.tlog new file mode 100644 index 0000000..682494d Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/link.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/link.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.read.1.tlog new file mode 100644 index 0000000..582a4c3 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/link.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/link.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.write.1.tlog new file mode 100644 index 0000000..58773da Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/link.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/main.obj b/PROJ1_WIN/565Raytracer/Debug/main.obj new file mode 100644 index 0000000..a258932 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/main.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/mt.command.1.tlog b/PROJ1_WIN/565Raytracer/Debug/mt.command.1.tlog new file mode 100644 index 0000000..e50b0e4 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/mt.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/mt.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/mt.read.1.tlog new file mode 100644 index 0000000..eba9127 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/mt.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/mt.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/mt.write.1.tlog new file mode 100644 index 0000000..1d0ac8c Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/mt.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.cache b/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.cache new file mode 100644 index 0000000..f3ac4ae --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.cache @@ -0,0 +1,26 @@ +Identity=..\..\src\raytraceKernel.cu +AdditionalDeps= +AdditionalOptions= +CInterleavedPTX=false +CodeGeneration=compute_10,sm_10 +CompileOut=C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Win32/Debug/raytraceKernel.cu.obj +CudaToolkitCustomDir= +Defines= +Emulation=false +FastMath=false +GPUDebugInfo=true +HostDebugInfo=true +Include=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes +Keep=false +KeepDir=Debug +MaxRegCount=0 +NvccCompilation=compile +NvccPath= +Optimization=Od +PtxAsOptionV=false +RequiredIncludes= +Runtime=MDd +RuntimeChecks=Default +TargetMachinePlatform=32 +TypeInfo=false +Warning=W3 diff --git a/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.deps b/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.deps new file mode 100644 index 0000000..496f16f --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Debug/raytraceKernel.cu.deps @@ -0,0 +1,410 @@ +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_config.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h +c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vadefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stddef.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\channel_descriptor.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\swprintf.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cmath +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\use_ansi.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project1-raytracer\src\sceneStructs.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/_fixes.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\climits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cfloat +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\float.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtwrn.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ymath.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wchar.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wtime.inl +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstddef +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstddef +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/setup.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\immintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\nmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\smmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\tmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\pmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\emmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\malloc.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/_detail.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\setup.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cassert +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\assert.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/type.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_half.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_half.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_half.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\setup.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\setup.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec1.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle_func.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec1.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec2.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec2.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec3.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec3.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec4.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_vec4.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x2.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x2.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x3.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x3.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x4.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat2x4.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x2.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x2.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x3.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x3.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x4.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat3x4.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x2.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x2.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x3.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x3.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x4.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\type_mat4x4.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_trigonometric.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_trigonometric.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_exponential.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_exponential.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_common.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_fixes.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_common.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_packing.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_packing.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_geometric.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_geometric.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_matrix.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_matrix.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_vector_relational.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_vector_relational.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_integer.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_integer.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\_vectorize.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\setjmp.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ammintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mm3dnow.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/func_noise.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core\func_noise.inl +c:\users\remote\documents\cis565\project1-raytracer\src\glm\./core/_swizzle.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/_fixes.hpp +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\istream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ostream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ios +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\streambuf +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xiosbase +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdexcept +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\eh.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\new +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iosfwd +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdbg.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\type_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xtr1common +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\typeinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ctype.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\locale.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xdebug +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cerrno +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\errno.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\share.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/_fixes.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\utilities.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/_fixes.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\algorithm +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\memory +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iterator +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sstream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfunctional +c:\users\remote\documents\cis565\project1-raytracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project1-raytracer\src\raytraceKernel.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/simple_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/compiler.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/device_backend.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/host_device.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\host_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/debug.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/cstdint.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/discard_block_engine.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iostream +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/random_core_access.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/discard_block_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/linear_congruential_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_congruential_engine_discard.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/mod.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_congruential_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/linear_feedback_shift_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_feedback_shift_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/subtract_with_carry_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/subtract_with_carry_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/xor_combine_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/type_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/type_traits/has_trivial_assign.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/xor_combine_engine_max.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/mpl/math.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/xor_combine_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/uniform_int_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/pair.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/pair.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/integer_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/uniform_int_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/uniform_real_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/uniform_real_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/normal_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/normal_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda.h +c:\users\remote\documents\cis565\project1-raytracer\src\sceneStructs.h +C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h +c:\users\remote\documents\cis565\project1-raytracer\src\intersections.h +c:\users\remote\documents\cis565\project1-raytracer\src\sceneStructs.h +c:\users\remote\documents\cis565\project1-raytracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project1-raytracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\glm\core/_fixes.hpp +c:\users\remote\documents\cis565\project1-raytracer\src\utilities.h +c:\users\remote\documents\cis565\project1-raytracer\src\interactions.h +c:\users\remote\documents\cis565\project1-raytracer\src\intersections.h +C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h diff --git a/PROJ1_WIN/565Raytracer/Debug/rc.command.1.tlog b/PROJ1_WIN/565Raytracer/Debug/rc.command.1.tlog new file mode 100644 index 0000000..016b7c6 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/rc.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/rc.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/rc.read.1.tlog new file mode 100644 index 0000000..7d1eb14 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/rc.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/rc.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/rc.write.1.tlog new file mode 100644 index 0000000..60a312b Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/rc.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Debug/scene.obj b/PROJ1_WIN/565Raytracer/Debug/scene.obj new file mode 100644 index 0000000..1a6c821 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/scene.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/stb_image.obj b/PROJ1_WIN/565Raytracer/Debug/stb_image.obj new file mode 100644 index 0000000..5dc49b3 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/stb_image.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/stb_image_write.obj b/PROJ1_WIN/565Raytracer/Debug/stb_image_write.obj new file mode 100644 index 0000000..db50fa0 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/stb_image_write.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/utilities.obj b/PROJ1_WIN/565Raytracer/Debug/utilities.obj new file mode 100644 index 0000000..7170b14 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/utilities.obj differ diff --git a/PROJ1_WIN/565Raytracer/Debug/vc100.idb b/PROJ1_WIN/565Raytracer/Debug/vc100.idb new file mode 100644 index 0000000..91f247f Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/vc100.idb differ diff --git a/PROJ1_WIN/565Raytracer/Debug/vc100.pdb b/PROJ1_WIN/565Raytracer/Debug/vc100.pdb new file mode 100644 index 0000000..9658fab Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/vc100.pdb differ diff --git a/PROJ1_WIN/565Raytracer/PathTracerRender1.bmp b/PROJ1_WIN/565Raytracer/PathTracerRender1.bmp new file mode 100644 index 0000000..0fff94d Binary files /dev/null and b/PROJ1_WIN/565Raytracer/PathTracerRender1.bmp differ diff --git a/PROJ1_WIN/565Raytracer/PathTracerRender2.bmp b/PROJ1_WIN/565Raytracer/PathTracerRender2.bmp new file mode 100644 index 0000000..98fc3a6 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/PathTracerRender2.bmp differ diff --git a/PROJ1_WIN/565Raytracer/Release/565Pathtracer.exe.intermediate.manifest b/PROJ1_WIN/565Raytracer/Release/565Pathtracer.exe.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Pathtracer.exe.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PROJ1_WIN/565Raytracer/Release/565Pathtracer.lastbuildstate b/PROJ1_WIN/565Raytracer/Release/565Pathtracer.lastbuildstate new file mode 100644 index 0000000..c579cac --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Pathtracer.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100:false +Release|Win32|C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\| diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.Build.CppClean.log b/PROJ1_WIN/565Raytracer/Release/565Raytracer.Build.CppClean.log new file mode 100644 index 0000000..563e9ea --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.Build.CppClean.log @@ -0,0 +1,21 @@ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\565RAYTRACER.EXE.INTERMEDIATE.MANIFEST +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\cl.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\CL.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\CL.write.1.tlog +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\GLSLUTILITY.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\IMAGE.OBJ +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\link.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\link.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\link.write.1.tlog +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\MAIN.OBJ +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\mt.command.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\mt.read.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\mt.write.1.tlog +C:\Users\Remote\Documents\CIS565\Project1-RayTracer\PROJ1_WIN\565Raytracer\Release\raytraceKernel.cu.cache +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\SCENE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\STB_IMAGE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\STB_IMAGE_WRITE.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\UTILITIES.OBJ +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\565RAYTRACER\RELEASE\VC100.PDB +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\RELEASE\565RAYTRACER.EXE +C:\USERS\REMOTE\DOCUMENTS\CIS565\PROJECT1-RAYTRACER\PROJ1_WIN\RELEASE\565RAYTRACER.PDB diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.exe.intermediate.manifest b/PROJ1_WIN/565Raytracer/Release/565Raytracer.exe.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.exe.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.lastbuildstate b/PROJ1_WIN/565Raytracer/Release/565Raytracer.lastbuildstate new file mode 100644 index 0000000..c579cac --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100:false +Release|Win32|C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\| diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.log b/PROJ1_WIN/565Raytracer/Release/565Raytracer.log new file mode 100644 index 0000000..dd883a2 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.log @@ -0,0 +1,59 @@ +Build started 10/1/2013 9:56:41 PM. + 1>Project "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" on node 2 (build target(s)). + 1>InitializeBuildStatus: + Creating "Release\565Pathtracer.unsuccessfulbuild" because "AlwaysCreate" was specified. + AddCudaCompileDeps: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe /E /nologo /showIncludes /TP /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" /I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" /I../shared/glew/includes /I../shared/freeglut/includes /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin" /I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" /I. /FIcuda_runtime.h /c C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\src\raytraceKernel.cu + AddCudaCompilePropsDeps: + Skipping target "AddCudaCompilePropsDeps" because all output files are up-to-date with respect to the input files. + CudaBuild: + Compiling CUDA source file ..\..\src\raytraceKernel.cu... + cmd.exe /C "C:\Users\Remote\AppData\Local\Temp\23eb6375bf06419d9e249707e8e299d9.cmd" + "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" -I"../shared/glew/includes" -I"../shared/freeglut/includes" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" --keep-dir "Release" -maxrregcount=0 --machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj" "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\src\raytraceKernel.cu" + + C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env --cl-version 2010 -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -I"C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc" -I"../shared/glew/includes" -I"../shared/freeglut/includes" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" --keep-dir "Release" -maxrregcount=0 --machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj" "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\src\raytraceKernel.cu" + raytraceKernel.cu + 1>C:/Users/Remote/Documents/CIS565/Project2-Pathtracer/src/raytraceKernel.cu(130): warning : specifiers after comma between declarations are nonstandard + + 1>C:/Users/Remote/Documents/CIS565/Project2-Pathtracer/src/raytraceKernel.cu(129): warning : variable "specExponent" was set but never used + + 1>c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec4.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec4 ::operator []") is not allowed + + 1>c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec4.inl(48): warning : calling a host function("_wassert") from a __device__/__global__ function("glm::detail::tvec4 ::operator []") is not allowed + + tmpxft_000016a4_00000000-0_raytraceKernel.cudafe1.gpu + tmpxft_000016a4_00000000-5_raytraceKernel.cudafe2.gpu + raytraceKernel.cu + 1>c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle.hpp(194): warning : missing return statement at end of non-void function "glm::detail::_swizzle_base2::operator=(const glm::detail::_swizzle_base2::Stub &)" + + 1>C:/Users/Remote/Documents/CIS565/Project2-Pathtracer/src/raytraceKernel.cu(130): warning : specifiers after comma between declarations are nonstandard + + 1>C:/Users/Remote/Documents/CIS565/Project2-Pathtracer/src/raytraceKernel.cu(129): warning : variable "specExponent" was set but never used + + tmpxft_000016a4_00000000-0_raytraceKernel.cudafe1.cpp + tmpxft_000016a4_00000000-11_raytraceKernel.ii + ClCompile: + All outputs are up-to-date. + All outputs are up-to-date. + Link: + c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\Release\565Pathtracer.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:../shared/glew/lib /LIBPATH:../shared/freeglut/lib /LIBPATH:"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\lib\Win32" cudart.lib glew32.lib glu32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Release\565Pathtracer.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\Release\565Pathtracer.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\Release\565Pathtracer.lib" /MACHINE:X86 "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj" + Release\glslUtility.obj + Release\image.obj + Release\main.obj + Release\scene.obj + Release\stb_image.obj + Release\stb_image_write.obj + Release\utilities.obj + Generating code + Finished generating code + 565Raytracer.vcxproj -> C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\Release\565Pathtracer.exe + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\Release\565Pathtracer.exe;#1" /manifest Release\565Pathtracer.exe.intermediate.manifest + FinalizeBuildStatus: + Deleting file "Release\565Pathtracer.unsuccessfulbuild". + Touching "Release\565Pathtracer.lastbuildstate". + 1>Done Building Project "C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" (build target(s)). + +Build succeeded. + +Time Elapsed 00:00:15.39 diff --git a/PROJ1_WIN/565Raytracer/Release/CL.read.1.tlog b/PROJ1_WIN/565Raytracer/Release/CL.read.1.tlog new file mode 100644 index 0000000..6d07615 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/CL.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/CL.write.1.tlog b/PROJ1_WIN/565Raytracer/Release/CL.write.1.tlog new file mode 100644 index 0000000..b822ef3 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/CL.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/cl.command.1.tlog b/PROJ1_WIN/565Raytracer/Release/cl.command.1.tlog new file mode 100644 index 0000000..34289cf Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/cl.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/glslUtility.obj b/PROJ1_WIN/565Raytracer/Release/glslUtility.obj new file mode 100644 index 0000000..cd4f3c2 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/glslUtility.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/image.obj b/PROJ1_WIN/565Raytracer/Release/image.obj new file mode 100644 index 0000000..5fcdddc Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/image.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/link.command.1.tlog b/PROJ1_WIN/565Raytracer/Release/link.command.1.tlog new file mode 100644 index 0000000..f62b887 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/link.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/link.read.1.tlog b/PROJ1_WIN/565Raytracer/Release/link.read.1.tlog new file mode 100644 index 0000000..681c671 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/link.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/link.write.1.tlog b/PROJ1_WIN/565Raytracer/Release/link.write.1.tlog new file mode 100644 index 0000000..b6b1cc8 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/link.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/main.obj b/PROJ1_WIN/565Raytracer/Release/main.obj new file mode 100644 index 0000000..c3e0a9d Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/main.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/mt.command.1.tlog b/PROJ1_WIN/565Raytracer/Release/mt.command.1.tlog new file mode 100644 index 0000000..0e16957 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/mt.command.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/mt.read.1.tlog b/PROJ1_WIN/565Raytracer/Release/mt.read.1.tlog new file mode 100644 index 0000000..5bf2af5 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/mt.read.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/mt.write.1.tlog b/PROJ1_WIN/565Raytracer/Release/mt.write.1.tlog new file mode 100644 index 0000000..700d169 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/mt.write.1.tlog differ diff --git a/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.cache b/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.cache new file mode 100644 index 0000000..7ece70b --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.cache @@ -0,0 +1,26 @@ +Identity=..\..\src\raytraceKernel.cu +AdditionalDeps= +AdditionalOptions= +CInterleavedPTX=false +CodeGeneration=compute_20,sm_20 +CompileOut=C:\Users\Remote\Documents\CIS565\Project2-Pathtracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj +CudaToolkitCustomDir= +Defines= +Emulation=false +FastMath=false +GPUDebugInfo=false +HostDebugInfo=false +Include=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include;C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc;../shared/glew/includes;../shared/freeglut/includes +Keep=false +KeepDir=Release +MaxRegCount=0 +NvccCompilation=compile +NvccPath= +Optimization=Od +PtxAsOptionV=false +RequiredIncludes= +Runtime=MD +RuntimeChecks=Default +TargetMachinePlatform=32 +TypeInfo=false +Warning=W3 diff --git a/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.deps b/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.deps new file mode 100644 index 0000000..41f94d7 --- /dev/null +++ b/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.deps @@ -0,0 +1,410 @@ +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_config.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h +c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vadefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stddef.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\channel_descriptor.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\cuda_runtime_api.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_functions.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\builtin_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\device_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\driver_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\surface_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\texture_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\host_defines.h +c:\program files\nvidia gpu computing toolkit\cuda\v4.0\include\vector_types.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\swprintf.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdlib.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cmath +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\yvals.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\use_ansi.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project2-pathtracer\src\sceneStructs.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/_fixes.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\climits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cfloat +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\float.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtwrn.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\limits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ymath.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cwchar +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wchar.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wtime.inl +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstddef +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstddef +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdio +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/setup.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\immintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\wmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\nmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\smmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\tmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\pmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\emmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\malloc.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/_detail.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\setup.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cassert +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\assert.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/type.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_half.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_half.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_half.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\setup.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\setup.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec1.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle_func.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec1.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec2.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec2.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec3.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec3.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec4.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_float.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_int.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_size.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_swizzle.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_vec4.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x2.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_gentype.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x2.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x3.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x3.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x4.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat2x4.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x2.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x2.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x3.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x3.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x4.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat3x4.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x2.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x2.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x3.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x3.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x4.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\type_mat4x4.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_trigonometric.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_trigonometric.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_exponential.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_exponential.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_common.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_fixes.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_common.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_packing.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_packing.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_geometric.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_geometric.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_matrix.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_matrix.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_vector_relational.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_detail.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_vector_relational.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_integer.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_integer.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\_vectorize.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\intrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\setjmp.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ammintrin.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mm3dnow.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\mmintrin.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/func_noise.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core\func_noise.inl +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\./core/_swizzle.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/_fixes.hpp +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\istream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ostream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ios +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocnum +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\streambuf +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xiosbase +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdexcept +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\eh.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xstring +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xmemory +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\new +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\utility +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iosfwd +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdbg.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\type_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xtr1common +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxtype_traits +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\typeinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocinfo.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\ctype.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\locale.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xdebug +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cerrno +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\errno.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\share.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/_fixes.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\utilities.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/_fixes.hpp +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\algorithm +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\memory +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfwrap1 +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xxshared +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iterator +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sstream +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xfunctional +c:\users\remote\documents\cis565\project2-pathtracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project2-pathtracer\src\raytraceKernel.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/config.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/simple_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/compiler.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/device_backend.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/host_device.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\host_defines.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/config/debug.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/cstdint.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/discard_block_engine.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\iostream +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/random_core_access.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/discard_block_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/linear_congruential_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_congruential_engine_discard.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/mod.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_congruential_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/linear_feedback_shift_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_feedback_shift_engine_wordmask.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/linear_feedback_shift_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/subtract_with_carry_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/subtract_with_carry_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/xor_combine_engine.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/type_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/type_traits/has_trivial_assign.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/xor_combine_engine_max.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/mpl/math.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/xor_combine_engine.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/uniform_int_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/pair.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/pair.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/detail/integer_traits.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/uniform_int_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/uniform_real_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/uniform_real_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/normal_distribution.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\thrust/random/detail/normal_distribution.inl +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda.h +c:\users\remote\documents\cis565\project2-pathtracer\src\sceneStructs.h +C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h +C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include\cuda_runtime.h +c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h +c:\users\remote\documents\cis565\project2-pathtracer\src\intersections.h +c:\users\remote\documents\cis565\project2-pathtracer\src\sceneStructs.h +c:\users\remote\documents\cis565\project2-pathtracer\src\cudaMat4.h +c:\users\remote\documents\cis565\project2-pathtracer\src\glm/glm.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\glm\core/_fixes.hpp +c:\users\remote\documents\cis565\project2-pathtracer\src\utilities.h +c:\users\remote\documents\cis565\project2-pathtracer\src\interactions.h +c:\users\remote\documents\cis565\project2-pathtracer\src\intersections.h +C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h diff --git a/PROJ1_WIN/565Raytracer/Release/scene.obj b/PROJ1_WIN/565Raytracer/Release/scene.obj new file mode 100644 index 0000000..5b9deb8 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/scene.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/stb_image.obj b/PROJ1_WIN/565Raytracer/Release/stb_image.obj new file mode 100644 index 0000000..e9687b4 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/stb_image.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/stb_image_write.obj b/PROJ1_WIN/565Raytracer/Release/stb_image_write.obj new file mode 100644 index 0000000..6645a08 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/stb_image_write.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/utilities.obj b/PROJ1_WIN/565Raytracer/Release/utilities.obj new file mode 100644 index 0000000..ad6a57d Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/utilities.obj differ diff --git a/PROJ1_WIN/565Raytracer/Release/vc100.pdb b/PROJ1_WIN/565Raytracer/Release/vc100.pdb new file mode 100644 index 0000000..3a678ce Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/vc100.pdb differ diff --git a/PROJ1_WIN/565Raytracer/Render.bmp b/PROJ1_WIN/565Raytracer/Render.bmp new file mode 100644 index 0000000..871b1d9 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Render.bmp differ diff --git a/PROJ1_WIN/565Raytracer/Render1.bmp b/PROJ1_WIN/565Raytracer/Render1.bmp new file mode 100644 index 0000000..0179710 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Render1.bmp differ diff --git a/PROJ1_WIN/565Raytracer/Render2.bmp b/PROJ1_WIN/565Raytracer/Render2.bmp new file mode 100644 index 0000000..87b2122 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Render2.bmp differ diff --git a/PROJ1_WIN/565Raytracer/Win32/Debug/raytraceKernel.cu.obj b/PROJ1_WIN/565Raytracer/Win32/Debug/raytraceKernel.cu.obj new file mode 100644 index 0000000..850624e Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Win32/Debug/raytraceKernel.cu.obj differ diff --git a/PROJ1_WIN/565Raytracer/Win32/Release/raytraceKernel.cu.obj b/PROJ1_WIN/565Raytracer/Win32/Release/raytraceKernel.cu.obj new file mode 100644 index 0000000..73d8e61 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Win32/Release/raytraceKernel.cu.obj differ diff --git a/PROJ1_WIN/565Pathtracer/glut32.dll b/PROJ1_WIN/565Raytracer/glut32.dll old mode 100755 new mode 100644 similarity index 100% rename from PROJ1_WIN/565Pathtracer/glut32.dll rename to PROJ1_WIN/565Raytracer/glut32.dll diff --git a/PROJ1_WIN/565Pathtracer/shaders/passthroughFS.glsl b/PROJ1_WIN/565Raytracer/shaders/passthroughFS.glsl old mode 100755 new mode 100644 similarity index 93% rename from PROJ1_WIN/565Pathtracer/shaders/passthroughFS.glsl rename to PROJ1_WIN/565Raytracer/shaders/passthroughFS.glsl index 9f6d7c5..fd4e15b --- a/PROJ1_WIN/565Pathtracer/shaders/passthroughFS.glsl +++ b/PROJ1_WIN/565Raytracer/shaders/passthroughFS.glsl @@ -1,8 +1,8 @@ -varying vec2 v_Texcoords; - -uniform sampler2D u_image; - -void main(void) -{ - gl_FragColor = texture2D(u_image, v_Texcoords); -} +varying vec2 v_Texcoords; + +uniform sampler2D u_image; + +void main(void) +{ + gl_FragColor = texture2D(u_image, v_Texcoords); +} diff --git a/PROJ1_WIN/565Pathtracer/shaders/passthroughVS.glsl b/PROJ1_WIN/565Raytracer/shaders/passthroughVS.glsl old mode 100755 new mode 100644 similarity index 94% rename from PROJ1_WIN/565Pathtracer/shaders/passthroughVS.glsl rename to PROJ1_WIN/565Raytracer/shaders/passthroughVS.glsl index 55db651..a3dbe92 --- a/PROJ1_WIN/565Pathtracer/shaders/passthroughVS.glsl +++ b/PROJ1_WIN/565Raytracer/shaders/passthroughVS.glsl @@ -1,9 +1,9 @@ -attribute vec4 Position; -attribute vec2 Texcoords; -varying vec2 v_Texcoords; - -void main(void) -{ - v_Texcoords = Texcoords; - gl_Position = Position; +attribute vec4 Position; +attribute vec2 Texcoords; +varying vec2 v_Texcoords; + +void main(void) +{ + v_Texcoords = Texcoords; + gl_Position = Position; } \ No newline at end of file diff --git a/PROJ1_WIN/565Raytracer/test.0.bmp b/PROJ1_WIN/565Raytracer/test.0.bmp new file mode 100644 index 0000000..87b2122 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/test.0.bmp differ diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00000130_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00000130_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00000488_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00000488_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_000010d0_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_000010d0_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_000011e8_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_000011e8_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001444_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001444_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_0000163c_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_0000163c_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_000016ac_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_000016ac_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001734_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001734_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_0000175c_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_0000175c_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001974_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001974_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001998_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001998_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001a94_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001a94_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/tmpxft_00001adc_00000000-6_raytraceKernel.cpp3.o b/PROJ1_WIN/565Raytracer/tmpxft_00001adc_00000000-6_raytraceKernel.cpp3.o new file mode 100644 index 0000000..e69de29 diff --git a/PROJ1_WIN/565Raytracer/vc100.pdb b/PROJ1_WIN/565Raytracer/vc100.pdb new file mode 100644 index 0000000..a999035 Binary files /dev/null and b/PROJ1_WIN/565Raytracer/vc100.pdb differ diff --git a/PROJ1_WIN/Debug/565Raytracer.exe b/PROJ1_WIN/Debug/565Raytracer.exe new file mode 100644 index 0000000..c20e44d Binary files /dev/null and b/PROJ1_WIN/Debug/565Raytracer.exe differ diff --git a/PROJ1_WIN/Debug/565Raytracer.ilk b/PROJ1_WIN/Debug/565Raytracer.ilk new file mode 100644 index 0000000..bebba49 Binary files /dev/null and b/PROJ1_WIN/Debug/565Raytracer.ilk differ diff --git a/PROJ1_WIN/Debug/565Raytracer.pdb b/PROJ1_WIN/Debug/565Raytracer.pdb new file mode 100644 index 0000000..c01ca36 Binary files /dev/null and b/PROJ1_WIN/Debug/565Raytracer.pdb differ diff --git a/PROJ1_WIN/Release/565Raytracer.exe b/PROJ1_WIN/Release/565Raytracer.exe new file mode 100644 index 0000000..c8740ac Binary files /dev/null and b/PROJ1_WIN/Release/565Raytracer.exe differ diff --git a/PROJ1_WIN/Release/565Raytracer.pdb b/PROJ1_WIN/Release/565Raytracer.pdb new file mode 100644 index 0000000..cf0bd40 Binary files /dev/null and b/PROJ1_WIN/Release/565Raytracer.pdb differ diff --git a/PROJ1_WIN/ipch/565raytracer-837ba9db/565raytracer-19509b53.ipch b/PROJ1_WIN/ipch/565raytracer-837ba9db/565raytracer-19509b53.ipch new file mode 100644 index 0000000..eb14b0a Binary files /dev/null and b/PROJ1_WIN/ipch/565raytracer-837ba9db/565raytracer-19509b53.ipch differ diff --git a/README.md b/README.md index 324bd3e..63ccc93 100755 --- a/README.md +++ b/README.md @@ -1,148 +1,57 @@ ------------------------------------------------------------------------------- -CIS565: Project 2: CUDA Pathtracer +
CIS565: Project 2: CUDA Pathtracer ------------------------------------------------------------------------------- -Fall 2013 +
Fall 2013 ------------------------------------------------------------------------------- -Due Wednesday, 10/02/13 -------------------------------------------------------------------------------- - -------------------------------------------------------------------------------- -NOTE: -------------------------------------------------------------------------------- -This project requires an NVIDIA graphics card with CUDA capability! Any card after the Geforce 8xxx series will work. If you do not have an NVIDIA graphics card in the machine you are working on, feel free to use any machine in the SIG Lab or in Moore100 labs. All machines in the SIG Lab and Moore100 are equipped with CUDA capable NVIDIA graphics cards. If this too proves to be a problem, please contact Patrick or Liam as soon as possible. ------------------------------------------------------------------------------- -INTRODUCTION: +
INTRODUCTION: ------------------------------------------------------------------------------- -In this project, you will extend your raytracer from Project 1 into a full CUDA based global illumination pathtracer. - -For this project, you may either choose to continue working off of your codebase from Project 1, or you may choose to use the included basecode in this repository. The basecode for Project 2 is the same as the basecode for Project 1, but with some missing components you will need filled in, such as the intersection testing and camera raycasting methods. +This project is a CUDA based path tracer that utilizes the GPU to generate path traced images very quickly. The project reads in a text file that specifies the materials, objects, and camera for the scene. For my path tracer, I've implemented intersection testing for spheres and cubes, full global illumination, properly accumulating emittance, supersampled antialiasing, parallelization by ray with my own coded stream compaction, perfect specular reflection, depth of field, an interactive camera, and fresnel refraction. Here’s two sample renders: -How you choose to extend your raytracer into a pathtracer is a fairly open-ended problem; the supplied basecode is meant to serve as one possible set of guidelines for doing so, but you may choose any approach you want in your actual implementation, including completely scrapping the provided basecode in favor of your own from-scratch solution. +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/FinalRender.jpg "refractive spheres") -------------------------------------------------------------------------------- -CONTENTS: -------------------------------------------------------------------------------- -The Project2 root directory contains the following subdirectories: - -* src/ contains the source code for the project. Both the Windows Visual Studio solution and the OSX makefile reference this folder for all source; the base source code compiles on OSX and Windows without modification. -* scenes/ contains an example scene description file. -* renders/ contains two example renders: the raytraced render from Project 1 (GI_no.bmp), and the same scene rendered with global illumination (GI_yes.bmp). -* PROJ1_WIN/ contains a Windows Visual Studio 2010 project and all dependencies needed for building and running on Windows 7. -* PROJ1_OSX/ contains a OSX makefile, run script, and all dependencies needed for building and running on Mac OSX 10.8. -* PROJ1_NIX/ contains a Linux makefile for building and running on Ubuntu - 12.04 LTS. Note that you will need to set the following environment - variables: - - - PATH=$PATH:/usr/local/cuda-5.5/bin - - LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib64:/lib - -The projects build and run exactly the same way as in Project0 and Project1. +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/PathTracerRender2.jpg "glass sphere") ------------------------------------------------------------------------------- -REQUIREMENTS: +
SREENSHOTS: ------------------------------------------------------------------------------- -In this project, you are given code for: - -* All of the basecode from Project 1, plus: -* Intersection testing code for spheres and cubes -* Code for raycasting from the camera - -You will need to implement the following features. A number of these required features you may have already implemented in Project 1. If you have, you are ahead of the curve and have less work to do! -* Full global illumination (including soft shadows, color bleeding, etc.) by pathtracing rays through the scene. -* Properly accumulating emittance and colors to generate a final image -* Supersampled antialiasing -* Parallelization by ray instead of by pixel via stream compaction (you may use Thrust for this). -* Perfect specular reflection +Because my current CUDA compatible computer doesn't have the necessary software installed to screen capture a video of my path tracer in process, here are a bunch of screen shots illustrating the image converging. -You are also required to implement at least two of the following features. Some of these features you may have already implemented in Project 1. If you have, you may NOT resubmit those features and instead must pick two new ones to implement. +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot2.jpg "screenshots") -* From scratch stream compaction (no Thrust). -* Additional BRDF models, such as Cook-Torrance, Ward, etc. Each BRDF model may count as a separate feature. -* Texture mapping -* Bump mapping -* Translational motion blur -* Fresnel-based Refraction, i.e. glass -* OBJ Mesh loading and rendering without KD-Tree -* Interactive camera -* Integrate an existing stackless KD-Tree library, such as CUKD (https://github.com/unvirtual/cukd) -* Depth of field +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot4.jpg "screenshots") -Alternatively, implementing just one of the following features can satisfy the "pick two" feature requirement, since these are correspondingly more difficult problems: +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot6.jpg "screenshots") -* Physically based subsurface scattering and transmission -* Implement and integrate your own stackless KD-Tree from scratch. -* Displacement mapping -* Deformational motion blur +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot8.jpg "screenshots") -As yet another alternative, if you have a feature or features you really want to implement that are not on this list, let us know, and we'll probably say yes! - -------------------------------------------------------------------------------- -NOTES ON GLM: -------------------------------------------------------------------------------- -This project uses GLM, the GL Math library, for linear algebra. You need to know two important points on how GLM is used in this project: +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot9.jpg "screenshots") -* In this project, indices in GLM vectors (such as vec3, vec4), are accessed via swizzling. So, instead of v[0], v.x is used, and instead of v[1], v.y is used, and so on and so forth. -* GLM Matrix operations work fine on NVIDIA Fermi cards and later, but pre-Fermi cards do not play nice with GLM matrices. As such, in this project, GLM matrices are replaced with a custom matrix struct, called a cudaMat4, found in cudaMat4.h. A custom function for multiplying glm::vec4s and cudaMat4s is provided as multiplyMV() in intersections.h. +
Final Render -------------------------------------------------------------------------------- -README -------------------------------------------------------------------------------- -All students must replace or augment the contents of this Readme.md in a clear -manner with the following: +
![path tracer](https://raw.github.com/josephto/Project2-Pathtracer/master/renders/Screenshot.jpg "screenshots") -* A brief description of the project and the specific features you implemented. -* At least one screenshot of your project running. -* A 30 second or longer video of your project running. To create the video you - can use http://www.microsoft.com/expression/products/Encoder4_Overview.aspx -* A performance evaluation (described in detail below). ------------------------------------------------------------------------------- -PERFORMANCE EVALUATION +
PERFORMANCE REPORT: ------------------------------------------------------------------------------- -The performance evaluation is where you will investigate how to make your CUDA -programs more efficient using the skills you've learned in class. You must have -performed at least one experiment on your code to investigate the positive or -negative effects on performance. - -One such experiment would be to investigate the performance increase involved -with adding a spatial data-structure to your scene data. - -Another idea could be looking at the change in timing between various block -sizes. - -A good metric to track would be number of rays per second, or frames per -second, or number of objects displayable at 60fps. - -We encourage you to get creative with your tweaks. Consider places in your code -that could be considered bottlenecks and try to improve them. -Each student should provide no more than a one page summary of their -optimizations along with tables and or graphs to visually explain any -performance differences. +Here's a table with some performance analysis that I conducted on my code. I recorded how many seconds per iteration it takes for my path tracer with stream compaction and without stream compaction. -------------------------------------------------------------------------------- -THIRD PARTY CODE POLICY -------------------------------------------------------------------------------- -* Use of any third-party code must be approved by asking on the Google group. If it is approved, all students are welcome to use it. Generally, we approve use of third-party code that is not a core part of the project. For example, for the ray tracer, we would approve using a third-party library for loading models, but would not approve copying and pasting a CUDA function for doing refraction. -* Third-party code must be credited in README.md. -* Using third-party code without its approval, including using another student's code, is an academic integrity violation, and will result in you receiving an F for the semester. +Maximum Ray Depth | With Stream Compaction | No Stream Compaction +------------------|------------------------|--------------------- +1 | 0.036 sec/iter | 0.035 sec/iter +2 | 0.066 sec/iter | 0.052 sec/iter +4 | 0.121 sec/iter | 0.089 sec/iter +8 | 0.201 sec/iter | 0.160 sec/iter +16 | 0.291 sec/iter | 0.268 sec/iter +32 | 0.399 sec/iter | 0.336 sec/iter +64 | 0.548 sec/iter | 0.345 sec/iter +128 | 0.825 sec/iter | 0.357 sec/iter +256 | 1.379 sec/iter | 0.383 sec/iter +512 | 2.482 sec/iter | 0.430 sec/iter -------------------------------------------------------------------------------- -SELF-GRADING -------------------------------------------------------------------------------- -* On the submission date, email your grade, on a scale of 0 to 100, to Liam, liamboone+cis565@gmail.com, with a one paragraph explanation. Be concise and realistic. Recall that we reserve 30 points as a sanity check to adjust your grade. Your actual grade will be (0.7 * your grade) + (0.3 * our grade). We hope to only use this in extreme cases when your grade does not realistically reflect your work - it is either too high or too low. In most cases, we plan to give you the exact grade you suggest. -* Projects are not weighted evenly, e.g., Project 0 doesn't count as much as the path tracer. We will determine the weighting at the end of the semester based on the size of each project. +As you can see, my stream compaction actually ended slowing down my path tracer. This is probably because I used a lot of memcopy to and from the GPU which seriously slowed down my stream compaction. I plan on going back and re-implementing the stream compaction so that it actually achieves a significant speed up per iteration. -------------------------------------------------------------------------------- -SUBMISSION -------------------------------------------------------------------------------- -As with the previous project, you should fork this project and work inside of your fork. Upon completion, commit your finished project back to your fork, and make a pull request to the master repository. -You should include a README.md file in the root directory detailing the following - -* A brief description of the project and specific features you implemented -* At least one screenshot of your project running, and at least one screenshot of the final rendered output of your pathtracer -* Instructions for building and running your project if they differ from the base code -* A link to your blog post detailing the project -* A list of all third-party code used diff --git a/renders/DemoReel/Diffuse.bmp b/renders/DemoReel/Diffuse.bmp new file mode 100644 index 0000000..efcb4c8 Binary files /dev/null and b/renders/DemoReel/Diffuse.bmp differ diff --git a/renders/DemoReel/Fresnel.bmp b/renders/DemoReel/Fresnel.bmp new file mode 100644 index 0000000..fbdbf2f Binary files /dev/null and b/renders/DemoReel/Fresnel.bmp differ diff --git a/renders/FinalRender.bmp b/renders/FinalRender.bmp new file mode 100644 index 0000000..a434137 Binary files /dev/null and b/renders/FinalRender.bmp differ diff --git a/renders/FinalRender.jpg b/renders/FinalRender.jpg new file mode 100644 index 0000000..20b0bed Binary files /dev/null and b/renders/FinalRender.jpg differ diff --git a/renders/PathTracerRender1.bmp b/renders/PathTracerRender1.bmp new file mode 100644 index 0000000..0fff94d Binary files /dev/null and b/renders/PathTracerRender1.bmp differ diff --git a/renders/PathTracerRender1.jpg b/renders/PathTracerRender1.jpg new file mode 100644 index 0000000..b55a5ea Binary files /dev/null and b/renders/PathTracerRender1.jpg differ diff --git a/renders/PathTracerRender2.bmp b/renders/PathTracerRender2.bmp new file mode 100644 index 0000000..98fc3a6 Binary files /dev/null and b/renders/PathTracerRender2.bmp differ diff --git a/renders/PathTracerRender2.jpg b/renders/PathTracerRender2.jpg new file mode 100644 index 0000000..24420ce Binary files /dev/null and b/renders/PathTracerRender2.jpg differ diff --git a/renders/Screen.bmp b/renders/Screen.bmp new file mode 100644 index 0000000..b550487 Binary files /dev/null and b/renders/Screen.bmp differ diff --git a/renders/Screenshot.jpg b/renders/Screenshot.jpg new file mode 100644 index 0000000..7fd9c5d Binary files /dev/null and b/renders/Screenshot.jpg differ diff --git a/renders/Screenshot1.jpg b/renders/Screenshot1.jpg new file mode 100644 index 0000000..8d20da7 Binary files /dev/null and b/renders/Screenshot1.jpg differ diff --git a/renders/Screenshot2.jpg b/renders/Screenshot2.jpg new file mode 100644 index 0000000..38a980f Binary files /dev/null and b/renders/Screenshot2.jpg differ diff --git a/renders/Screenshot3.jpg b/renders/Screenshot3.jpg new file mode 100644 index 0000000..7466cd4 Binary files /dev/null and b/renders/Screenshot3.jpg differ diff --git a/renders/Screenshot4.jpg b/renders/Screenshot4.jpg new file mode 100644 index 0000000..49594ba Binary files /dev/null and b/renders/Screenshot4.jpg differ diff --git a/renders/Screenshot5.jpg b/renders/Screenshot5.jpg new file mode 100644 index 0000000..5cba540 Binary files /dev/null and b/renders/Screenshot5.jpg differ diff --git a/renders/Screenshot6.jpg b/renders/Screenshot6.jpg new file mode 100644 index 0000000..8738c56 Binary files /dev/null and b/renders/Screenshot6.jpg differ diff --git a/renders/Screenshot7.jpg b/renders/Screenshot7.jpg new file mode 100644 index 0000000..fb4d660 Binary files /dev/null and b/renders/Screenshot7.jpg differ diff --git a/renders/Screenshot8.jpg b/renders/Screenshot8.jpg new file mode 100644 index 0000000..0018afd Binary files /dev/null and b/renders/Screenshot8.jpg differ diff --git a/renders/Screenshot9.jpg b/renders/Screenshot9.jpg new file mode 100644 index 0000000..25dbe00 Binary files /dev/null and b/renders/Screenshot9.jpg differ diff --git a/renders/sampleScene.0.bmp b/renders/sampleScene.0.bmp new file mode 100644 index 0000000..d8bb407 Binary files /dev/null and b/renders/sampleScene.0.bmp differ diff --git a/renders/test.0.bmp b/renders/test.0.bmp deleted file mode 100644 index 9319138..0000000 Binary files a/renders/test.0.bmp and /dev/null differ diff --git a/scenes/cubeTestScene.txt b/scenes/cubeTestScene.txt new file mode 100644 index 0000000..8a573fc --- /dev/null +++ b/scenes/cubeTestScene.txt @@ -0,0 +1,182 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 8 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass +RGB 0 0 0 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 2.2 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 8 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 15 + +CAMERA +RES 800 800 +FOVY 25 +ITERATIONS 5000 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -5 +ROTAT 0 90 0 +SCALE .01 10 10 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 3 +cube +material 1 +frame 0 +TRANS -5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 4 +cube +material 2 +frame 0 +TRANS 5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 5 +sphere +material 0 +frame 0 +TRANS 0 2 0 +ROTAT 0 180 0 +SCALE 3 3 3 + +OBJECT 6 +cube +material 8 +frame 0 +TRANS 0 9.5 0 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 7 +cube +material 8 +frame 0 +TRANS -4.8 5 0 +ROTAT 0 0 0 +SCALE .1 3 3 \ No newline at end of file diff --git a/scenes/demoReel.txt b/scenes/demoReel.txt new file mode 100644 index 0000000..a3b4c3c --- /dev/null +++ b/scenes/demoReel.txt @@ -0,0 +1,494 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 10 + +MATERIAL 4 +RGB 1 .4 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 +RGB 1 .604 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 6 +RGB 1 .804 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 +RGB 1 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 8 +RGB .804 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 9 +RGB .604 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 10 +RGB .4 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 11 +RGB .4 1 .604 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 12 +RGB .4 1 .804 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 13 +RGB .4 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 14 +RGB .4 .804 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 15 +RGB .4 .604 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 16 +RGB .4 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 17 +RGB .604 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 18 +RGB .804 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 19 +RGB 1 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 20 +RGB 1 .4 .804 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 21 +RGB 1 .4 604 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 22 +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +CAMERA +RES 1280 720 +FOVY 25 +ITERATIONS 5000 +FILE test.bmp +frame 0 +EYE 0 5 20.7 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -10 +ROTAT 0 90 0 +SCALE .01 22 22 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 3 +cube +material 2 +frame 0 +TRANS -10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 4 +cube +material 1 +frame 0 +TRANS 10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 5 //light +cube +material 3 +frame 0 +TRANS 4 10 -5 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 6 //light +cube +material 3 +frame 0 +TRANS -4 10 -5 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 7 //light +cube +material 3 +frame 0 +TRANS 4 10 5 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 8 //light +cube +material 3 +frame 0 +TRANS -4 10 5 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 9 +sphere +material 4 +frame 0 +TRANS 8 8 -8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 10 +sphere +material 5 +frame 0 +TRANS 6 7.25 -6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 11 +sphere +material 6 +frame 0 +TRANS 4 6.5 -4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 12 +sphere +material 7 +frame 0 +TRANS 2 5.75 -2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 13 //center SPHERE +sphere +material 22 +frame 0 +TRANS 0 5 0 +ROTAT 0 0 0 +SCALE 4 4 4 + +OBJECT 14 +sphere +material 8 +frame 0 +TRANS -2 4.25 2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 15 +sphere +material 9 +frame 0 +TRANS -4 3.5 4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 16 +sphere +material 10 +frame 0 +TRANS -6 2.75 6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 17 +sphere +material 11 +frame 0 +TRANS -8 2 8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 18 //start of second diagonal +sphere +material 12 +frame 0 +TRANS -8 8 -8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 19 +sphere +material 13 +frame 0 +TRANS -6 7.25 -6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 20 +sphere +material 14 +frame 0 +TRANS -4 6.5 -4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 21 +sphere +material 15 +frame 0 +TRANS -2 5.75 -2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 22 +sphere +material 16 +frame 0 +TRANS 2 4.25 2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 23 +sphere +material 17 +frame 0 +TRANS 4 3.5 4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 24 +sphere +material 18 +frame 0 +TRANS 6 2.75 6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 25 +sphere +material 19 +frame 0 +TRANS 8 2 8 +ROTAT 0 0 0 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/demoReel1.txt b/scenes/demoReel1.txt new file mode 100644 index 0000000..ab3f030 --- /dev/null +++ b/scenes/demoReel1.txt @@ -0,0 +1,494 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 10 + +MATERIAL 4 +RGB 1 .4 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 +RGB 1 .604 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 6 +RGB 1 .804 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 +RGB 1 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 8 +RGB .804 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 9 +RGB .604 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 10 +RGB .4 1 .4 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 11 +RGB .4 1 .604 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 12 +RGB .4 1 .804 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 13 +RGB .4 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 14 +RGB .4 .804 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 15 +RGB .4 .604 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 16 +RGB .4 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 17 +RGB .604 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 18 +RGB .804 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 19 +RGB 1 .4 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 20 +RGB 1 .4 .804 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 21 +RGB 1 .4 604 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 22 +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 5 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +CAMERA +RES 1280 720 +FOVY 25 +ITERATIONS 3500 +FILE test.bmp +frame 0 +EYE 0 5 20.7 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -10 +ROTAT 0 90 0 +SCALE .01 22 22 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 3 +cube +material 2 +frame 0 +TRANS -10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 4 +cube +material 1 +frame 0 +TRANS 10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 5 //light +cube +material 3 +frame 0 +TRANS 4 10 -5 +ROTAT 0 0 90 +SCALE .3 3.5 3.5 + +OBJECT 6 //light +cube +material 3 +frame 0 +TRANS -4 10 -5 +ROTAT 0 0 90 +SCALE .3 3.5 3.5 + +OBJECT 7 //light +cube +material 3 +frame 0 +TRANS 4 10 5 +ROTAT 0 0 90 +SCALE .3 3.5 3.5 + +OBJECT 8 //light +cube +material 3 +frame 0 +TRANS -4 10 5 +ROTAT 0 0 90 +SCALE .3 3.5 3.5 + +OBJECT 9 +sphere +material 12 +frame 0 +TRANS 8 8 -8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 10 +sphere +material 13 +frame 0 +TRANS 6 7.25 -6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 11 +sphere +material 14 +frame 0 +TRANS 4 6.5 -4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 12 +sphere +material 15 +frame 0 +TRANS 2 5.75 -2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 13 //center SPHERE +sphere +material 22 +frame 0 +TRANS 0 5 0 +ROTAT 0 0 0 +SCALE 4 4 4 + +OBJECT 14 +sphere +material 16 +frame 0 +TRANS -2 4.25 2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 15 +sphere +material 17 +frame 0 +TRANS -4 3.5 4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 16 +sphere +material 18 +frame 0 +TRANS -6 2.75 6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 17 +sphere +material 19 +frame 0 +TRANS -8 2 8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 18 //start of second diagonal +sphere +material 4 +frame 0 +TRANS -8 8 -8 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 19 +sphere +material 5 +frame 0 +TRANS -6 7.25 -6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 20 +sphere +material 6 +frame 0 +TRANS -4 6.5 -4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 21 +sphere +material 7 +frame 0 +TRANS -2 5.75 -2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 22 +sphere +material 8 +frame 0 +TRANS 2 4.25 2 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 23 +sphere +material 9 +frame 0 +TRANS 4 3.5 4 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 24 +sphere +material 10 +frame 0 +TRANS 6 2.75 6 +ROTAT 0 0 0 +SCALE 3 3 3 + +OBJECT 25 +sphere +material 11 +frame 0 +TRANS 8 2 8 +ROTAT 0 0 0 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/reflectiveSpheres.txt b/scenes/reflectiveSpheres.txt new file mode 100644 index 0000000..b914da3 --- /dev/null +++ b/scenes/reflectiveSpheres.txt @@ -0,0 +1,214 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass purple +RGB .7 .6 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 15 + +MATERIAL 9 //glass red +RGB .8 .4 .1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 3 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 10 //glass +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 3 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +CAMERA +RES 800 800 +FOVY 25 +ITERATIONS 2500 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -5 +ROTAT 0 90 0 +SCALE .01 10 10 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 3 +cube +material 6 +frame 0 +TRANS -5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 4 +cube +material 3 +frame 0 +TRANS 5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 5 //light +cube +material 8 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 6 +sphere +material 5 +frame 0 +TRANS 2 5 2 +ROTAT 0 180 0 +SCALE 2.5 2.5 2.5 + +OBJECT 7 +sphere +material 9 +frame 0 +TRANS -2 5 -2 +ROTAT 0 180 0 +SCALE 3 3 3 + +OBJECT 8 +sphere +material 10 +frame 0 +TRANS 0 2 0 +ROTAT 0 180 0 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/reflectiveSpheres1.txt b/scenes/reflectiveSpheres1.txt new file mode 100644 index 0000000..4d2b9bd --- /dev/null +++ b/scenes/reflectiveSpheres1.txt @@ -0,0 +1,234 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass purple +RGB .7 .6 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 10 + +MATERIAL 9 //glass red +RGB .8 .4 .1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 3 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 10 //glass +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 3 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 11 //diffuse blueish +RGB .3 .6 .9 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +CAMERA +RES 1280 720 +FOVY 25 +ITERATIONS 5000 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -10 +ROTAT 0 90 0 +SCALE .01 22 22 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 20 20 + +OBJECT 3 +cube +material 2 +frame 0 +TRANS -10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 4 +cube +material 1 +frame 0 +TRANS 10 5 0 +ROTAT 0 0 0 +SCALE .01 20 20 + +OBJECT 5 //light +cube +material 8 +frame 0 +TRANS 4 10 -2 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 6 //light +cube +material 8 +frame 0 +TRANS -4 10 -2 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 7 +sphere +material 11 //5 +frame 0 +TRANS 2 5 2 +ROTAT 0 0 180 +SCALE 2.5 2.5 2.5 + +OBJECT 8 +sphere +material 11 //9 +frame 0 +TRANS -2 5 -6 +ROTAT 0 0 180 +SCALE 3 3 3 + +OBJECT 9 +sphere +material 11 //10 +frame 0 +TRANS 0 2 -2 +ROTAT 0 0 180 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/sampleScene.txt b/scenes/sampleScene.txt index 52d079e..2e7f621 100755 --- a/scenes/sampleScene.txt +++ b/scenes/sampleScene.txt @@ -1,6 +1,6 @@ MATERIAL 0 //white diffuse -RGB 0.9 0.9 0.9 -SPECEX 0 +RGB 1 1 1 +SPECEX 2 SPECRGB 1 1 1 REFL 0 REFR 0 @@ -12,7 +12,7 @@ EMITTANCE 0 MATERIAL 1 //red diffuse RGB .63 .06 .04 -SPECEX 0 +SPECEX 2 SPECRGB 1 1 1 REFL 0 REFR 0 @@ -24,7 +24,7 @@ EMITTANCE 0 MATERIAL 2 //green diffuse RGB .15 .48 .09 -SPECEX 0 +SPECEX 2 SPECRGB 1 1 1 REFL 0 REFR 0 @@ -35,10 +35,10 @@ RSCTCOEFF 0 EMITTANCE 0 MATERIAL 3 //red glossy -RGB .63 .26 .24 -SPECEX 0 +RGB .63 .06 .04 +SPECEX 8 SPECRGB 1 1 1 -REFL 0 +REFL 1 REFR 0 REFRIOR 2 SCATTER 0 @@ -47,10 +47,10 @@ RSCTCOEFF 0 EMITTANCE 0 MATERIAL 4 //white glossy -RGB 1 1 1 -SPECEX 0 +RGB 0 0 0 +SPECEX 8 SPECRGB 1 1 1 -REFL 0 +REFL 1 REFR 0 REFRIOR 2 SCATTER 0 @@ -71,10 +71,10 @@ RSCTCOEFF 13 EMITTANCE 0 MATERIAL 6 //green glossy -RGB .35 .48 .29 -SPECEX 0 +RGB .15 .48 .09 +SPECEX 8 SPECRGB 1 1 1 -REFL 0 +REFL 1 REFR 0 REFRIOR 2.6 SCATTER 0 @@ -115,10 +115,7 @@ frame 0 EYE 0 4.5 12 VIEW 0 0 -1 UP 0 1 0 -frame 1 -EYE 0 4.5 12 -VIEW 0 0 -1 -UP 0 1 0 +FLENGTH 10 OBJECT 0 cube @@ -127,10 +124,6 @@ frame 0 TRANS 0 0 0 ROTAT 0 0 90 SCALE .01 10 10 -frame 1 -TRANS 0 0 0 -ROTAT 0 0 90 -SCALE .01 10 10 OBJECT 1 cube @@ -139,10 +132,6 @@ frame 0 TRANS 0 5 -5 ROTAT 0 90 0 SCALE .01 10 10 -frame 1 -TRANS 0 5 -5 -ROTAT 0 90 0 -SCALE .01 10 10 OBJECT 2 cube @@ -151,10 +140,6 @@ frame 0 TRANS 0 10 0 ROTAT 0 0 90 SCALE .01 10 10 -frame 1 -TRANS 0 10 0 -ROTAT 0 0 90 -SCALE .01 10 10 OBJECT 3 cube @@ -163,10 +148,6 @@ frame 0 TRANS -5 5 0 ROTAT 0 0 0 SCALE .01 10 10 -frame 1 -TRANS -5 5 0 -ROTAT 0 0 0 -SCALE .01 10 10 OBJECT 4 cube @@ -175,55 +156,35 @@ frame 0 TRANS 5 5 0 ROTAT 0 0 0 SCALE .01 10 10 -frame 1 -TRANS 5 5 0 -ROTAT 0 0 0 -SCALE .01 10 10 OBJECT 5 +cube +material 8 +frame 0 +TRANS 0 9.5 0 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 6 sphere -material 4 +material 0 frame 0 TRANS 0 2 0 ROTAT 0 180 0 SCALE 3 3 3 -frame 1 -TRANS 0 2 0 -ROTAT 0 180 0 -SCALE 3 3 3 -OBJECT 6 +OBJECT 7 sphere -material 3 +material 1 frame 0 TRANS 2 5 2 ROTAT 0 180 0 SCALE 2.5 2.5 2.5 -frame 1 -TRANS 2 5 2 -ROTAT 0 180 0 -SCALE 2.5 2.5 2.5 -OBJECT 7 +OBJECT 8 sphere -material 6 +material 2 frame 0 TRANS -2 5 -2 ROTAT 0 180 0 -SCALE 3 3 3 -frame 1 -TRANS -2 5 -2 -ROTAT 0 180 0 -SCALE 3 3 3 - -OBJECT 8 -cube -material 8 -frame 0 -TRANS 0 10 0 -ROTAT 0 0 90 -SCALE .3 3 3 -frame 1 -TRANS 0 10 0 -ROTAT 0 0 90 -SCALE .3 3 3 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/sampleScene_simple.txt b/scenes/sampleScene_simple.txt new file mode 100644 index 0000000..ac3de3c --- /dev/null +++ b/scenes/sampleScene_simple.txt @@ -0,0 +1,174 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 0 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0.2 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass +RGB 0 0 0 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 2.2 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0.1 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 15 + +CAMERA +RES 800 800 +FOVY 35 +ITERATIONS 2500 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 1 +cube +material 0 +frame 0 +TRANS 0 5 -5 +ROTAT 0 90 0 +SCALE .01 10 10 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 3 +cube +material 1 +frame 0 +TRANS -5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 4 +cube +material 2 +frame 0 +TRANS 5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 5 +cube +material 8 +frame 0 +TRANS 0 5 0 +ROTAT 0 0 0 +SCALE 1 1 1 + +OBJECT 6 +sphere +material 3 +frame 0 +TRANS 0 2 -1 +ROTAT 0 0 0 +SCALE 2 2 2 \ No newline at end of file diff --git a/scenes/test1.txt b/scenes/test1.txt new file mode 100644 index 0000000..725c193 --- /dev/null +++ b/scenes/test1.txt @@ -0,0 +1,174 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 15 + +CAMERA +RES 800 800 +FOVY 25 +ITERATIONS 2500 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 0 +frame 0 +TRANS 0 0 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 1 +cube +material 4 +frame 0 +TRANS 0 5 -5 +ROTAT 0 90 0 +SCALE .01 10 10 + +OBJECT 2 +cube +material 0 +frame 0 +TRANS 0 10 0 +ROTAT 0 0 90 +SCALE .01 10 10 + +OBJECT 3 +cube +material 6 +frame 0 +TRANS -5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 4 +cube +material 3 +frame 0 +TRANS 5 5 0 +ROTAT 0 0 0 +SCALE .01 10 10 + +OBJECT 5 +cube +material 8 +frame 0 +TRANS 0 9.5 0 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 6 +sphere +material 5 +frame 0 +TRANS 0 4 0 +ROTAT 0 180 0 +SCALE 3 3 3 \ No newline at end of file diff --git a/scenes/test2.txt b/scenes/test2.txt new file mode 100644 index 0000000..72ca97c --- /dev/null +++ b/scenes/test2.txt @@ -0,0 +1,134 @@ +MATERIAL 0 //white diffuse +RGB 1 1 1 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 1 //red diffuse +RGB .63 .06 .04 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 2 //green diffuse +RGB .15 .48 .09 +SPECEX 2 +SPECRGB 1 1 1 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 3 //red glossy +RGB .63 .06 .04 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 4 //white glossy +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 5 //glass +RGB 1 1 1 +SPECEX 0 +SPECRGB 1 1 1 +REFL 0 +REFR 1 +REFRIOR 5 +SCATTER 0 +ABSCOEFF .02 5.1 5.7 +RSCTCOEFF 13 +EMITTANCE 0 + +MATERIAL 6 //green glossy +RGB .15 .48 .09 +SPECEX 8 +SPECRGB 1 1 1 +REFL 1 +REFR 0 +REFRIOR 2.6 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 0 + +MATERIAL 7 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 1 + +MATERIAL 8 //light +RGB 1 1 1 +SPECEX 0 +SPECRGB 0 0 0 +REFL 0 +REFR 0 +REFRIOR 0 +SCATTER 0 +ABSCOEFF 0 0 0 +RSCTCOEFF 0 +EMITTANCE 15 + +CAMERA +RES 800 800 +FOVY 25 +ITERATIONS 2500 +FILE test.bmp +frame 0 +EYE 0 4.5 12 +VIEW 0 0 -1 +UP 0 1 0 +FLENGTH 10 + +OBJECT 0 +cube +material 8 +frame 0 +TRANS 0 9.5 0 +ROTAT 0 0 90 +SCALE .3 3 3 + +OBJECT 1 +sphere +material 5 +frame 0 +TRANS 0 4 0 +ROTAT 0 180 0 +SCALE 3 3 3 \ No newline at end of file diff --git a/src/image.cpp b/src/image.cpp index 67bf157..46b6235 100755 --- a/src/image.cpp +++ b/src/image.cpp @@ -38,7 +38,7 @@ image::~image(){ //------------------------ float image::applyGamma(float f){ - //apply gamma correction, use simple power law gamma for now. + //apply gamma correction, use simple power law gamma for now. TODO: sRGB return pow(f/float(gamma.divisor), gamma.gamma); } diff --git a/src/interactions.h b/src/interactions.h index 6561796..8c3f5f6 100755 --- a/src/interactions.h +++ b/src/interactions.h @@ -8,10 +8,56 @@ #include "intersections.h" +struct Fresnel { + float reflectionCoefficient; + float transmissionCoefficient; +}; + +struct AbsorptionAndScatteringProperties{ + glm::vec3 absorptionCoefficient; + float reducedScatteringCoefficient; +}; + //forward declaration +__host__ __device__ bool calculateScatterAndAbsorption(ray& r, float& depth, AbsorptionAndScatteringProperties& currentAbsorptionAndScattering, glm::vec3& unabsorbedColor, material m, float randomFloatForScatteringDistance, float randomFloat2, float randomFloat3); __host__ __device__ glm::vec3 getRandomDirectionInSphere(float xi1, float xi2); +__host__ __device__ glm::vec3 calculateTransmission(glm::vec3 absorptionCoefficient, float distance); +__host__ __device__ glm::vec3 calculateTransmissionDirection(glm::vec3 normal, glm::vec3 incident, float incidentIOR, float transmittedIOR); +__host__ __device__ glm::vec3 calculateReflectionDirection(glm::vec3 normal, glm::vec3 incident); +__host__ __device__ Fresnel calculateFresnel(glm::vec3 normal, glm::vec3 incident, float incidentIOR, float transmittedIOR, glm::vec3 reflectionDirection, glm::vec3 transmissionDirection); __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere(glm::vec3 normal, float xi1, float xi2); +//TODO (OPTIONAL): IMPLEMENT THIS FUNCTION +__host__ __device__ glm::vec3 calculateTransmission(glm::vec3 absorptionCoefficient, float distance) { + return glm::vec3(0,0,0); +} + +//TODO (OPTIONAL): IMPLEMENT THIS FUNCTION +__host__ __device__ bool calculateScatterAndAbsorption(ray& r, float& depth, AbsorptionAndScatteringProperties& currentAbsorptionAndScattering, + glm::vec3& unabsorbedColor, material m, float randomFloatForScatteringDistance, float randomFloat2, float randomFloat3){ + return false; +} + +//TODO (OPTIONAL): IMPLEMENT THIS FUNCTION +__host__ __device__ glm::vec3 calculateTransmissionDirection(glm::vec3 normal, glm::vec3 incident, float incidentIOR, float transmittedIOR) { + return glm::vec3(0,0,0); +} + +//TODO (OPTIONAL): IMPLEMENT THIS FUNCTION +__host__ __device__ glm::vec3 calculateReflectionDirection(glm::vec3 normal, glm::vec3 incident) { + //nothing fancy here + return glm::vec3(0,0,0); +} + +//TODO (OPTIONAL): IMPLEMENT THIS FUNCTION +__host__ __device__ Fresnel calculateFresnel(glm::vec3 normal, glm::vec3 incident, float incidentIOR, float transmittedIOR, glm::vec3 reflectionDirection, glm::vec3 transmissionDirection) { + Fresnel fresnel; + + fresnel.reflectionCoefficient = 1; + fresnel.transmissionCoefficient = 0; + return fresnel; +} + //LOOK: This function demonstrates cosine weighted random direction generation in a sphere! __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere(glm::vec3 normal, float xi1, float xi2) { @@ -47,4 +93,13 @@ __host__ __device__ glm::vec3 getRandomDirectionInSphere(float xi1, float xi2) { return glm::vec3(0,0,0); } +//TODO (PARTIALLY OPTIONAL): IMPLEMENT THIS FUNCTION +//returns 0 if diffuse scatter, 1 if reflected, 2 if transmitted. +__host__ __device__ int calculateBSDF(ray& r, glm::vec3 intersect, glm::vec3 normal, glm::vec3 emittedColor, + AbsorptionAndScatteringProperties& currentAbsorptionAndScattering, + glm::vec3& color, glm::vec3& unabsorbedColor, material m){ + + return 1; +}; + #endif diff --git a/src/intersections.h b/src/intersections.h index a6b9469..c5b3e43 100755 --- a/src/intersections.h +++ b/src/intersections.h @@ -17,9 +17,8 @@ __host__ __device__ glm::vec3 getPointOnRay(ray r, float t); __host__ __device__ glm::vec3 multiplyMV(cudaMat4 m, glm::vec4 v); __host__ __device__ glm::vec3 getSignOfRay(ray r); __host__ __device__ glm::vec3 getInverseDirectionOfRay(ray r); -__host__ __device__ float boxIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal); -__host__ __device__ float boxIntersectionTest(glm::vec3 boxMin, glm::vec3 boxMax, staticGeom box, ray r, glm::vec3& intersectionPoint, glm::vec3& normal); -__host__ __device__ float sphereIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal); +__host__ __device__ float boxIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal, bool& inside); +__host__ __device__ float sphereIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal, bool& inside); __host__ __device__ glm::vec3 getRandomPointOnCube(staticGeom cube, float randomSeed); //Handy dandy little hashing function that provides seeds for random number generation @@ -35,7 +34,7 @@ __host__ __device__ unsigned int hash(unsigned int a){ //Quick and dirty epsilon check __host__ __device__ bool epsilonCheck(float a, float b){ - if(fabs(fabs(a)-fabs(b)) tymax) || (tymin > tmax) ){ - return -1; - } - if (tymin > tmin){ - tmin = tymin; - } - if (tymax < tmax){ - tmax = tymax; - } - - if((int)rsign.z==0){ - tzmin = (boxMin.z - r.origin.z) * rInverseDirection.z; - tzmax = (boxMax.z - r.origin.z) * rInverseDirection.z; - }else{ - tzmin = (boxMax.z - r.origin.z) * rInverseDirection.z; - tzmax = (boxMin.z - r.origin.z) * rInverseDirection.z; - } - - if ( (tmin > tzmax) || (tzmin > tmax) ){ - return -1; - } - if (tzmin > tmin){ - tmin = tzmin; - } - if (tzmax < tmax){ - tmax = tzmax; - } - if(tmin<0){ - return -1; - } - - glm::vec3 osintersect = r.origin + tmin*r.direction; - - if(abs(osintersect.x-abs(boxMax.x))<.001){ - currentNormal = glm::vec3(1,0,0); - }else if(abs(osintersect.y-abs(boxMax.y))<.001){ - currentNormal = glm::vec3(0,1,0); - }else if(abs(osintersect.z-abs(boxMax.z))<.001){ - currentNormal = glm::vec3(0,0,1); - }else if(abs(osintersect.x+abs(boxMin.x))<.001){ - currentNormal = glm::vec3(-1,0,0); - }else if(abs(osintersect.y+abs(boxMin.y))<.001){ - currentNormal = glm::vec3(0,-1,0); - }else if(abs(osintersect.z+abs(boxMin.z))<.001){ - currentNormal = glm::vec3(0,0,-1); - } - - intersectionPoint = multiplyMV(box.transform, glm::vec4(osintersect, 1.0)); - - - - normal = multiplyMV(box.transform, glm::vec4(currentNormal,0.0)); - return glm::length(intersectionPoint-ro.origin); +__host__ __device__ float boxIntersectionTest(staticGeom box, ray r, glm::vec3& intersectionPoint, glm::vec3& normal, bool& inside){ + float near = -1e26; + float far = 1e26; + + glm::vec3 ro = multiplyMV(box.inverseTransform, glm::vec4(r.origin,1.0f)); + glm::vec3 rd = glm::normalize(multiplyMV(box.inverseTransform, glm::vec4(r.direction,0.0f))); + + ray rt; rt.origin = ro; rt.direction = rd; + + if (rt.direction.x == 0){ + if (rt.origin.x < -.5 || rt.origin.x > .5){ + return -1; + } + }else{ + float T1 = (-.5-rt.origin.x)/rt.direction.x; + float T2 = (.5 - rt.origin.x)/rt.direction.x; + if (T1 > T2){ + float temp = T2; + T2 = T1; + T1 = temp; + } + if (T1 > near) {near = T1;} + if (T2 < far) far = T2; + if (near > far) {return -1;} + if (far < 0) {return -1;} + } + + if (rt.direction.y == 0){ + if (rt.origin.y < -.5 || rt.origin.y > .5){ + return -1; + } + }else{ + float T1 = (-.5-rt.origin.y)/rt.direction.y; + float T2 = (.5 - rt.origin.y)/rt.direction.y; + if (T1 > T2){ + float temp = T2; + T2 = T1; + T1 = temp; + } + if (T1 > near) near = T1; + if (T2 < far) far = T2; + if (near > far) {return -1;} + if (far < 0) {return -1;} + } + + if (rt.direction.z == 0){ + if (rt.origin.z < -.5 || rt.origin.z > .5) + {return -1;} + }else{ + float T1 = (-.5-rt.origin.z)/rt.direction.z; + float T2 = (.5-rt.origin.z)/rt.direction.z; + if (T1 > T2){ + float temp = T2; + T2 = T1; + T1 = temp; + } + if (T1 > near) near = T1; + if (T2 < far) far = T2; + if (near > far) {return -1;} + if (far < 0) {return -1;} + } + + glm::vec3 realIntersectionPoint; + glm::vec4 localPointOnRay; + + if (near < 0){ + localPointOnRay = glm::vec4(rt.origin+far*rt.direction, 1.0); + realIntersectionPoint = multiplyMV(box.transform, localPointOnRay); + inside = 1; + }else{ + localPointOnRay = glm::vec4(rt.origin+near*rt.direction, 1.0); + realIntersectionPoint = multiplyMV(box.transform, localPointOnRay); + inside = 0; + } + + glm::vec3 localNormal; + + if (abs(localPointOnRay[0]-.5) < 0.001){ + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(1,0,0,0))); + }else if (abs(localPointOnRay[0] - (-.5)) < 0.001) + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(-1,0,0,0))); + else if (abs(localPointOnRay[1]-.5) < 0.001) + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(0,1,0,0))); + else if (abs(localPointOnRay[1] - (-.5)) < 0.001) + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(0,-1,0,0))); + else if (abs(localPointOnRay[2] - .5) < 0.001) + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(0,0,1,0))); + else if (abs(localPointOnRay[2] - (-.5)) < 0.0001) + localNormal = glm::normalize(multiplyMV(box.transform, glm::vec4(0,0,-1,0))); + else + localNormal = glm::normalize(glm::vec3(.5,.5,.5)); + + //return far; + + normal = localNormal; + + intersectionPoint = realIntersectionPoint; + + return glm::length(r.origin - realIntersectionPoint); } //LOOK: Here's an intersection test example from a sphere. Now you just need to figure out cube and, optionally, triangle. //Sphere intersection test, return -1 if no intersection, otherwise, distance to intersection -__host__ __device__ float sphereIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal){ +__host__ __device__ float sphereIntersectionTest(staticGeom sphere, ray r, glm::vec3& intersectionPoint, glm::vec3& normal, bool& inside){ float radius = .5; @@ -190,8 +198,10 @@ __host__ __device__ float sphereIntersectionTest(staticGeom sphere, ray r, glm:: return -1; } else if (t1 > 0 && t2 > 0) { t = min(t1, t2); + inside = 0; } else { t = max(t1, t2); + inside = 1; } glm::vec3 realIntersectionPoint = multiplyMV(sphere.transform, glm::vec4(getPointOnRay(rt, t), 1.0)); @@ -261,20 +271,26 @@ __host__ __device__ glm::vec3 getRandomPointOnCube(staticGeom cube, float random } +//TODO: IMPLEMENT THIS FUNCTION //Generates a random point on a given sphere __host__ __device__ glm::vec3 getRandomPointOnSphere(staticGeom sphere, float randomSeed){ - float radius=.5f; - thrust::default_random_engine rng(hash(randomSeed)); - thrust::uniform_real_distribution u01(-1,1); - thrust::uniform_real_distribution u02(0,TWO_PI); - - float theta = (float)u02(rng); - float cosphi = (float)u01(rng); - float sinphi = sqrt(1 - cosphi*cosphi); - glm::vec3 point = radius*glm::vec3(sinphi*cos(theta),sinphi*sin(theta),cosphi); - glm::vec3 randPoint = multiplyMV(sphere.transform, glm::vec4(point,1.0f)); - - return randPoint; + thrust::default_random_engine rng(hash(randomSeed)); + thrust::uniform_real_distribution u01(-1,1); + thrust::uniform_real_distribution u02(0,1); + + float u = (float) u01(rng); + float theta = (float) u02(rng)*2*3.14159265359; + + //mathworld.wolfram.com/SpherePointPicking.html + + float x = sqrt(1-pow(u,2))*cos(theta); + float y = sqrt(1-pow(u,2))*sin(theta); + float z = u; + + glm::vec3 randPoint = glm::vec3(x, y, z); + + + return multiplyMV(sphere.transform, glm::vec4(randPoint,1.0f)); } #endif diff --git a/src/main.cpp b/src/main.cpp index 81836b1..ad1466c 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,6 +4,7 @@ // Rob Farber for CUDA-GL interop, from CUDA Supercomputing For The Masses: http://www.drdobbs.com/architecture-and-design/cuda-supercomputing-for-the-masses-part/222600097 // Varun Sampath and Patrick Cozzi for GLSL Loading, from CIS565 Spring 2012 HW5 at the University of Pennsylvania: http://cis565-spring-2012.github.com/ // Yining Karl Li's TAKUA Render, a massively parallel pathtracing renderer: http://www.yiningkarlli.com +//test #include "main.h" @@ -24,6 +25,7 @@ int main(int argc, char** argv){ // Set up pathtracer stuff bool loadedScene = false; finishedRender = false; + cameraMoved = false; targetFrame = 0; singleFrameMode = false; @@ -90,6 +92,7 @@ int main(int argc, char** argv){ #else glutDisplayFunc(display); glutKeyboardFunc(keyboard); + glutMouseFunc(mouse); glutMainLoop(); #endif @@ -121,10 +124,20 @@ void runCuda(){ materials[i] = renderScene->materials[i]; } - + std::clock_t start = clock(); + // execute the kernel - cudaRaytraceCore(dptr, renderCam, targetFrame, iterations, materials, renderScene->materials.size(), geoms, renderScene->objects.size() ); + cudaRaytraceCore(dptr, renderCam, targetFrame, iterations, materials, renderScene->materials.size(), geoms, + renderScene->objects.size(), renderScene->numCubes, renderScene->numSpheres, cameraMoved ); + std::clock_t finish = clock(); + double elapsed_time = double(start-finish) / CLOCKS_PER_SEC; + //cout<resolution.x; x++){ for(int y=0; yresolution.y; y++){ int index = x + (y * renderCam->resolution.x); - outputImage.writePixelRGB(renderCam->resolution.x-1-x,y,renderCam->image[index]); + outputImage.writePixelRGB(renderCam->resolution.x-1-x,y,renderCam->image[index]/(float)iterations); } } gammaSettings gamma; - gamma.applyGamma = true; - gamma.gamma = 1.0; - gamma.divisor = 1.0; //renderCam->iterations; + gamma.applyGamma = false; + gamma.gamma = 1.0/2.2; + gamma.divisor = renderCam->iterations; outputImage.setGammaSettings(gamma); string filename = renderCam->imageName; string s; @@ -168,7 +181,7 @@ void runCuda(){ for(int i=0; iresolution.x*renderCam->resolution.y; i++){ renderCam->image[i] = glm::vec3(0,0,0); } - cudaDeviceReset(); + //cudaDeviceReset(); finishedRender = false; } } @@ -201,7 +214,7 @@ void runCuda(){ void display(){ runCuda(); - string title = "565Raytracer | " + utilityCore::convertIntToString(iterations) + " Iterations"; + string title = "565Pathtracer | " + utilityCore::convertIntToString(iterations) + " Iterations"; glutSetWindowTitle(title.c_str()); glBindBuffer( GL_PIXEL_UNPACK_BUFFER, pbo); @@ -220,13 +233,59 @@ void runCuda(){ void keyboard(unsigned char key, int x, int y) { - std::cout << key << std::endl; switch (key) { case(27): exit(1); break; + case(97): //a + renderCam->positions[targetFrame].x += .1; + cameraMoved = true; + iterations = 1; + break; + case(115): //s + renderCam->positions[targetFrame].y -= .1; + cameraMoved = true; + iterations = 1; + break; + case(100): //d + renderCam->positions[targetFrame].x -= .1; + cameraMoved = true; + iterations = 1; + break; + case(119): //w + renderCam->positions[targetFrame].y += .1; + cameraMoved = true; + iterations = 1; + break; + case(105): //i + renderCam->positions[targetFrame].z -= .1; + cameraMoved = true; + iterations = 1; + break; + case(111): //o + renderCam->positions[targetFrame].z += .1; + cameraMoved = true; + iterations = 1; + break; + case 'C': + case 'c': + cout<positions[targetFrame].x<<" "<positions[targetFrame].y<<" "<positions[targetFrame].z<focalLengths[targetFrame] += .1; + cameraMoved = true; + iterations = 1; + }else if (button == GLUT_RIGHT_BUTTON){ + renderCam->focalLengths[targetFrame] -= .1; + cameraMoved = true; + iterations = 1; } + return; } #endif diff --git a/src/main.h b/src/main.h index 0bab7cb..99e44e4 100755 --- a/src/main.h +++ b/src/main.h @@ -12,7 +12,7 @@ #include #else #include - #include +#include #endif #include @@ -29,6 +29,7 @@ #include "raytraceKernel.h" #include "utilities.h" #include "scene.h" +#include #if CUDA_VERSION >= 5000 #include @@ -52,6 +53,7 @@ int targetFrame; int iterations; bool finishedRender; bool singleFrameMode; +bool cameraMoved; //------------------------------- //------------GL STUFF----------- @@ -86,6 +88,7 @@ void runCuda(); #else void display(); void keyboard(unsigned char key, int x, int y); + void mouse(int button, int dir, int x, int y); #endif //------------------------------- diff --git a/src/raytraceKernel.cu b/src/raytraceKernel.cu index 87a65a6..8a46f41 100755 --- a/src/raytraceKernel.cu +++ b/src/raytraceKernel.cu @@ -9,12 +9,20 @@ #include #include #include "sceneStructs.h" +#include "glm/glm.hpp" #include "utilities.h" #include "raytraceKernel.h" #include "intersections.h" #include "interactions.h" #include -#include "glm/glm.hpp" + +using namespace glm; + +#if CUDA_VERSION >= 5000 + #include +#else + #include +#endif void checkCUDAError(const char *msg) { cudaError_t err = cudaGetLastError(); @@ -35,42 +43,31 @@ __host__ __device__ glm::vec3 generateRandomNumberFromThread(glm::vec2 resolutio return glm::vec3((float) u01(rng), (float) u01(rng), (float) u01(rng)); } -//Kernel that does the initial raycast from the camera. +//TODO: IMPLEMENT THIS FUNCTION +//Function that does the initial raycast from the camera __host__ __device__ ray raycastFromCameraKernel(glm::vec2 resolution, float time, int x, int y, glm::vec3 eye, glm::vec3 view, glm::vec3 up, glm::vec2 fov){ - - int index = x + (y * resolution.x); - - thrust::default_random_engine rng(hash(index*time)); - thrust::uniform_real_distribution u01(0,1); - - //standard camera raycast stuff - glm::vec3 E = eye; - glm::vec3 C = view; - glm::vec3 U = up; - float fovx = fov.x; - float fovy = fov.y; - - float CD = glm::length(C); - - glm::vec3 A = glm::cross(C, U); - glm::vec3 B = glm::cross(A, C); - glm::vec3 M = E+C; - glm::vec3 H = (A*float(CD*tan(fovx*(PI/180))))/float(glm::length(A)); - glm::vec3 V = (B*float(CD*tan(-fovy*(PI/180))))/float(glm::length(B)); - - float sx = (x)/(resolution.x-1); - float sy = (y)/(resolution.y-1); - - glm::vec3 P = M + (((2*sx)-1)*H) + (((2*sy)-1)*V); - glm::vec3 PmE = P-E; - glm::vec3 R = E + (float(200)*(PmE))/float(glm::length(PmE)); - - glm::vec3 direction = glm::normalize(R); - //major performance cliff at this point, TODO: find out why! - ray r; - r.origin = eye; - r.direction = direction; - return r; + //vec3 jitter = 2.0f*generateRandomNumberFromThread(resolution, time, x, y); + vec3 jitter = vec3(0,0,0); //no antialiasing + + float NDCx = ((float)x +jitter.x)/resolution.x; + float NDCy = ((float)y +jitter.y )/resolution.y; + + //float NDCx = ((float)x )/resolution.x; + //float NDCy = ((float)y )/resolution.y; + + vec3 A = cross(view, up); + vec3 B = cross(A, view); + + vec3 M = eye+view; + vec3 V = B * (1.0f/length(B)) * length(view)*tan(radians(fov.y)); + vec3 H = A * (1.0f/length(A)) * length(view)*tan(radians(fov.x)); + + vec3 point = M + (2*NDCx -1)*H + (1-2*NDCy)*V; + + ray r; + r.origin = eye; + r.direction = normalize(point-eye); + return r; } //Kernel that blacks out a given image buffer @@ -83,8 +80,8 @@ __global__ void clearImage(glm::vec2 resolution, glm::vec3* image){ } } -//Kernel that writes the image to the OpenGL PBO directly. -__global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3* image){ +//Kernel that writes the image to the OpenGL PBO directly. +__global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3* image, float iterations){ int x = (blockIdx.x * blockDim.x) + threadIdx.x; int y = (blockIdx.y * blockDim.y) + threadIdx.y; @@ -92,10 +89,10 @@ __global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3* if(x<=resolution.x && y<=resolution.y){ - glm::vec3 color; - color.x = image[index].x*255.0; - color.y = image[index].y*255.0; - color.z = image[index].z*255.0; + glm::vec3 color; + color.x = image[index].x/iterations*255.0; + color.y = image[index].y/iterations*255.0; + color.z = image[index].z/iterations*255.0; if(color.x>255){ color.x = 255; @@ -111,7 +108,7 @@ __global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3* // Each thread writes one pixel location in the texture (textel) PBOpos[index].w = 0; - PBOpos[index].x = color.x; + PBOpos[index].x = color.x; PBOpos[index].y = color.y; PBOpos[index].z = color.z; } @@ -119,56 +116,249 @@ __global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3* //TODO: IMPLEMENT THIS FUNCTION //Core raytracer kernel -__global__ void raytraceRay(glm::vec2 resolution, float time, float bounce, cameraData cam, int rayDepth, glm::vec3* colors, - staticGeom* geoms, int numberOfGeoms, material* materials, int numberOfMaterials){ +__global__ void raytraceRay(ray* cudarays, glm::vec2 resolution, float time, cameraData cam, int rayDepth, glm::vec3* colors, + staticGeom* geoms, int numberOfGeoms, int numberOfCubes, int numberOfSpheres, material* cudamaterials, + int numberOfMaterials, int numBounce, int* cudaalive, int initialMaxRays){ - int x = (blockIdx.x * blockDim.x) + threadIdx.x; - int y = (blockIdx.y * blockDim.y) + threadIdx.y; - int index = x + (y * resolution.x); + int index = blockIdx.x * blockDim.x + threadIdx.x; + int y = cudarays[index].pixelID/resolution.y; + int x = cudarays[index].pixelID-resolution.x*y; - ray r = raycastFromCameraKernel(resolution, time, x, y, cam.position, cam.view, cam.up, cam.fov); - - if((x<=resolution.x && y<=resolution.y)){ - - float MAX_DEPTH = 100000000000000000; - float depth = MAX_DEPTH; - - for(int i=0; i-EPSILON){ - MAX_DEPTH = depth; - colors[index] = materials[geoms[i].materialid].color; - } - } + if (index < initialMaxRays){ + + float tempLength, closest = 1e26, indexOfRefraction = 0; + int closestObjectid = -1; + vec3 tempIntersectionPoint = vec3(0,0,0), tempNormal = vec3(0,0,0), normal = vec3(0,0,0), intersectionPoint = vec3(0,0,0); + vec3 objectColor = vec3(0,0,0), specColor = vec3(0,0,0); + float specExponent = 0, + bool isReflective = 0, isRefractive = 0; + bool inside = false, tempInside = false; + + //input text file must load cubes first before loading spheres + + for (int i = 0; i < numberOfCubes; i++){ + if(geoms[i].type == CUBE){ + tempLength = boxIntersectionTest( geoms[i], cudarays[index], tempIntersectionPoint, tempNormal, tempInside); + } + + if (tempLength < closest && tempLength >= 0){ + closest = tempLength; + normal = tempNormal; + intersectionPoint = tempIntersectionPoint; + closestObjectid = i; + inside = tempInside; + } + } + + for(int i = numberOfCubes; i < numberOfGeoms; i++){ + if(geoms[i].type == SPHERE){ + tempLength = sphereIntersectionTest( geoms[i], cudarays[index], tempIntersectionPoint, tempNormal, tempInside); + } + + if (tempLength < closest && tempLength >= 0){ + closest = tempLength; + normal = tempNormal; + intersectionPoint = tempIntersectionPoint; + closestObjectid = i; + inside = tempInside; + } + } + + if (closest < 1e26 && closest >= 0){ + + objectColor = cudamaterials[geoms[closestObjectid].materialid].color; + specExponent = cudamaterials[geoms[closestObjectid].materialid].specularExponent; + specColor = cudamaterials[geoms[closestObjectid].materialid].specularColor; + isReflective = cudamaterials[geoms[closestObjectid].materialid].hasReflective; + isRefractive = cudamaterials[geoms[closestObjectid].materialid].hasRefractive; + indexOfRefraction = cudamaterials[geoms[closestObjectid].materialid].indexOfRefraction; + + vec3 reflectedDir = cudarays[index].direction - vec3(2*vec4(normal*(dot(cudarays[index].direction,normal)),0)); + reflectedDir = normalize(reflectedDir); + vec3 refractedDir = vec3(0,0,0); + + + if (cudamaterials[geoms[closestObjectid].materialid].emittance > 0){ + cudarays[index].color *= cudamaterials[geoms[closestObjectid].materialid].color*cudamaterials[geoms[closestObjectid].materialid].emittance; + cudarays[index].alive = false; + colors[cudarays[index].pixelID] += cudarays[index].color; + cudaalive[index] = 0; //dead + return; + } + + float n1 = 0, n2 = 0; + float costheta_i = 0; float costheta_t = 0; + float sin2theta_t = 0; + float R = 0; + bool TIR = false; + float schlicksR = 0; + float random = 0; + + if (isRefractive){ + + //graphics.stanford.edu/courses/cs148-10-summer/docs/2006--degreve--reflection_refraction.pdf + + if (inside){ + n1 = indexOfRefraction; + n2 = 1.0f; + normal = -normal; + }else{ + n1 = 1.0f; + n2 = indexOfRefraction; + } + + costheta_i = glm::dot(-1.0f*cudarays[index].direction, normal); + sin2theta_t = pow(n1/n2,2)*(1-pow(costheta_i,2)); + R = pow((n1-n2)/(n1+n2),2); + if (sin2theta_t > 1){ + TIR = true; + }else{ + costheta_t = sqrt(1-sin2theta_t); + refractedDir = (n1/n2)*cudarays[index].direction + ((n1/n2)*costheta_i - sqrt(1-sin2theta_t))*normal; + } + + if (n1 <= n2){ + schlicksR = R + (1-R)*(1-costheta_i)*(1-costheta_i)*(1-costheta_i)*(1-costheta_i)*(1-costheta_i); + }else if (n1 > n2 && !TIR){ + schlicksR = R + (1-R)*(1-costheta_t)*(1-costheta_t)*(1-costheta_t)*(1-costheta_t)*(1-costheta_t); + }else{ + schlicksR = 1; + } + + thrust::default_random_engine rng(hash((cudarays[index].pixelID)*time)); + thrust::uniform_real_distribution u01(0,1); + + random = (float) u01(rng); + + cudarays[index].origin = intersectionPoint+0.01f*refractedDir; + cudarays[index].direction = refractedDir; + + if (random <= schlicksR){ + cudarays[index].origin = intersectionPoint+0.0001f*reflectedDir; + cudarays[index].direction = reflectedDir; + } + + }else if (isReflective){ + cudarays[index].origin = intersectionPoint+0.01f*reflectedDir; + cudarays[index].direction = reflectedDir; + }else{ //just diffuse + //vec3 rand = generateRandomNumberFromThread(resolution, time*(numBounce+1), x, y); + thrust::default_random_engine rng1(hash(time*(numBounce + 1)* index)); + thrust::uniform_real_distribution u02(0,time); + thrust::default_random_engine rng(hash((float)u02(rng1)*(numBounce + 1)* index)); + thrust::uniform_real_distribution u01(0,1); + + if((float)u01(rng) < 0.1) // russian roulette rule: ray is absorbed + { + cudarays[index].color *= cudamaterials[geoms[closestObjectid].materialid].color*cudamaterials[geoms[closestObjectid].materialid].emittance; + cudarays[index].alive = false; + colors[cudarays[index].pixelID] += cudarays[index].color; + cudaalive[index] = 0; //dead + return; + } + else + { + vec3 outgoingDir = calculateRandomDirectionInHemisphere(normal, (float)u01(rng), (float)u01(rng)); + cudarays[index].origin = intersectionPoint+0.01f*outgoingDir; + cudarays[index].direction = outgoingDir; + } + + /*vec3 outgoingDir = calculateRandomDirectionInHemisphere(normal, (float)u01(rng), (float)u01(rng)); + cudarays[index].origin = intersectionPoint+0.001f*outgoingDir; + cudarays[index].direction = outgoingDir;*/ + } + + cudarays[index].color *= objectColor; + }//if intersects with anything + else{ + cudarays[index].color *= vec3(0,0,0); + cudarays[index].alive = false; + colors[cudarays[index].pixelID] += cudarays[index].color; + cudaalive[index] = 0; //dead + //numAliveRays[0]--; + return; + } + }//end of ifstatement +} + +//INITIALIZES A POOL OF RAYS +__global__ void initializeRays(glm::vec2 resolution, float time, cameraData cam, ray* cudarays){ + int x = (blockIdx.x * blockDim.x) + threadIdx.x; + int y = (blockIdx.y * blockDim.y) + threadIdx.y; + int index = x + (y * resolution.x); + + if((x<=resolution.x && y<=resolution.y)){ + + ray rayFromCamera = raycastFromCameraKernel(resolution, time, x, y, cam.position, cam.view, cam.up, cam.fov); + + //find aim point + vec3 aimPoint = rayFromCamera.origin + cam.focalLength*rayFromCamera.direction; + + //jittered ray (DOF) + float degOfJitter = 1; + vec3 jitter = generateRandomNumberFromThread(resolution, time, x, y); + ray jitteredRay; + jitteredRay.origin = vec3(rayFromCamera.origin.x+degOfJitter*jitter.x, rayFromCamera.origin.y+degOfJitter*jitter.y, rayFromCamera.origin.z); + jitteredRay.direction = normalize(aimPoint-jitteredRay.origin); + + ray currentRay = rayFromCamera; //jitteredRay; + currentRay.pixelID = index; + currentRay.color = vec3(1,1,1); + currentRay.alive = true; + cudarays[index] = currentRay; //stores ray + + } +} + +__global__ void scan(int* cudacondition, int* cudatemp, int d){ + + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index == 0) + cudatemp[0] = cudacondition[0]; + + int e = pow(2.0f,d-1); //speed up this later + if (index >= e){ + cudatemp[index] = cudacondition[index-e] + cudacondition[index]; + }else{ + cudatemp[index] = cudacondition[index]; + } - //colors[index] = generateRandomNumberFromThread(resolution, time, x, y); - } } +__global__ void streamCompact( int* cudaalive, ray* cudarays, ray* cudaraysTemp, int numRays){ + + int index = blockIdx.x * blockDim.x + threadIdx.x; + if (index < numRays){ + if(cudarays[index].alive){ //compare to see if ray is alive or dead + cudaraysTemp[cudaalive[index]-1] = cudarays[index]; + } + } +} + +__global__ void resetAliveConditionArray( int* cudaalive){ + int index = blockIdx.x * blockDim.x + threadIdx.x; + cudaalive[index] = 1; +} //TODO: FINISH THIS FUNCTION // Wrapper for the __global__ call that sets up the kernel calls and does a ton of memory management -void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iterations, material* materials, int numberOfMaterials, geom* geoms, int numberOfGeoms){ +void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iterations, material* materials, int numberOfMaterials, geom* geoms, int numberOfGeoms, int numberOfCubes, int numberOfSpheres, bool cameraMoved){ - int traceDepth = 1; //determines how many bounces the raytracer traces + int traceDepth = 200; //determines how many bounces the pathtracer traces + std::vector lightsid; // set up crucial magic int tileSize = 8; - dim3 threadsPerBlock(tileSize, tileSize); - dim3 fullBlocksPerGrid((int)ceil(float(renderCam->resolution.x)/float(tileSize)), (int)ceil(float(renderCam->resolution.y)/float(tileSize))); - + dim3 threadsPerBlock2d(tileSize, tileSize); + dim3 fullBlocksPerGrid2d((int)ceil(float(renderCam->resolution.x)/float(tileSize)), (int)ceil(float(renderCam->resolution.y)/float(tileSize))); + dim3 threadsPerBlock1d(tileSize*tileSize); + float s = renderCam->resolution.x*renderCam->resolution.y; + dim3 fullBlocksPerGrid1d((int)ceil((float(renderCam->resolution.x)/float(tileSize))*(float(renderCam->resolution.y)/float(tileSize)))); + + + //send image to GPU glm::vec3* cudaimage = NULL; cudaMalloc((void**)&cudaimage, (int)renderCam->resolution.x*(int)renderCam->resolution.y*sizeof(glm::vec3)); @@ -187,15 +377,19 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio newStaticGeom.inverseTransform = geoms[i].inverseTransforms[frame]; geomList[i] = newStaticGeom; } - + staticGeom* cudageoms = NULL; cudaMalloc((void**)&cudageoms, numberOfGeoms*sizeof(staticGeom)); cudaMemcpy( cudageoms, geomList, numberOfGeoms*sizeof(staticGeom), cudaMemcpyHostToDevice); - + material* cudamaterials = NULL; cudaMalloc((void**)&cudamaterials, numberOfMaterials*sizeof(material)); cudaMemcpy( cudamaterials, materials, numberOfMaterials*sizeof(material), cudaMemcpyHostToDevice); + int numberOfPixels = renderCam->resolution.x*renderCam->resolution.y; + ray* cudarays = NULL; + cudaMalloc((void**)&cudarays, numberOfPixels*sizeof(ray)); + //package camera cameraData cam; cam.resolution = renderCam->resolution; @@ -203,13 +397,66 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio cam.view = renderCam->views[frame]; cam.up = renderCam->ups[frame]; cam.fov = renderCam->fov; + cam.focalLength = renderCam->focalLengths[frame]; + + //clear image + if (cameraMoved) + clearImage<<>>(renderCam->resolution,cudaimage); + + if (numberOfGeoms != numberOfCubes+numberOfSpheres){ + std::cout<<"ERROR numberOfGeoms != numberOfCubes+numberOfSpheres"<>>(renderCam->resolution, (float)iterations, cam, cudarays); + + //intialize the alive array + int* cudaalive = NULL; + cudaMalloc((void**)&cudaalive, numberOfPixels*sizeof(int)); + resetAliveConditionArray<<>>( cudaalive); + + int* cudatemp = NULL; + cudaMalloc((void**)&cudatemp, numberOfPixels*sizeof(int)); + + + ray* cudaraysTemp = NULL; + cudaMalloc((void**)&cudaraysTemp, numberOfPixels*sizeof(ray)); + + int numRays = renderCam->resolution.x*renderCam->resolution.y; //kernel launches - for(int bounce = 1; bounce <= 1; ++bounce) - { - raytraceRay<<>>(renderCam->resolution, (float)iterations, (float)bounce, cam, traceDepth, cudaimage, cudageoms, numberOfGeoms, cudamaterials, numberOfMaterials); + for (int i = 0; i < traceDepth && numRays > 0; i++){ + + raytraceRay<<>>(cudarays, renderCam->resolution, (float)iterations, cam, traceDepth, + cudaimage, cudageoms, numberOfGeoms, numberOfCubes, numberOfSpheres, cudamaterials, numberOfMaterials, i, cudaalive, numRays); + + int log2n = (int)ceil(log(float(numRays)) / log(2.0f)); + for (int d = 1; d <= log2n; d++){ + scan<<>>( cudaalive, cudatemp, d); //scan + int* temp = cudaalive; + cudaalive = cudatemp; + cudatemp = temp; + } + + int numAliveRaysCPU = 0; + + //cudaalive now has the summed corresponding new indices for the alive rays + cudaMemcpy(&numAliveRaysCPU, &cudaalive[numRays-1], sizeof(int), cudaMemcpyDeviceToHost); + + streamCompact<<>>( cudaalive, cudarays, cudaraysTemp, numRays); + + ray* tempR = cudarays; + cudarays = cudaraysTemp; + cudaraysTemp = tempR; + + resetAliveConditionArray<<>>( cudaalive); + + numRays = numAliveRaysCPU; + fullBlocksPerGrid1d = dim3((int)ceil((float(numRays)/float(tileSize*tileSize)))); } - sendImageToPBO<<>>(PBOpos, renderCam->resolution, cudaimage); + + sendImageToPBO<<>>(PBOpos, renderCam->resolution, cudaimage, (float)iterations); //retrieve image from GPU cudaMemcpy( renderCam->image, cudaimage, (int)renderCam->resolution.x*(int)renderCam->resolution.y*sizeof(glm::vec3), cudaMemcpyDeviceToHost); @@ -217,11 +464,16 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio //free up stuff, or else we'll leak memory like a madman cudaFree( cudaimage ); cudaFree( cudageoms ); - cudaFree( cudamaterials ); - delete [] geomList; + cudaFree( cudarays ); + cudaFree(cudaalive); + cudaFree(cudatemp); + cudaFree(cudaraysTemp); + delete geomList; + - // make certain the kernel has completed - cudaThreadSynchronize(); + // make certain the kernel has completed + cudaThreadSynchronize(); checkCUDAError("Kernel failed!"); -} + +} \ No newline at end of file diff --git a/src/raytraceKernel.h b/src/raytraceKernel.h index 5fcf5a3..4ffd049 100755 --- a/src/raytraceKernel.h +++ b/src/raytraceKernel.h @@ -20,6 +20,65 @@ #include #endif -void cudaRaytraceCore(uchar4* pos, camera* renderCam, int frame, int iterations, material* materials, int numberOfMaterials, geom* geoms, int numberOfGeoms); +void cudaRaytraceCore(uchar4* pos, camera* renderCam, int frame, int iterations, material* materials, int numberOfMaterials, + geom* geoms, int numberOfGeoms, int numberOfCubes, int numberOfSpheres, bool cameraMoved); #endif + + /*///////////////////////////////////////////////////////// SCAN TEST + + int numchars = 8; + + char* test = new char[numchars]; + test[0] = 'a'; + test[1] = 'b'; + test[2] = 'c'; + test[3] = 'd'; + test[4] = 'e'; + test[5] = 'f'; + test[6] = 'g'; + test[7] = 'h'; + + char* cudatest = NULL; + cudaMalloc((void**)&cudatest, numchars*sizeof(char)); + cudaMemcpy( cudatest, test, numchars*sizeof(char), cudaMemcpyHostToDevice); + + int* condition = new int[numchars]; + condition[0] = 1; + condition[1] = 0; + condition[2] = 1; + condition[3] = 1; + condition[4] = 0; + condition[5] = 0; + condition[6] = 1; + condition[7] = 0; + + int* cudacondition = NULL; + cudaMalloc((void**)&cudacondition, numchars*sizeof(int)); + cudaMemcpy( cudacondition, condition, numchars*sizeof(int), cudaMemcpyHostToDevice); + + int* cudatemp = NULL; + cudaMalloc((void**)&cudatemp, numchars*sizeof(int)); + + int log2n = (int)ceil(log(float(numchars)) / log(2.0f)); + for (int d = 1; d <= log2n; d++){ + streamCompact<<<2, 2>>>( cudatest, cudacondition, cudatemp, d); + cudaMemcpy(cudacondition, cudatemp, numchars*sizeof(int), cudaMemcpyDeviceToDevice); //memcpy + } + + int* indexes = new int[numchars]; + cudaMemcpy( indexes, cudacondition, numchars*sizeof(int), cudaMemcpyDeviceToHost); + for (int i = 0; i < numchars; i++){ + if(condition[i]){ + test[indexes[i]-1] = test[i]; + } + } + + for (int i = 0; i < 4; i ++){ + std::cout< scene::scene(string filename){ + numCubes = 0; + numSpheres = 0; cout << "Reading scene from " << filename << " ..." << endl; cout << " " << endl; char* fname = (char*)filename.c_str(); @@ -49,9 +51,11 @@ int scene::loadObject(string objectid){ if (!line.empty() && fp_in.good()){ if(strcmp(line.c_str(), "sphere")==0){ cout << "Creating new sphere..." << endl; + numSpheres++; newObject.type = SPHERE; }else if(strcmp(line.c_str(), "cube")==0){ cout << "Creating new cube..." << endl; + numCubes++; newObject.type = CUBE; }else{ string objline = line; @@ -162,6 +166,7 @@ int scene::loadCamera(){ vector positions; vector views; vector ups; + vector focalLengths; while (!line.empty() && fp_in.good()){ //check frame number @@ -172,7 +177,7 @@ int scene::loadCamera(){ } //load camera properties - for(int i=0; i<3; i++){ + for(int i=0; i<4; i++){ //glm::vec3 translation; glm::vec3 rotation; glm::vec3 scale; utilityCore::safeGetline(fp_in,line); tokens = utilityCore::tokenizeString(line); @@ -182,7 +187,9 @@ int scene::loadCamera(){ views.push_back(glm::vec3(atof(tokens[1].c_str()), atof(tokens[2].c_str()), atof(tokens[3].c_str()))); }else if(strcmp(tokens[0].c_str(), "UP")==0){ ups.push_back(glm::vec3(atof(tokens[1].c_str()), atof(tokens[2].c_str()), atof(tokens[3].c_str()))); - } + }else if(strcmp(tokens[0].c_str(), "FLENGTH")==0){ + focalLengths.push_back(atof(tokens[1].c_str())); + } } frameCount++; @@ -194,10 +201,12 @@ int scene::loadCamera(){ newCamera.positions = new glm::vec3[frameCount]; newCamera.views = new glm::vec3[frameCount]; newCamera.ups = new glm::vec3[frameCount]; + newCamera.focalLengths = new float[frameCount]; for(int i=0; i objects; vector materials; camera renderCam; + int numCubes; + int numSpheres; }; #endif diff --git a/src/sceneStructs.h b/src/sceneStructs.h index b10f1cf..2e0c646 100755 --- a/src/sceneStructs.h +++ b/src/sceneStructs.h @@ -16,6 +16,9 @@ enum GEOMTYPE{ SPHERE, CUBE, MESH }; struct ray { glm::vec3 origin; glm::vec3 direction; + glm::vec3 color; + int pixelID; + bool alive; }; struct geom { @@ -45,6 +48,7 @@ struct cameraData { glm::vec3 view; glm::vec3 up; glm::vec2 fov; + float focalLength; }; struct camera { @@ -52,6 +56,7 @@ struct camera { glm::vec3* positions; glm::vec3* views; glm::vec3* ups; + float* focalLengths; int frames; glm::vec2 fov; unsigned int iterations; diff --git a/src/utilities.h b/src/utilities.h index 84ec55f..e23ba1f 100755 --- a/src/utilities.h +++ b/src/utilities.h @@ -20,7 +20,7 @@ #define PI 3.1415926535897932384626422832795028841971 #define TWO_PI 6.2831853071795864769252867665590057683943 #define SQRT_OF_ONE_THIRD 0.5773502691896257645091487805019574556476 -#define NATURAL_E 2.7182818284590452353602874713526624977572 +#define E 2.7182818284590452353602874713526624977572 #define EPSILON .000000001 #define ZERO_ABSORPTION_EPSILON 0.00001 #define RAY_BIAS_AMOUNT 0.0002