Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project 3: Yian Chen #29

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
8c596e8
a basci path tracer
SydianAndrewChen Sep 20, 2023
bf259ae
refactor integrator
SydianAndrewChen Sep 20, 2023
2541d28
add primitive
SydianAndrewChen Sep 21, 2023
37d72d2
first try to add primitive and triangles
SydianAndrewChen Sep 22, 2023
582abcf
fix triangle intersection bug
SydianAndrewChen Sep 22, 2023
c45e4b2
finish gltf triangle mesh loading
SydianAndrewChen Sep 23, 2023
841ec3a
Merge branch 'dev_mesh'
SydianAndrewChen Sep 23, 2023
f84f96f
change old scene
SydianAndrewChen Sep 26, 2023
5451e3e
change assembler to scene
SydianAndrewChen Sep 26, 2023
7edd294
removee deprecated scene
SydianAndrewChen Sep 26, 2023
439c206
a slightly cleaner version
SydianAndrewChen Sep 26, 2023
9e80b94
add bsdf with a cleaner way
SydianAndrewChen Sep 26, 2023
01200e2
update scene
SydianAndrewChen Sep 26, 2023
12ebd8f
add bsdf
SydianAndrewChen Sep 26, 2023
feb4370
add a cleaner version of bsdf
SydianAndrewChen Sep 26, 2023
25b0448
fix normal
SydianAndrewChen Sep 26, 2023
7fcb7c1
fix occlusion & change tri intersection
SydianAndrewChen Sep 26, 2023
382c12f
may finish triangle & bsdf finally
SydianAndrewChen Sep 27, 2023
29e90f8
update README
SydianAndrewChen Sep 27, 2023
2a18400
cleaner version of pathtrace
SydianAndrewChen Sep 27, 2023
eb26190
add macro for estim lighting and change bsdf sample
SydianAndrewChen Sep 27, 2023
09d1a5c
first trial on serialized bvh
SydianAndrewChen Sep 27, 2023
7759ec8
naive bvh first trial
SydianAndrewChen Sep 28, 2023
b21363e
naive bvh probably finished
SydianAndrewChen Sep 28, 2023
24594e1
finish gbuffer
SydianAndrewChen Sep 28, 2023
20446cf
first trial on SAH
SydianAndrewChen Sep 28, 2023
e4b3fb9
first finish on SAH(probably...)
SydianAndrewChen Sep 28, 2023
64e7b99
start working on texturing
SydianAndrewChen Sep 28, 2023
bc3a65e
finish billboarding
SydianAndrewChen Sep 29, 2023
f19bda9
add bump mapping & first trial on microfacet bsdf
SydianAndrewChen Sep 30, 2023
d250e8a
update README
SydianAndrewChen Sep 30, 2023
ca13eda
change scene load to relative path
SydianAndrewChen Sep 30, 2023
3acd32d
add jitter
SydianAndrewChen Sep 30, 2023
4ae5e08
fix pdf bug of hemiSphereCosineWeightedSampling
SydianAndrewChen Sep 30, 2023
71db279
refactor mainloop new free
SydianAndrewChen Sep 30, 2023
7689e5c
add toggable sort by bsdf
SydianAndrewChen Oct 1, 2023
6a64015
another trial on microfacet(seems to work)
SydianAndrewChen Oct 4, 2023
67e4b57
add more results
SydianAndrewChen Oct 4, 2023
14a8aa8
solve most issue of sampling light source
SydianAndrewChen Oct 5, 2023
e6e3e1d
add pdf function
SydianAndrewChen Oct 5, 2023
c70da34
finish direct lighting(noise not settled)
SydianAndrewChen Oct 6, 2023
6d385d9
refactor config
SydianAndrewChen Oct 6, 2023
ca5b695
first add env_map
SydianAndrewChen Oct 6, 2023
ac77c7f
add environmental mapping
SydianAndrewChen Oct 8, 2023
64f6a5e
fix random number bug & a better direct light sample
SydianAndrewChen Oct 8, 2023
16c7a3c
refactor bsdf math
SydianAndrewChen Oct 8, 2023
153fbab
fix scene scale issue
SydianAndrewChen Oct 9, 2023
90aba95
seems to have finished direct lighting & mis
SydianAndrewChen Oct 9, 2023
221eca1
add mis macro
SydianAndrewChen Oct 9, 2023
5ed009f
add rr
SydianAndrewChen Oct 9, 2023
8834485
refactor mis & speedup
SydianAndrewChen Oct 9, 2023
628db9a
add depth of field && realtime slider
SydianAndrewChen Oct 10, 2023
d5fd16f
more test scenen
SydianAndrewChen Oct 10, 2023
f5a841e
update README
SydianAndrewChen Oct 10, 2023
7b763e6
update field of depth imagee
SydianAndrewChen Oct 10, 2023
0232cdc
update README
SydianAndrewChen Oct 10, 2023
e5197b3
update README
SydianAndrewChen Oct 10, 2023
b962762
update env_map macro
SydianAndrewChen Oct 10, 2023
b41930a
update README
SydianAndrewChen Oct 10, 2023
b6a1c56
update README
SydianAndrewChen Oct 11, 2023
8bdbe6d
update README url
SydianAndrewChen Oct 11, 2023
5647b45
update README
SydianAndrewChen Oct 11, 2023
6fb46bb
update video url
SydianAndrewChen Oct 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 61 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,39 @@ set(GLM_ROOT_DIR "external")
find_package(GLM REQUIRED)
include_directories(${GLM_INCLUDE_DIRS})

