Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
97b2496
Implement naive gpu path trace integrator
logancho Oct 1, 2024
cd579f7
Implement perfect specular reflection
logancho Oct 2, 2024
2d6d4d7
Implement stream compaction and material sorting using thrust library
logancho Oct 2, 2024
f860807
Implement Intel OIDN Denoiser
logancho Oct 4, 2024
333c8b9
Implement arbitrary triangular glTF mesh loading via tinygltf. No sup…
logancho Oct 6, 2024
4b6c216
Implement partial texture loading. Need to make UVs and barycentric i…
logancho Oct 6, 2024
cf236e9
Implement naive texture sampling proof of concept at UV 0.5, 0.5. TOD…
logancho Oct 6, 2024
6b6267b
Implement naive texture mapping improved. Barycentric uv interpolatio…
logancho Oct 6, 2024
ad7f0d3
Finish multi-mesh texture mapping
logancho Oct 6, 2024
7ff3b52
Implement BVH Optimization. Significant performance boost! Able to su…
logancho Oct 7, 2024
7e95511
Fixed BVH Bug. Incorrect return statement in BVH traversal.
logancho Oct 7, 2024
db782e3
Add spec trans. Also glass which uses both refl and trans. Also refac…
logancho Oct 8, 2024
ad17a90
Implement microfacet reflective material with roughness parameter
logancho Oct 8, 2024
61df6a0
Implement normal mapping from texture in .gltf file.
logancho Oct 8, 2024
264f97b
Clean up code, remove print statements, etc
logancho Oct 8, 2024
ae6132f
Polish GUI. Connect stream compaction, material sorting and denoise %…
logancho Oct 8, 2024
5c0db03
Fix Spec Refl bug
logancho Oct 9, 2024
64339c9
Final Code push for the assignment. Added Diamond Material
logancho Oct 9, 2024
1ce0ac7
Actual final code commit! I implemented a very naive directional ligh…
logancho Oct 9, 2024
44a7320
Final Minor Code Change. Added near-duplicate of existing microfacet …
logancho Oct 9, 2024
0a946b5
Implement Direct Lighting Li and also rectangular area lights. On the…
logancho Oct 11, 2024
9106cfa
Implement Full Lighting integrator with MIS!! Very happy with the res…
logancho Oct 13, 2024
7cb73c5
Final Hero render! Also, MIS doesnt work with multiple lights right n…
logancho Oct 16, 2024
ad38645
Update README.md
logancho Oct 16, 2024
cb84cc0
Update README.md
logancho Oct 16, 2024
b531d06
Update README.md
logancho Oct 16, 2024
b05588e
Update README.md
logancho Oct 16, 2024
50963af
Update README.md
logancho Oct 16, 2024
fab8186
Update README.md
logancho Oct 16, 2024
94a03b9
Update README.md
logancho Oct 16, 2024
131e041
Add breakdown png
logancho Oct 16, 2024
c5a8989
Merge branch 'main' of github.com:logancho/Project3-CUDA-Path-Tracer
logancho Oct 16, 2024
d96935d
Update README.md
logancho Oct 16, 2024
3bacb85
Update breakdown
logancho Oct 16, 2024
82ada95
Update README.md
logancho Oct 16, 2024
529af04
Update README.md
logancho Oct 16, 2024
e9a8b23
Update README.md
logancho Oct 16, 2024
bb90938
Update README.md
logancho Oct 16, 2024
0e17e3e
Update README.md
logancho Oct 16, 2024
96048dc
Bug fixes
logancho Oct 22, 2024
b03fa5c
Bug fixes
logancho Oct 22, 2024
2c19e3d
Clean up code
logancho Oct 22, 2024
7e7a692
Add images
logancho Oct 22, 2024
b51673b
Update README.md
logancho Oct 22, 2024
4321588
Update README.md
logancho Oct 22, 2024
503b96c
Update README.md
logancho Oct 22, 2024
5399191
Update README.md
logancho Oct 22, 2024
322d15c
Update README.md
logancho Oct 22, 2024
9a1908a
Update README.md
logancho Oct 22, 2024
096c74e
Update README.md
logancho Oct 22, 2024
7e7ef21
Add more images
logancho Oct 22, 2024
e32cfaa
Update README.md
logancho Oct 22, 2024
e1cf5b9
Add image
logancho Oct 22, 2024
7d83505
Merge branch 'main' of github.com:logancho/Project3-CUDA-Path-Tracer
logancho Oct 22, 2024
a8cb75b
add image
logancho Oct 22, 2024
587b174
Update README.md
logancho Oct 22, 2024
077eef6
Update README.md
logancho Oct 22, 2024
fa30007
Update README.md
logancho Oct 22, 2024
03b9803
add img
logancho Oct 22, 2024
3e7c009
Merge branch 'main' of github.com:logancho/Project3-CUDA-Path-Tracer
logancho Oct 22, 2024
2a003ba
Update README.md
logancho Oct 22, 2024
a5b1062
Update README.md
logancho Oct 22, 2024
412a2da
Update README.md
logancho Oct 22, 2024
f0a2bdc
Add JSONs with local file paths to glTFs for testing!
logancho Nov 4, 2024
7db0d4c
Merge branch 'main' of github.com:logancho/Project3-CUDA-Path-Tracer
logancho Nov 4, 2024
f4d38a2
Remove scene files with hard coded file paths
logancho Nov 4, 2024
7980f2c
Merge branch 'CIS5650-Fall-2024:main' into main
logancho Nov 4, 2024
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
14 changes: 14 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@ set(GLM_ROOT_DIR "${CMAKE_SOURCE_DIR}/external")
find_package(GLM REQUIRED)
include_directories(${GLM_INCLUDE_DIRS})

