diff --git a/.vs/raytracing/v15/.suo b/.vs/raytracing/v15/.suo
new file mode 100644
index 0000000..9caa949
Binary files /dev/null and b/.vs/raytracing/v15/.suo differ
diff --git a/.vs/raytracing/v15/Browse.VC.db b/.vs/raytracing/v15/Browse.VC.db
new file mode 100644
index 0000000..e85dc91
Binary files /dev/null and b/.vs/raytracing/v15/Browse.VC.db differ
diff --git a/.vs/raytracing/v15/Browse.VC.opendb b/.vs/raytracing/v15/Browse.VC.opendb
new file mode 100644
index 0000000..6c1f826
Binary files /dev/null and b/.vs/raytracing/v15/Browse.VC.opendb differ
diff --git a/.vs/raytracing/v15/ipch/AutoPCH/1f56dada07b33bee/MAIN.ipch b/.vs/raytracing/v15/ipch/AutoPCH/1f56dada07b33bee/MAIN.ipch
new file mode 100644
index 0000000..025ca29
Binary files /dev/null and b/.vs/raytracing/v15/ipch/AutoPCH/1f56dada07b33bee/MAIN.ipch differ
diff --git a/Debug/Scene.obj b/Debug/Scene.obj
index 3d97a46..f0f95aa 100644
Binary files a/Debug/Scene.obj and b/Debug/Scene.obj differ
diff --git a/Debug/main.obj b/Debug/main.obj
index f0ff520..8cc5b93 100644
Binary files a/Debug/main.obj and b/Debug/main.obj differ
diff --git a/Debug/raytracing.exe b/Debug/raytracing.exe
index 886211a..e53c92b 100644
Binary files a/Debug/raytracing.exe and b/Debug/raytracing.exe differ
diff --git a/Debug/raytracing.ilk b/Debug/raytracing.ilk
index 0370805..4463b6e 100644
Binary files a/Debug/raytracing.ilk and b/Debug/raytracing.ilk differ
diff --git a/Debug/raytracing.log b/Debug/raytracing.log
index 6056ed0..eefc8fe 100644
--- a/Debug/raytracing.log
+++ b/Debug/raytracing.log
@@ -1,4 +1,9 @@
- raytracing.vcxproj -> D:\dev\cpp\raytracing\Debug\raytracing.exe
+ Scene.cpp
+ main.cpp
+ util.cpp
+ 正在生成代码...
+ LINK : 没有找到 D:\dev\cpp\raytracing\Debug\raytracing.exe 或上一个增量链接没有生成它;正在执行完全链接
+ raytracing.vcxproj -> D:\dev\cpp\raytracing\Debug\raytracing.exe
Microsoft (R) COFF/PE Editor Version 14.16.27043.0
Copyright (C) Microsoft Corporation. All rights reserved.
diff --git a/Debug/raytracing.pdb b/Debug/raytracing.pdb
index 660756a..519120b 100644
Binary files a/Debug/raytracing.pdb and b/Debug/raytracing.pdb differ
diff --git a/Debug/raytracing.tlog/CL.command.1.tlog b/Debug/raytracing.tlog/CL.command.1.tlog
index 4a09d92..f46330c 100644
Binary files a/Debug/raytracing.tlog/CL.command.1.tlog and b/Debug/raytracing.tlog/CL.command.1.tlog differ
diff --git a/Debug/raytracing.tlog/CL.read.1.tlog b/Debug/raytracing.tlog/CL.read.1.tlog
index ef9809d..c1408ae 100644
Binary files a/Debug/raytracing.tlog/CL.read.1.tlog and b/Debug/raytracing.tlog/CL.read.1.tlog differ
diff --git a/Debug/raytracing.tlog/CL.write.1.tlog b/Debug/raytracing.tlog/CL.write.1.tlog
index 3707cc0..461f6ff 100644
Binary files a/Debug/raytracing.tlog/CL.write.1.tlog and b/Debug/raytracing.tlog/CL.write.1.tlog differ
diff --git a/Debug/raytracing.tlog/link.read.1.tlog b/Debug/raytracing.tlog/link.read.1.tlog
index 6214a5e..a58dac8 100644
Binary files a/Debug/raytracing.tlog/link.read.1.tlog and b/Debug/raytracing.tlog/link.read.1.tlog differ
diff --git a/Debug/util.obj b/Debug/util.obj
index 05e1420..4020266 100644
Binary files a/Debug/util.obj and b/Debug/util.obj differ
diff --git a/Debug/vc141.idb b/Debug/vc141.idb
index 010c945..f0c42d0 100644
Binary files a/Debug/vc141.idb and b/Debug/vc141.idb differ
diff --git a/Debug/vc141.pdb b/Debug/vc141.pdb
index 4702f35..63af7bd 100644
Binary files a/Debug/vc141.pdb and b/Debug/vc141.pdb differ
diff --git a/raytracing.vcxproj b/raytracing.vcxproj
index fb0f3e8..cc394d6 100644
--- a/raytracing.vcxproj
+++ b/raytracing.vcxproj
@@ -42,7 +42,7 @@
Application
true
v141
- MultiByte
+ Unicode
Application
diff --git a/x64/Debug/Scene.obj b/x64/Debug/Scene.obj
new file mode 100644
index 0000000..964304f
Binary files /dev/null and b/x64/Debug/Scene.obj differ
diff --git a/x64/Debug/main.obj b/x64/Debug/main.obj
new file mode 100644
index 0000000..f732e6c
Binary files /dev/null and b/x64/Debug/main.obj differ
diff --git a/x64/Debug/raytracing.Build.CppClean.log b/x64/Debug/raytracing.Build.CppClean.log
new file mode 100644
index 0000000..ce5c04a
--- /dev/null
+++ b/x64/Debug/raytracing.Build.CppClean.log
@@ -0,0 +1,16 @@
+d:\dev\cpp\raytracing\x64\debug\vc141.pdb
+d:\dev\cpp\raytracing\x64\debug\vc141.idb
+d:\dev\cpp\raytracing\x64\debug\util.obj
+d:\dev\cpp\raytracing\x64\debug\scene.obj
+d:\dev\cpp\raytracing\x64\debug\main.obj
+d:\dev\cpp\raytracing\x64\debug\raytracing.pdb
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\cl.command.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\cl.read.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\cl.write.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link-cvtres.read.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link-cvtres.write.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link-rc.read.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link-rc.write.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link.command.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link.read.1.tlog
+d:\dev\cpp\raytracing\x64\debug\raytracing.tlog\link.write.1.tlog
diff --git a/x64/Debug/raytracing.log b/x64/Debug/raytracing.log
new file mode 100644
index 0000000..317d63d
--- /dev/null
+++ b/x64/Debug/raytracing.log
@@ -0,0 +1,7 @@
+ main.cpp
+ Scene.cpp
+ util.cpp
+ 正在生成代码...
+MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 main,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
+glew32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突
+D:\dev\cpp\raytracing\x64\Debug\raytracing.exe : fatal error LNK1120: 1 个无法解析的外部命令
diff --git a/x64/Debug/raytracing.pdb b/x64/Debug/raytracing.pdb
new file mode 100644
index 0000000..ba169fe
Binary files /dev/null and b/x64/Debug/raytracing.pdb differ
diff --git a/x64/Debug/raytracing.tlog/CL.command.1.tlog b/x64/Debug/raytracing.tlog/CL.command.1.tlog
new file mode 100644
index 0000000..aaf1d85
Binary files /dev/null and b/x64/Debug/raytracing.tlog/CL.command.1.tlog differ
diff --git a/x64/Debug/raytracing.tlog/CL.read.1.tlog b/x64/Debug/raytracing.tlog/CL.read.1.tlog
new file mode 100644
index 0000000..36e3412
Binary files /dev/null and b/x64/Debug/raytracing.tlog/CL.read.1.tlog differ
diff --git a/x64/Debug/raytracing.tlog/CL.write.1.tlog b/x64/Debug/raytracing.tlog/CL.write.1.tlog
new file mode 100644
index 0000000..2228443
Binary files /dev/null and b/x64/Debug/raytracing.tlog/CL.write.1.tlog differ
diff --git a/x64/Debug/raytracing.tlog/link-cvtres.read.1.tlog b/x64/Debug/raytracing.tlog/link-cvtres.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link-cvtres.read.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link-cvtres.write.1.tlog b/x64/Debug/raytracing.tlog/link-cvtres.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link-cvtres.write.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link-rc.read.1.tlog b/x64/Debug/raytracing.tlog/link-rc.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link-rc.read.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link-rc.write.1.tlog b/x64/Debug/raytracing.tlog/link-rc.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link-rc.write.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link.command.1.tlog b/x64/Debug/raytracing.tlog/link.command.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link.command.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link.read.1.tlog b/x64/Debug/raytracing.tlog/link.read.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link.read.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/link.write.1.tlog b/x64/Debug/raytracing.tlog/link.write.1.tlog
new file mode 100644
index 0000000..46b134b
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/link.write.1.tlog
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/x64/Debug/raytracing.tlog/raytracing.lastbuildstate b/x64/Debug/raytracing.tlog/raytracing.lastbuildstate
new file mode 100644
index 0000000..24550f6
--- /dev/null
+++ b/x64/Debug/raytracing.tlog/raytracing.lastbuildstate
@@ -0,0 +1,2 @@
+#TargetFrameworkVersion=v4.0:PlatformToolSet=v141:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.17763.0
+Debug|x64|D:\dev\cpp\raytracing\|
diff --git a/x64/Debug/raytracing.tlog/unsuccessfulbuild b/x64/Debug/raytracing.tlog/unsuccessfulbuild
new file mode 100644
index 0000000..e69de29
diff --git a/x64/Debug/util.obj b/x64/Debug/util.obj
new file mode 100644
index 0000000..383622c
Binary files /dev/null and b/x64/Debug/util.obj differ
diff --git a/x64/Debug/vc141.idb b/x64/Debug/vc141.idb
new file mode 100644
index 0000000..b40fc74
Binary files /dev/null and b/x64/Debug/vc141.idb differ
diff --git a/x64/Debug/vc141.pdb b/x64/Debug/vc141.pdb
new file mode 100644
index 0000000..a1dd15e
Binary files /dev/null and b/x64/Debug/vc141.pdb differ