Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
6afae2c
Implemented real shader + diffuse
Calvin-Lieu Sep 25, 2025
033c1b4
Implemented stream compaction, material sort, fixed bug with terminat…
Calvin-Lieu Sep 25, 2025
a1b8cd0
added new scene, optimised existing code, implemented anti-alisasing,…
Calvin-Lieu Sep 25, 2025
1a13f86
Implemented multiple kernels for specific classes alternative to mega…
Calvin-Lieu Sep 26, 2025
25938e9
Implemented bvh and direct lighting (advanced)
Calvin-Lieu Sep 27, 2025
8bb1090
Removed mutli-kernel sort, class-based kernels kept for reference. Ad…
Calvin-Lieu Sep 29, 2025
c09c4a0
added singletriangle intersection test
Calvin-Lieu Sep 29, 2025
10f3f22
Refactored bvh for proper function with triangle meshes. Updated path…
Calvin-Lieu Sep 29, 2025
bb7c13e
Updated structs and gltf load to support textures
Calvin-Lieu Sep 29, 2025
5cb9c0d
Fixed russian roulette lighting bug
Calvin-Lieu Sep 30, 2025
10ea6ec
fixed lighting bug causing scene to be too dark without MIS, setup fo…
Calvin-Lieu Sep 30, 2025
58b330f
Modularised scatterRay and dialectric logic overhauled. sphereinterse…
Calvin-Lieu Sep 30, 2025
fb67412
Minor moifications to specular/metallic code
Calvin-Lieu Sep 30, 2025
708fa53
Added loadgltf into json capability
Calvin-Lieu Sep 30, 2025
9f7824e
Added param UV to properly retrieve texture colours
Calvin-Lieu Sep 30, 2025
a49a59d
utilise metallic and roughness fields for texture mapping
Calvin-Lieu Oct 1, 2025
bd06951
Added environment lighting, fixed memory leaks with textures. Fixed v…
Calvin-Lieu Oct 1, 2025
6216d7f
modularised scene
Calvin-Lieu Oct 1, 2025
bcb0107
Refactored intersection tests, impelmented normal texturing, occlusio…
Calvin-Lieu Oct 2, 2025
3ffe9ab
moved helpers
Calvin-Lieu Oct 2, 2025
77d599b
attempted fix to cornell scene with spherical light, turns out the sc…
Calvin-Lieu Oct 2, 2025
17efd2d
Refactored texture sampling slightly to uspport alpha vals, added rei…
Calvin-Lieu Oct 3, 2025
c21e7ad
Cleaned up code, added comments, removed redundant functions and impl…
Calvin-Lieu Oct 3, 2025
91b1bc0
implemented depth of field, added assets
Calvin-Lieu Oct 5, 2025
ad290c1
sortbymaterial flase by default
Calvin-Lieu Oct 5, 2025
79dbe40
Image upload
Calvin-Lieu Oct 5, 2025
cd3adc9
Update README.md
Calvin-Lieu Oct 5, 2025
6d905ed
Added 2nd section from markdown editor
Calvin-Lieu Oct 5, 2025
850ca53
imgs
Calvin-Lieu Oct 8, 2025
1f77b15
Update README.md
Calvin-Lieu Oct 8, 2025
cee895d
Merge branch 'main' of https://github.com/Calvin-Lieu/Project3-CUDA-P…
Calvin-Lieu Oct 8, 2025
2023aa6
fixed tone imgs
Calvin-Lieu Oct 8, 2025
9611fc3
Update README.md
Calvin-Lieu Oct 8, 2025
2d8835c
Update README.md
Calvin-Lieu Oct 8, 2025
2fd6268
Update README.md
Calvin-Lieu Oct 8, 2025
1d6d709
Update README.md
Calvin-Lieu Oct 8, 2025
50eff0d
Update README.md
Calvin-Lieu Oct 8, 2025
23adf99
Update README.md
Calvin-Lieu Oct 8, 2025
873828c
Update README.md
Calvin-Lieu Oct 8, 2025
c152320
Update README.md
Calvin-Lieu Oct 8, 2025
0ee4ee7
Update README.md
Calvin-Lieu Oct 8, 2025
ec063b9
Update project version from 2 to 3 in README
Calvin-Lieu Oct 24, 2025
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
28 changes: 26 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ else(UNIX)
set(GLFW_ROOT_DIR ${EXTERNAL})
set(GLFW_USE_STATIC_LIBS ON)
find_package(GLFW REQUIRED)

set(GLEW_ROOT_DIR ${EXTERNAL})
set(GLEW_USE_STATIC_LIBS ON)
find_package(GLEW REQUIRED)
Expand All @@ -48,6 +48,9 @@ set(GLM_ROOT_DIR "${CMAKE_SOURCE_DIR}/external")
find_package(GLM REQUIRED)
include_directories(${GLM_INCLUDE_DIRS})

include_directories(${EXTERNAL}/include)
link_directories(${EXTERNAL}/lib)

set(headers
src/image.h
src/interactions.h
Expand All @@ -57,6 +60,13 @@ set(headers
src/scene.h
src/sceneStructs.h
src/utilities.h
src/pathHelpers.h
src/sortKeys.h
src/directLighting.h
src/bvh.h
src/textureSampling.h
src/environmentSampling.h
src/loader.h
)

set(sources
Expand All @@ -69,6 +79,13 @@ set(sources
src/interactions.cu
src/scene.cpp
src/utilities.cpp
src/pathHelpers.cu
src/sortKeys.cu
src/directLighting.cu
src/bvh.cu
src/tiny_gltf.cpp
src/textureSampling.cu
src/loader.cpp
)

set(imgui_headers
Expand Down Expand Up @@ -106,11 +123,18 @@ source_group("ImGui\\Sources" FILES ${imgui_sources})
#add_subdirectory(src/ImGui)
#add_subdirectory(stream_compaction) # TODO: uncomment if using your stream compaction

add_executable(${CMAKE_PROJECT_NAME} ${sources} ${headers} ${imgui_sources} ${imgui_headers})
add_executable(${CMAKE_PROJECT_NAME} ${sources} ${headers} ${imgui_sources} ${imgui_headers} "external/include/tiny_gltf.h" "src/tiny_gltf.cpp")
target_link_libraries(${CMAKE_PROJECT_NAME}
${GL_LIBRARIES}
OpenImageDenoise
OpenImageDenoise_core
#stream_compaction # TODO: uncomment if using your stream compaction
)
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_SOURCE_DIR}/external/bin
$<TARGET_FILE_DIR:${CMAKE_PROJECT_NAME}>
)
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES CUDA_ARCHITECTURES native)

Expand Down
Loading