find_package(OpenImageDenoise REQUIRED
HINTS "C:/Users/cloga/LocalData/CIS565/oidn"
)
include_directories(${OpenImageDenoise_INCLUDE_DIRS})

#add_definitions(-DTINYGLTF_IMPLEMENTATION -DSTB_IMAGE_IMPLEMENTATION -DSTB_IMAGE_WRITE_IMPLEMENTATION)

set(headers
src/main.h
src/image.h
Expand All @@ -61,6 +68,8 @@ set(headers
src/sceneStructs.h
src/preview.h
src/utilities.h
src/glTFLoader.h
src/Light.h
)

set(sources
Expand All @@ -74,6 +83,8 @@ set(sources
src/scene.cpp
src/preview.cpp
src/utilities.cpp
src/glTFLoader.cpp
src/Light.cu
)

set(imgui_headers
Expand Down Expand Up @@ -124,7 +135,10 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
${LIBRARIES}
cudadevrt
#stream_compaction # TODO: uncomment if using your stream compaction
OpenImageDenoise
)
# target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OpenImageDenoise)
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/external/include)
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE "$<$<AND:$<CONFIG:Debug,RelWithDebInfo>,$<COMPILE_LANGUAGE:CUDA>>:-G;-src-in-ptx>")
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE "$<$<AND:$<CONFIG:Release>,$<COMPILE_LANGUAGE:CUDA>>:-lineinfo;-src-in-ptx>")
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${CMAKE_PROJECT_NAME})
64 changes: 64 additions & 0 deletions JSONs/FinalCornellWithMeshSpheres.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"Materials":
{
"0:BackWall":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98]
},
"1:LeftWall":
{
"TYPE":1,
"RGB":[0.85, 0.35, 0.35],
"ROUGHNESS":0.1
},
"2:RightWall":
{
"TYPE":1,
"RGB":[0.35, 0.85, 0.35]
},
"3:TopAndFloor":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98],
"ROUGHNESS":0.1
},
"4:Sphere":
{
"TYPE":4,
"RGB":[1.0, 1.0, 1.0],
"ROUGHNESS":0.3
}
},
"Camera":
{
"RES":[800,800],
"FOVY":48.0,
"ITERATIONS":2000,
"DEPTH":8,
"FILE":"cornell",
"EYE":[0.0,5.0,4.5000001],
"LOOKAT":[0.0,5.0,0.0],
"UP":[0.0,1.0,0.0]
},
"Objects":
[
{
"TYPE":"arealight",
"LE":[1.0,1.0,1.0],
"EMITTANCE":12.0,
"SHAPETYPE":0,
"TRANS":[0.0,8.6,0.0],
"ROTAT":[90.0,0.0,0.0],
"SCALE":[2.0,2.0,2.0]
},
{
"TYPE":"mesh",
"MATERIAL":"diffuse_white",
"FILEPATH":"../glTFs/CornellWithSphere/CornellWithSphere.gltf",
"TRANS":[0.0,0.0,0.0],
"ROTAT":[0.0,0.0,0.0],
"SCALE":[1.0,1.0,1.0]
}
]
}
82 changes: 82 additions & 0 deletions JSONs/FinalCornellWithSonic.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
{
"Materials":
{
"0:BackWall":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98]
},
"1:LeftWall":
{
"TYPE":1,
"RGB":[0.85, 0.35, 0.35],
"ROUGHNESS":0.1
},
"2:RightWall":
{
"TYPE":1,
"RGB":[0.35, 0.85, 0.35]
},
"3:TopAndFloor":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98],
"ROUGHNESS":0.1
},
"4:Head":
{
"TYPE":7,
"RGB":[0.6, 0.8, 1.0],
"ROUGHNESS":0.3
},
"5:Sclera":
{
"TYPE":7,
"RGB":[1.0, 1.0, 1.0],
"ROUGHNESS":0.3
},
"6:Jaw":
{
"TYPE":7,
"RGB":[0.96, 0.93, 0.8],
"ROUGHNESS":0.3
},
"7:Base":
{
"TYPE":7,
"RGB":[0.3, 0.3, 0.3],
"ROUGHNESS":0.3
}
},
"Camera":
{
"RES":[800,800],
"FOVY":48.0,
"ITERATIONS":2000,
"DEPTH":8,
"FILE":"cornell",
"EYE":[0.0,5.0,1.5],
"LOOKAT":[0.0,5.0,0.0],
"UP":[0.0,1.0,0.0]
},
"Objects":
[
{
"TYPE":"arealight",
"LE":[1.0,1.0,1.0],
"EMITTANCE":8.0,
"SHAPETYPE":0,
"TRANS":[0.0,8.6,0.0],
"ROTAT":[90.0,0.0,0.0],
"SCALE":[3.0,3.0,3.0]
},
{
"TYPE":"mesh",
"MATERIAL":"diffuse_white",
"FILEPATH":"../glTFs/CornellWithSonic/CornellWithSonic.gltf",
"TRANS":[0.0,0.0,0.0],
"ROTAT":[0.0,0.0,0.0],
"SCALE":[1.0,1.0,1.0]
}
]
}
84 changes: 84 additions & 0 deletions JSONs/FinalCornellWithSphereImplicit.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"Materials":
{
"0:BackWall":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98]
},
"1:LeftWall":
{
"TYPE":1,
"RGB":[0.85, 0.35, 0.35],
"ROUGHNESS":0.1
},
"2:RightWall":
{
"TYPE":1,
"RGB":[0.35, 0.85, 0.35]
},
"3:TopAndFloor":
{
"TYPE":1,
"RGB":[0.98, 0.98, 0.98],
"ROUGHNESS":0.1
},
"4:Sphere":
{
"TYPE":4,
"RGB":[1.0, 0.95, 0.93],
"ROUGHNESS":0.15
},
"5:Sphere":
{
"TYPE":4,
"RGB":[0.7, 0.8, 1.0],
"ROUGHNESS":0.01
}
},
"Camera":
{
"RES":[800,800],
"FOVY":48.0,
"ITERATIONS":2000,
"DEPTH":8,
"FILE":"cornell",
"EYE":[0.0,5.0,4.5000001],
"LOOKAT":[0.0,5.0,0.0],
"UP":[0.0,1.0,0.0]
},
"Objects":
[
{
"TYPE":"arealight",
"LE":[1.0,1.0,1.0],
"EMITTANCE":12.0,
"SHAPETYPE":0,
"TRANS":[0.0,8.6,0.0],
"ROTAT":[90.0,0.0,0.0],
"SCALE":[2.0,2.0,2.0]
},
{
"TYPE":"sphere",
"MATERIAL":4,
"TRANS":[-2.0,6.0,1.0],
"ROTAT":[0.0,0.0,0.0],
"SCALE":[2.0,2.0,2.0]
},
{
"TYPE":"sphere",
"MATERIAL":5,
"TRANS":[2.0,3.0,-1.0],
"ROTAT":[0.0,0.0,0.0],
"SCALE":[3.0,3.0,3.0]
},
{
"TYPE":"mesh",
"MATERIAL":"diffuse_white",
"FILEPATH":"../glTFs/Cornell/Cornell.gltf",
"TRANS":[0.0,0.0,0.0],
"ROTAT":[0.0,0.0,0.0],
"SCALE":[1.0,1.0,1.0]
}
]
}
Loading