diff --git a/PROJ1_WIN/565Raytracer.sdf b/PROJ1_WIN/565Raytracer.sdf
new file mode 100644
index 0000000..8151bad
Binary files /dev/null and b/PROJ1_WIN/565Raytracer.sdf differ
diff --git a/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.himanshu.nvuser b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.himanshu.nvuser
new file mode 100644
index 0000000..12350ef
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.himanshu.nvuser
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user
index d7ca222..a46c537 100755
--- a/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user
+++ b/PROJ1_WIN/565Raytracer/565Raytracer.vcxproj.user
@@ -4,4 +4,8 @@
scene="../../scenes/sampleScene.txt"
WindowsLocalDebugger
+
+ scene="../../scenes/sampleScene.txt"
+ WindowsLocalDebugger
+
\ No newline at end of file
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..e693382
--- /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..1c06b61
--- /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..4a7990e
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v100:false
+Debug|Win32|C:\Users\Himanshu\Documents\GitHub\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..a70a372
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.log
@@ -0,0 +1,10 @@
+Build started 9/30/2012 3:31:40 AM.
+ 1>Project "C:\Users\Himanshu\Documents\GitHub\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\Himanshu\Documents\GitHub\Project1-Raytracer\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...
diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.unsuccessfulbuild b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.unsuccessfulbuild
new file mode 100644
index 0000000..e69de29
diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.vcxprojResolveAssemblyReference.cache b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.vcxprojResolveAssemblyReference.cache
new file mode 100644
index 0000000..1a52c1a
Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.vcxprojResolveAssemblyReference.cache differ
diff --git a/PROJ1_WIN/565Raytracer/Debug/565Raytracer.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/565Raytracer.write.1.tlog
new file mode 100644
index 0000000..e69de29
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..f6b49e2
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..a6f3d4b
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..456f023
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..cef0d2b
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..d39b17e
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.10008-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.10008-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.10008-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.10008-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.10008-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.10008-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.10008.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.10008.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.10008.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.10008.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.10008.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.10008.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12444-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12444.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12444.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12444.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12444.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12444.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12444.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12584-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12584.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12584.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12584.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.12584.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.12584.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.12584.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.8992-cvtres.write.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.8992.read.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.8992.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.8992.read.1.tlog
@@ -0,0 +1 @@
+ÿþ
\ No newline at end of file
diff --git a/PROJ1_WIN/565Raytracer/Debug/link.8992.write.1.tlog b/PROJ1_WIN/565Raytracer/Debug/link.8992.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Debug/link.8992.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..d2e139f
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..cb9ed81
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..6fc22e6
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..2d2a683
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..26defe8
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..eafd740
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..eafd740
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..b3ee73c
--- /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\Himanshu\Documents\GitHub\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..e999b18
--- /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\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/_detail.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/type.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.hpp
+C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\setup.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\setup.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec1.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle_func.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec1.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_trigonometric.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_trigonometric.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_exponential.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_exponential.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_common.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_common.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_packing.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_packing.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_geometric.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_geometric.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_matrix.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_matrix.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_vector_relational.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_vector_relational.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_integer.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_integer.inl
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/func_noise.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_noise.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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:/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\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core/_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\utilities.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h
+c:\users\himanshu\documents\github\project1-raytracer\src\intersections.h
+c:\users\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+c:\users\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core/_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\utilities.h
+c:\users\himanshu\documents\github\project1-raytracer\src\interactions.h
+c:\users\himanshu\documents\github\project1-raytracer\src\intersections.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..cfdf7fc
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..5a6d559
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..63a7b60
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..730cb28
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..f18d001
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..b4b1db9
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..22dde66
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..a5cb5d6
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..5e1733b
Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Debug/vc100.pdb differ
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..1c06b61
--- /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..a3bcf54
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.lastbuildstate
@@ -0,0 +1,2 @@
+#v4.0:v100:false
+Release|Win32|C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\|
diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.log b/PROJ1_WIN/565Raytracer/Release/565Raytracer.log
new file mode 100644
index 0000000..b2211ca
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Release/565Raytracer.log
@@ -0,0 +1,48 @@
+Build started 9/30/2012 9:02:49 PM.
+ 1>Project "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" on node 2 (build target(s)).
+ 1>InitializeBuildStatus:
+ Creating "Release\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\Himanshu\Documents\GitHub\Project1-Raytracer\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\Himanshu\AppData\Local\Temp\tmpd168c6d4777f421f991e164fc40fa086.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" --keep-dir "Release" -maxrregcount=0 --machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj" "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\src\raytraceKernel.cu"
+
+ C:\Users\Himanshu\Documents\GitHub\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" --keep-dir "Release" -maxrregcount=0 --machine 32 --compile -Xcompiler "/EHsc /nologo /Od /Zi /MD " -o "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\565Raytracer\Win32/Release/raytraceKernel.cu.obj" "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\src\raytraceKernel.cu"
+ raytraceKernel.cu
+ tmpxft_00001cbc_00000000-0_raytraceKernel.cudafe1.gpu
+ tmpxft_00001cbc_00000000-5_raytraceKernel.cudafe2.gpu
+ raytraceKernel.cu
+ 1>c:\users\himanshu\documents\github\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/Himanshu/AppData/Local/Temp/tmpxft_00001cbc_00000000-1_raytraceKernel.ptx, line 160; warning : Double is not supported. Demoting to float
+ tmpxft_00001cbc_00000000-0_raytraceKernel.cudafe1.cpp
+ tmpxft_00001cbc_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\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\Release\565Raytracer.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\565Raytracer.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\Release\565Raytracer.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\Release\565Raytracer.lib" /MACHINE:X86 "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\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\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\Release\565Raytracer.exe
+ Manifest:
+ C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\Release\565Raytracer.exe;#1" /manifest Release\565Raytracer.exe.intermediate.manifest
+ FinalizeBuildStatus:
+ Deleting file "Release\565Raytracer.unsuccessfulbuild".
+ Touching "Release\565Raytracer.lastbuildstate".
+ 1>Done Building Project "C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\PROJ1_WIN\565Raytracer\565Raytracer.vcxproj" (build target(s)).
+
+Build succeeded.
+
+Time Elapsed 00:00:10.95
diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.vcxprojResolveAssemblyReference.cache b/PROJ1_WIN/565Raytracer/Release/565Raytracer.vcxprojResolveAssemblyReference.cache
new file mode 100644
index 0000000..1a52c1a
Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/565Raytracer.vcxprojResolveAssemblyReference.cache differ
diff --git a/PROJ1_WIN/565Raytracer/Release/565Raytracer.write.1.tlog b/PROJ1_WIN/565Raytracer/Release/565Raytracer.write.1.tlog
new file mode 100644
index 0000000..e69de29
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..a7920fc
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..611cccd
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..9bae59f
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..4f52631
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..4b77d8f
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..59af3fc
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..c044c14
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..93b1eca
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..a8e0a8a
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..cb33830
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..728b833
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..d005d92
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..fe8b9e4
--- /dev/null
+++ b/PROJ1_WIN/565Raytracer/Release/raytraceKernel.cu.cache
@@ -0,0 +1,26 @@
+Identity=..\..\src\raytraceKernel.cu
+AdditionalDeps=
+AdditionalOptions=
+CInterleavedPTX=false
+CodeGeneration=compute_10,sm_10
+CompileOut=C:\Users\Himanshu\Documents\GitHub\Project1-Raytracer\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..e999b18
--- /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\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/_detail.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/type.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.hpp
+C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cstdlib
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_half.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\setup.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\setup.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec1.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle_func.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec1.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_float.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_int.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_size.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_vec4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_gentype.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat2x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat3x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x2.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x2.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x3.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x3.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x4.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\type_mat4x4.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_trigonometric.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_trigonometric.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_exponential.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_exponential.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_common.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_common.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_packing.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_packing.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_geometric.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_geometric.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_matrix.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_matrix.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_vectorize.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_vector_relational.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\_detail.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_vector_relational.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/func_integer.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_integer.inl
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\glm\./core/func_noise.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core\func_noise.inl
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\./core/_swizzle.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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:/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\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core/_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\utilities.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\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\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+C:/ProgramData/NVIDIA Corporation/NVIDIA GPU Computing SDK 4.0/C/common/inc\cutil_math.h
+c:\users\himanshu\documents\github\project1-raytracer\src\intersections.h
+c:\users\himanshu\documents\github\project1-raytracer\src\sceneStructs.h
+c:\users\himanshu\documents\github\project1-raytracer\src\cudaMat4.h
+c:\users\himanshu\documents\github\project1-raytracer\src\glm/glm.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\glm\core/_fixes.hpp
+c:\users\himanshu\documents\github\project1-raytracer\src\utilities.h
+c:\users\himanshu\documents\github\project1-raytracer\src\interactions.h
+c:\users\himanshu\documents\github\project1-raytracer\src\intersections.h
diff --git a/PROJ1_WIN/565Raytracer/Release/scene.obj b/PROJ1_WIN/565Raytracer/Release/scene.obj
new file mode 100644
index 0000000..d87d404
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..26b57e0
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..1bdb944
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..ba9e65e
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..123213c
Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Release/vc100.pdb 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..c2a0753
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..3d3dcce
Binary files /dev/null and b/PROJ1_WIN/565Raytracer/Win32/Release/raytraceKernel.cu.obj differ
diff --git a/PROJ1_WIN/565Raytracer/vc100.pdb b/PROJ1_WIN/565Raytracer/vc100.pdb
new file mode 100644
index 0000000..4a0c817
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..32e6c89
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..699cbc2
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..32e4bf3
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..7c3d44b
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..6afed3f
Binary files /dev/null and b/PROJ1_WIN/Release/565Raytracer.pdb differ
diff --git a/PROJ1_WIN/ipch/565raytracer-20469a90/565raytracer-19509b53.ipch b/PROJ1_WIN/ipch/565raytracer-20469a90/565raytracer-19509b53.ipch
new file mode 100644
index 0000000..ff2621c
Binary files /dev/null and b/PROJ1_WIN/ipch/565raytracer-20469a90/565raytracer-19509b53.ipch differ
diff --git a/Project Readme.md b/Project Readme.md
new file mode 100644
index 0000000..ea89b72
--- /dev/null
+++ b/Project Readme.md
@@ -0,0 +1,19 @@
+CUDA RAYTRACER
+
+
+FEATURES IMPLEMENTED:
+
+- I have completed all the necessary parts of the project.
+- In the 2 additional features, I have implemented anti-aliasing and specular reflection.
+- In the input scene file, 'REFL' is used to control the amount of reflectivity of the object.
+- My raytracer currently handles only 1 light source since I haven't used an array for storing lights. The current light source is inside the roof and the area light object. Therefore, I have hardcoded the index of those objects so that they are not considered while checking for intersections from the light source.
+
+
+SCREENSHOTS:
+
+- Screenshots of the renders are in the 'renders' directory.
+
+
+BLOG POST:
+
+experiencetheforce.blogspot.com
\ No newline at end of file
diff --git a/renders/antialiased 0.0.PNG b/renders/antialiased 0.0.PNG
new file mode 100644
index 0000000..6349f7a
Binary files /dev/null and b/renders/antialiased 0.0.PNG differ
diff --git a/renders/antialiased 0.5.PNG b/renders/antialiased 0.5.PNG
new file mode 100644
index 0000000..1795518
Binary files /dev/null and b/renders/antialiased 0.5.PNG differ
diff --git a/renders/antialiased 1.0.PNG b/renders/antialiased 1.0.PNG
new file mode 100644
index 0000000..c7999ed
Binary files /dev/null and b/renders/antialiased 1.0.PNG differ
diff --git a/renders/final 1.PNG b/renders/final 1.PNG
new file mode 100644
index 0000000..4e892aa
Binary files /dev/null and b/renders/final 1.PNG differ
diff --git a/renders/final 2.PNG b/renders/final 2.PNG
new file mode 100644
index 0000000..dbf120b
Binary files /dev/null and b/renders/final 2.PNG differ
diff --git a/renders/final 3.PNG b/renders/final 3.PNG
new file mode 100644
index 0000000..769f750
Binary files /dev/null and b/renders/final 3.PNG differ
diff --git a/renders/final 4 depth 1.PNG b/renders/final 4 depth 1.PNG
new file mode 100644
index 0000000..aef76f1
Binary files /dev/null and b/renders/final 4 depth 1.PNG differ
diff --git a/renders/final 4 depth 2.PNG b/renders/final 4 depth 2.PNG
new file mode 100644
index 0000000..b624dc1
Binary files /dev/null and b/renders/final 4 depth 2.PNG differ
diff --git a/renders/final 4 depth 3.PNG b/renders/final 4 depth 3.PNG
new file mode 100644
index 0000000..7fd8a36
Binary files /dev/null and b/renders/final 4 depth 3.PNG differ
diff --git a/renders/sampleScene.0.bmp b/renders/sampleScene.0.bmp
old mode 100755
new mode 100644
diff --git a/scenes/sampleScene.txt b/scenes/sampleScene.txt
index 936135b..f9a2dc3 100755
--- a/scenes/sampleScene.txt
+++ b/scenes/sampleScene.txt
@@ -1,229 +1,253 @@
-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 0
-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
-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
-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 renders/sampleScene.bmp
-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
-
-OBJECT 0
-cube
-material 0
-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
-material 0
-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
-material 0
-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
-material 1
-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
-material 2
-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
-sphere
-material 4
-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
-sphere
-material 3
-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
-sphere
-material 6
-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
\ No newline at end of file
+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 10
+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 10
+SPECRGB 1 1 1
+REFL 0
+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 1
+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 10
+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 renders/sampleScene.bmp
+frame 0
+EYE 0 4.5 13
+VIEW 0 0 -1
+UP 0 1 0
+frame 1
+EYE 0 4.5 12
+VIEW 0 0 -1
+UP 0 1 0
+
+OBJECT 0
+cube
+material 0
+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
+material 0
+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
+material 0
+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
+material 1
+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
+material 2
+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
+sphere
+material 4
+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
+sphere
+material 3
+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
+sphere
+material 6
+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 7
+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
+
+OBJECT 9 //mirror
+cube
+material 5
+frame 0
+TRANS 0 5 15
+ROTAT 0 90 0
+SCALE .01 10 10
+frame 1
+TRANS 0 5 15
+ROTAT 0 90 0
+SCALE .01 20 10
+
+//OBJECT 9 //mirror
+//cube
+//material 5
+//frame 0
+//TRANS -5 5 0
+//ROTAT 0 -45 0
+//SCALE .01 5 5
+//frame 1
+//TRANS -5 5 0
+//ROTAT 0 -45 0
+//SCALE .01 5 5
\ No newline at end of file
diff --git a/scenes/sampleScene2.txt b/scenes/sampleScene2.txt
new file mode 100644
index 0000000..2b10144
--- /dev/null
+++ b/scenes/sampleScene2.txt
@@ -0,0 +1,229 @@
+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 0
+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
+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
+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 renders/sampleScene.bmp
+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
+
+OBJECT 0
+cube
+material 0
+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
+material 0
+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
+material 0
+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
+material 1
+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
+material 2
+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
+sphere
+material 4
+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
+sphere
+material 3
+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
+sphere
+material 6
+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
\ No newline at end of file
diff --git a/src/interactions.h b/src/interactions.h
index e18cfff..4d33970 100755
--- a/src/interactions.h
+++ b/src/interactions.h
@@ -90,7 +90,15 @@ __host__ __device__ glm::vec3 calculateRandomDirectionInHemisphere(glm::vec3 nor
//Now that you know how cosine weighted direction generation works, try implementing non-cosine (uniform) weighted random direction generation.
//This should be much easier than if you had to implement calculateRandomDirectionInHemisphere.
__host__ __device__ glm::vec3 getRandomDirectionInSphere(float xi1, float xi2) {
- return glm::vec3(0,0,0);
+
+ float theta = TWO_PI * xi1;
+ float phi = acos(2*xi2 -1);
+
+ float x = cos(theta) * sin(phi);
+ float y = sin(theta) * sin(phi);
+ float z = cos(phi);
+
+ return glm::vec3(x,y,z);
}
//TODO (PARTIALLY OPTIONAL): IMPLEMENT THIS FUNCTION
@@ -99,7 +107,8 @@ __host__ __device__ int calculateBSDF(ray& r, glm::vec3 intersect, glm::vec3 nor
AbsorptionAndScatteringProperties& currentAbsorptionAndScattering,
glm::vec3& color, glm::vec3& unabsorbedColor, material m){
- return 1;
+ //return 1;
+ return 0;
};
#endif
diff --git a/src/intersections.h b/src/intersections.h
index 2d9dcc8..4d0548d 100755
--- a/src/intersections.h
+++ b/src/intersections.h
@@ -72,6 +72,167 @@ __host__ __device__ glm::vec3 getSignOfRay(ray r){
//Cube intersection test, return -1 if no intersection, otherwise, distance to intersection
__host__ __device__ float boxIntersectionTest(staticGeom box, ray r, glm::vec3& intersectionPoint, glm::vec3& normal){
+ 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;
+
+ glm::vec3 bl, bh;
+ bl = glm::vec3(-0.5, -0.5, -0.5);
+ bh = glm::vec3(0.5, 0.5, 0.5);
+
+ double tnear, tfar, t1, t2, temp;
+ tnear = -99999.0;
+ tfar = 99999.0;
+
+ if(abs(rt.direction.x) <= 0.001 && (rt.origin.x < bl.x || rt.origin.x > bh.x))
+ return -1;
+
+ else
+ {
+ t1 = (bl.x - rt.origin.x)/rt.direction.x;
+ t2 = (bh.x - rt.origin.x)/rt.direction.x;
+
+ if(t1 > t2)
+ {
+ temp = t1;
+ t1 = t2;
+ t2 = temp;
+ }
+
+ if(t1 > tnear)
+ tnear = t1;
+
+ if(t2 < tfar)
+ tfar = t2;
+
+ if(tnear > tfar)
+ return -1;
+
+ if(tfar < 0.001)
+ return -1;
+ }
+
+ if(abs(rt.direction.y) <= 0.001 && (rt.origin.y < bl.y || rt.origin.y > bh.y))
+ return -1;
+
+ else
+ {
+ t1 = (bl.y - rt.origin.y)/rt.direction.y;
+ t2 = (bh.y - rt.origin.y)/rt.direction.y;
+
+ if(t1 > t2)
+ {
+ temp = t1;
+ t1 = t2;
+ t2 = temp;
+ }
+
+ if(t1 > tnear)
+ tnear = t1;
+
+ if(t2 < tfar)
+ tfar = t2;
+
+ if(tnear > tfar)
+ return -1;
+
+ if(tfar < 0.001)
+ return -1;
+ }
+
+ if(abs(rt.direction.z) <= 0.001 && (rt.origin.z < bl.z || rt.origin.z > bh.z))
+ return -1;
+
+ else
+ {
+ t1 = (bl.z - rt.origin.z)/rt.direction.z;
+ t2 = (bh.z - rt.origin.z)/rt.direction.z;
+
+ if(t1 > t2)
+ {
+ temp = t1;
+ t1 = t2;
+ t2 = temp;
+ }
+
+ if(t1 > tnear)
+ tnear = t1;
+
+ if(t2 < tfar)
+ tfar = t2;
+
+ if(tnear > tfar)
+ return -1;
+
+ if(tfar < 0.001)
+ return -1;
+ }
+
+ if(abs(tnear) < 0.001)
+ return -1;
+
+ if(tnear < tfar)
+ {
+ glm::vec3 point = glm::vec3(rt.origin.x + tnear*rt.direction.x, rt.origin.y + tnear*rt.direction.y, rt.origin.z + tnear*rt.direction.z);
+
+ if(fabs( point.x - 0.5 ) < 0.001)
+ normal = glm::vec3(1.0, 0.0, 0.0);
+
+ if(fabs( point.x + 0.5 ) < 0.001)
+ normal = glm::vec3(-1.0, 0.0, 0.0);
+
+ if(fabs( point.y - 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 1.0, 0.0);
+
+ if(fabs( point.y + 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, -1.0, 0.0);
+
+ if(fabs( point.z - 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 0.0, 1.0);
+
+ if(fabs( point.z + 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 0.0, -1.0);
+
+ normal = glm::normalize(multiplyMV(box.inverseTranspose, glm::vec4(normal, 0.0)));
+ //normal = glm::normalize(normal);
+ glm::vec3 realIntersectionPoint = multiplyMV(box.transform, glm::vec4(getPointOnRay(rt, tnear), 1.0));
+ intersectionPoint = realIntersectionPoint;
+ return glm::length(r.origin - realIntersectionPoint);
+ }
+
+ if(abs(tfar) < 0.001)
+ return -1;
+
+ if(tfar > 0.001)
+ {
+ glm::vec3 point = glm::vec3(rt.origin.x + tfar*rt.direction.x, rt.origin.y + tfar*rt.direction.y, rt.origin.z + tfar*rt.direction.z);
+
+ if(fabs( point.x - 0.5 ) < 0.001)
+ normal = glm::vec3(1.0, 0.0, 0.0);
+
+ if(fabs( point.x + 0.5 ) < 0.001)
+ normal = glm::vec3(-1.0, 0.0, 0.0);
+
+ if(fabs( point.y - 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 1.0, 0.0);
+
+ if(fabs( point.y + 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, -1.0, 0.0);
+
+ if(fabs( point.z - 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 0.0, 1.0);
+
+ if(fabs( point.z + 0.5 ) < 0.001)
+ normal = glm::vec3(0.0, 0.0, -1.0);
+
+ normal = glm::normalize(multiplyMV(box.inverseTranspose, glm::vec4(normal, 0.0)));
+ //normal = glm::normalize(normal);
+ glm::vec3 realIntersectionPoint = multiplyMV(box.transform, glm::vec4(getPointOnRay(rt, tfar), 1.0));
+ intersectionPoint = realIntersectionPoint;
+ return glm::length(r.origin - realIntersectionPoint);
+ }
+
return -1;
}
@@ -176,8 +337,23 @@ __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 = 1.0f;
+ thrust::default_random_engine rng(hash(randomSeed));
+ thrust::uniform_real_distribution z(-radius,radius);
+ thrust::uniform_real_distribution phi(0,2*PI);
- return glm::vec3(0,0,0);
+ float randZ = (float)z(rng);
+ float randPhi = (float)phi(rng);
+
+ float theta = asin(randZ/radius);
+ float x = radius * cos(theta) * cos(randPhi);
+ float y = radius * cos(theta) * sin(randPhi);
+
+ glm::vec3 point = glm::vec3(x, y, randZ);
+ glm::vec3 randPoint = multiplyMV(sphere.transform, glm::vec4(point,1.0f));
+
+ return randPoint;
}
#endif
\ No newline at end of file
diff --git a/src/raytraceKernel.cu b/src/raytraceKernel.cu
index dae7b03..0f77050 100755
--- a/src/raytraceKernel.cu
+++ b/src/raytraceKernel.cu
@@ -39,10 +39,50 @@ __host__ __device__ glm::vec3 generateRandomNumberFromThread(glm::vec2 resolutio
//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){
- ray r;
- r.origin = glm::vec3(0,0,0);
- r.direction = glm::vec3(0,0,-1);
- return r;
+
+ ray r;
+ glm::vec3 a, b, m, h, v, p;
+
+ a = glm::cross(view, up);
+ b = glm::cross(a, view);
+ m = eye + view;
+ h.x = 0.5f; //a * view.length() * fov.x / a.length();
+ v.y = 0.5f;
+
+ p = glm::vec3((float)(m.x + ((((2.0*x)/(resolution.x-1))-1)*h.x)+((((2.0*y)/(resolution.y-1))-1)*v.x)), (float)(m.y + ((((2.0*x)/(resolution.x-1))-1)*h.y)+((((2.0*y)/(resolution.y-1))-1)*v.y)), (float)(m.z + ((((2.0*x)/(resolution.x-1))-1)*h.z)+((((2.0*y)/(resolution.y-1))-1)*v.z)));
+
+ r.origin = eye;
+ r.direction = p - eye;
+ float mag = (p - eye).length();
+ r.direction = r.direction / mag;
+
+ //forDOF
+ //float apertureSize, focalLength = 857, numOfRays = 9;
+ //glm::vec3 focalPoint;
+
+ //float scdist=(resolution.y/2)/tan(fov.y *22 / 7 / 180);
+ //glm::vec3 pixelPos = glm::vec3(x, y, scdist);
+ //float pixelDistance = (pixelPos - eye).length();
+
+ //focalPoint = eye + (pixelDistance / (scdist / (scdist + focalLength))) * (pixelPos - eye) / pixelDistance;
+
+ ////ray dofRays[9];
+ //dofRays[0] = r;
+ //dofRays[1].origin = pixelPos + glm::vec3(1,0,0);
+ //dofRays[2].origin = pixelPos + glm::vec3(-1,0,0);
+ //dofRays[3].origin = pixelPos + glm::vec3(0,1,0);
+ //dofRays[4].origin = pixelPos + glm::vec3(0,-1,0);
+ //dofRays[5].origin = pixelPos + glm::vec3(1,1,0);
+ //dofRays[6].origin = pixelPos + glm::vec3(-1,1,0);
+ //dofRays[7].origin = pixelPos + glm::vec3(1,1,0);
+ //dofRays[8].origin = pixelPos + glm::vec3(-1,-1,0);
+
+ //for(int i = 0; i < 5; i++)
+ // dofRays[i].direction = focalPoint - dofRays[i].origin;
+ //return dofRays;
+
+ return r;
+
}
//Kernel that blacks out a given image buffer
@@ -66,8 +106,8 @@ __global__ void sendImageToPBO(uchar4* PBOpos, glm::vec2 resolution, glm::vec3*
glm::vec3 color;
color.x = image[index].x*255.0;
- color.y = image[index].x*255.0;
- color.z = image[index].x*255.0;
+ color.y = image[index].y*255.0;
+ color.z = image[index].z*255.0;
if(color.x>255){
color.x = 255;
@@ -92,15 +132,172 @@ __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, cameraData cam, int rayDepth, glm::vec3* colors,
- staticGeom* geoms, int numberOfGeoms){
+ staticGeom* geoms, int numberOfGeoms, material* mats, int numberOfMaterials){
int x = (blockIdx.x * blockDim.x) + threadIdx.x;
int y = (blockIdx.y * blockDim.y) + threadIdx.y;
- int index = x + (y * resolution.x);
+ int index = resolution.x * resolution.y - ( x + (y * resolution.x));
+ int currentDepth = 0;
+ float dist, distLight;
+ float minDist = 99999, minDistLight = 99999;
+ int indexOfGeom, indexOfLight;
+
+ const int numOfSamples = 9;
+ ray currentRay[numOfSamples], cachedRay[numOfSamples];
+ glm::vec3 colorAtDepth[10];
+ material materialAtDepth[10];
+
+ glm::vec3 intersectionPoint, normal;
+
+ glm::vec3 lightPosition, lightColor;
+ float lightEmittance;
+
+ //gets the position of the last defined light source
+ for(int i = 0; i < numberOfGeoms; i++)
+ {
+ if(mats[geoms[i].materialid].emittance > 0)
+ {
+ lightPosition = geoms[i].translation;
+ indexOfLight = i;
+ }
+ }
+
+ lightColor = mats[geoms[indexOfLight].materialid].color;
+ lightEmittance = mats[geoms[indexOfLight].materialid].emittance;
+
+ lightPosition = glm::vec3(0,10,0);
+ glm::vec3 lightDir;
+ //ambient, diffuse and specular factors
+ float kAmbient = 0.2f, kDiffuse = 0.5f, kSpecular = 0.3f;
+
+ bool hitDiffuse = false;
+
+ if((x<=resolution.x && y<=resolution.y))
+ {
+ currentRay[0] = raycastFromCameraKernel(resolution, time, x, y, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[1] = raycastFromCameraKernel(resolution, time, x-0.5f, y, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[2] = raycastFromCameraKernel(resolution, time, x+0.5f, y, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[3] = raycastFromCameraKernel(resolution, time, x, y-0.5f, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[4] = raycastFromCameraKernel(resolution, time, x, y+0.5f, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[5] = raycastFromCameraKernel(resolution, time, x-0.5f, y-0.5f, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[6] = raycastFromCameraKernel(resolution, time, x+0.5f, y-0.5f, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[7] = raycastFromCameraKernel(resolution, time, x-0.5f, y+0.5f, cam.position, cam.view, cam.up, cam.fov);
+ currentRay[8] = raycastFromCameraKernel(resolution, time, x+0.5f, y+0.5f, cam.position, cam.view, cam.up, cam.fov);
+
+
+ colors[index] = glm::vec3(0,0,0);
+
+ while(currentDepth < rayDepth && hitDiffuse == false) //in the beginning, currentDepth = 0
+ {
+ colorAtDepth[currentDepth] = glm::vec3(0,0,0);
+
+ for(int ry = 0; ry < numOfSamples; ry++)
+ {
+ for(int i = 0; i < numberOfGeoms; i++)
+ {
+ if(geoms[i].type == SPHERE)
+ dist = sphereIntersectionTest( geoms[i] , currentRay[ry], intersectionPoint, normal);
+ else if(geoms[i].type == CUBE)
+ dist = boxIntersectionTest( geoms[i], currentRay[ry], intersectionPoint, normal);
- if((x<=resolution.x && y<=resolution.y)){
+ if(dist != -1 && dist < minDist)
+ {
+ minDist = dist;
+ indexOfGeom = i;
+ }
+ }
- colors[index] = generateRandomNumberFromThread(resolution, time, x, y);
+ //material curMaterial = mats[geoms[indexOfGeom].materialid];
+
+ if(minDist == 99999)
+ {
+ colorAtDepth[currentDepth] += glm::vec3(0,0,0);
+ }
+
+ else
+ {
+ materialAtDepth[currentDepth] = mats[geoms[indexOfGeom].materialid];
+ material curMaterial = mats[geoms[indexOfGeom].materialid];
+ colorAtDepth[currentDepth] += kAmbient * curMaterial.color;
+
+ if(curMaterial.hasReflective > 0)
+ {
+ normal = glm::normalize(normal);
+ cachedRay[ry].direction = currentRay[ry].direction - 2.0f * (normal * glm::dot(currentRay[ry].direction, normal));
+ cachedRay[ry].direction = glm::normalize(cachedRay[ry].direction);
+ cachedRay[ry].origin = intersectionPoint;
+ }
+
+ else
+ hitDiffuse = true;
+
+ ray lightRay;
+ lightDir = lightPosition - intersectionPoint;
+ lightDir = glm::normalize(lightDir);
+ normal = glm::normalize(normal);
+ float factor = glm::dot(normal, lightDir);
+ lightRay.origin = intersectionPoint;
+ lightRay.direction = lightDir;
+
+ ray reflectedLightRay;
+ reflectedLightRay.direction = lightRay.direction - 2.0f * (normal * glm::dot(lightRay.direction, normal));
+ reflectedLightRay.direction = glm::normalize(reflectedLightRay.direction);
+ reflectedLightRay.origin = intersectionPoint;
+
+ distLight = -1;
+ minDistLight = 99999;
+
+ for(int i = 0; i < numberOfGeoms; i++)
+ {
+ if(i != 2 && i != 8) //hard coded to ignore roof cube intersection during light ray cast
+ {
+ if(geoms[i].type == SPHERE)
+ distLight = sphereIntersectionTest( geoms[i] , lightRay, intersectionPoint, normal);
+ else if(geoms[i].type == CUBE)
+ distLight = boxIntersectionTest( geoms[i], lightRay, intersectionPoint, normal);
+
+ if(distLight != -1 && distLight < minDistLight)
+ {
+ minDistLight = distLight;
+ }
+ }
+ }
+
+ if(minDistLight == 99999)
+ {
+ colorAtDepth[currentDepth] += lightEmittance * lightColor * kDiffuse * factor * curMaterial.color;
+ if(curMaterial.specularExponent > 0)
+ colorAtDepth[currentDepth] += kSpecular * lightEmittance * curMaterial.specularColor * pow(abs(glm::dot(glm::normalize(reflectedLightRay.direction), glm::normalize(currentRay[ry].direction))), curMaterial.specularExponent);
+ }
+
+ }
+
+ currentRay[ry] = cachedRay[ry];
+ }//end for loop for rays
+
+ //currentRay = cachedRay;
+
+ colorAtDepth[currentDepth] = colorAtDepth[currentDepth] / (float)numOfSamples;
+ currentDepth++;
+
+ }//end while
+
+ for(int i = rayDepth - 1; i > 0; i--)
+ {
+ colors[index] += materialAtDepth[i-1].hasReflective * colorAtDepth[i];
+ }
+ colors[index] += colorAtDepth[0];
+
+// for(int i = 0; i < rayDepth; i++)
+// colors[index] += colorAtDepth[i];
+
+ //average colors if multiple sampling
+
+ //colors[index] = colors[index] / 5.0f;
+
+ clamp(colors[index].x, 0.0f, 1.0f);
+ clamp(colors[index].y, 0.0f, 1.0f);
+ clamp(colors[index].z, 0.0f, 1.0f);
}
}
@@ -132,6 +329,7 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio
newStaticGeom.scale = geoms[i].scales[frame];
newStaticGeom.transform = geoms[i].transforms[frame];
newStaticGeom.inverseTransform = geoms[i].inverseTransforms[frame];
+ newStaticGeom.inverseTranspose = geoms[i].inverseTranspose[frame];
geomList[i] = newStaticGeom;
}
@@ -139,6 +337,27 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio
cudaMalloc((void**)&cudageoms, numberOfGeoms*sizeof(staticGeom));
cudaMemcpy( cudageoms, geomList, numberOfGeoms*sizeof(staticGeom), cudaMemcpyHostToDevice);
+ material* matList = new material[numberOfMaterials];
+ for(int i = 0; i < numberOfMaterials; i++)
+ {
+ material newMaterial;
+ newMaterial.absorptionCoefficient = materials[i].absorptionCoefficient;
+ newMaterial.color = materials[i].color;
+ newMaterial.emittance = materials[i].emittance;
+ newMaterial.hasReflective = materials[i].hasReflective;
+ newMaterial.hasRefractive = materials[i].hasRefractive;
+ newMaterial.hasScatter = materials[i].hasScatter;
+ newMaterial.indexOfRefraction = materials[i].indexOfRefraction;
+ newMaterial.reducedScatterCoefficient = materials[i].reducedScatterCoefficient;
+ newMaterial.specularColor = materials[i].specularColor;
+ newMaterial.specularExponent = materials[i].specularExponent;
+ matList[i] = newMaterial;
+ }
+
+ material* cudamats = NULL;
+ cudaMalloc((void**)&cudamats, numberOfMaterials*sizeof(material));
+ cudaMemcpy( cudamats, matList, numberOfMaterials*sizeof(material), cudaMemcpyHostToDevice);
+
//package camera
cameraData cam;
cam.resolution = renderCam->resolution;
@@ -148,7 +367,7 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio
cam.fov = renderCam->fov;
//kernel launches
- raytraceRay<<>>(renderCam->resolution, (float)iterations, cam, traceDepth, cudaimage, cudageoms, numberOfGeoms);
+ raytraceRay<<>>(renderCam->resolution, (float)iterations, cam, traceDepth, cudaimage, cudageoms, numberOfGeoms, cudamats, numberOfMaterials);
sendImageToPBO<<>>(PBOpos, renderCam->resolution, cudaimage);
@@ -159,6 +378,8 @@ void cudaRaytraceCore(uchar4* PBOpos, camera* renderCam, int frame, int iteratio
cudaFree( cudaimage );
cudaFree( cudageoms );
delete geomList;
+ cudaFree( cudamats );
+ delete matList;
// make certain the kernel has completed
cudaThreadSynchronize();
diff --git a/src/scene.cpp b/src/scene.cpp
index f0384b2..e6e06a3 100755
--- a/src/scene.cpp
+++ b/src/scene.cpp
@@ -116,6 +116,7 @@ int scene::loadObject(string objectid){
newObject.scales = new glm::vec3[frameCount];
newObject.transforms = new cudaMat4[frameCount];
newObject.inverseTransforms = new cudaMat4[frameCount];
+ newObject.inverseTranspose = new cudaMat4[frameCount];
for(int i=0; i