set(headers
src/main.h
src/image.h
set(material
src/bsdf.h
src/bsdfStruct.h
src/texture.h
src/textureStruct.h
)

set(scene
src/sceneStructs.h
src/interactions.h
src/intersections.h
src/glslUtility.hpp
src/pathtrace.h
src/light.h
src/lightStruct.h
src/config.h
src/config.cpp
src/scene.h
src/sceneStructs.h
src/scene.cpp
src/bvh.h
src/bvh.cpp
)

set(core
src/main.h
src/main.cpp
src/preview.h
src/utilities.h
src/preview.cpp
src/image.h
src/image.cpp
src/pathtrace.h
src/pathtrace.cu
)

set(imgui
src/ImGui/imconfig.h

src/ImGui/imgui.h
Expand All @@ -84,18 +106,6 @@ set(headers
src/ImGui/imstb_rectpack.h
src/ImGui/imstb_textedit.h
src/ImGui/imstb_truetype.h
)

set(sources
src/main.cpp
src/stb.cpp
src/image.cpp
src/glslUtility.cpp
src/pathtrace.cu
src/scene.cpp
src/preview.cpp
src/utilities.cpp

src/ImGui/imgui.cpp
src/ImGui/imgui_demo.cpp
src/ImGui/imgui_draw.cpp
Expand All @@ -105,16 +115,43 @@ set(sources
src/ImGui/imgui_widgets.cpp
)

list(SORT headers)
list(SORT sources)
set(tinygltf
src/tinygltf/json.hpp
src/tinygltf/stb_image.h
src/tinygltf/stb_image_write.h
src/tinygltf/tiny_gltf.h
)

set(common
src/utilities.h
src/utilities.cpp
#src/utilities.cuh
#src/utilities.cu
src/glslUtility.hpp
src/glslUtility.cpp
src/mathUtil.h
src/mathUtil.cpp
#src/stb.cpp
)

list(SORT scene)
list(SORT core)
list(SORT imgui)
list(SORT tinygltf)
list(SORT common)
list(SORT material)

source_group(Headers FILES ${headers})
source_group(Sources FILES ${sources})
source_group(Scene FILES ${scene})
source_group(ImGUI FILES ${imgui})
source_group(Core FILES ${core})
source_group(Common FILES ${common})
source_group(Tinygltf FILES ${tinygltf})
source_group(Material FILES ${material})

#add_subdirectory(src/ImGui)
#add_subdirectory(stream_compaction) # TODO: uncomment if using your stream compaction

cuda_add_executable(${CMAKE_PROJECT_NAME} ${sources} ${headers})
cuda_add_executable(${CMAKE_PROJECT_NAME} ${imgui} ${tinygltf} ${core} ${scene} ${common} ${material})
target_link_libraries(${CMAKE_PROJECT_NAME}
${LIBRARIES}
#stream_compaction # TODO: uncomment if using your stream compaction
Expand Down
Loading