Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
8421472
Remove unused freeglut copyrights
shehzan10 Jan 16, 2021
a79ca55
Update CUDA Computes List
shehzan10 Sep 10, 2021
78e028a
Retab
shehzan10 Sep 10, 2021
c03780d
Update instructions for Fall 2021
shehzan10 Sep 18, 2021
80ad206
Add vulkan option
shehzan10 Sep 18, 2021
cc3da39
Add sample readmes for inspiration
shehzan10 Sep 19, 2021
784f5ca
Merge pull request #1 from CIS565-Fall-2021/update-instructions-2021
shehzan10 Sep 21, 2021
6d7e696
Added Imgui Integration Files
codeplay9800 Sep 19, 2022
8462d52
Updated Instruction.md
codeplay9800 Sep 19, 2022
c44fccb
Update Instruction.md
codeplay9800 Sep 19, 2022
7165f5c
Merge branch 'main' into Integrate_Imgui
codeplay9800 Sep 19, 2022
26e8bf3
Imgui Integrated
codeplay9800 Sep 20, 2022
3dac24e
Added GUIDataContainer Class
codeplay9800 Sep 20, 2022
e666e6a
Removed ImGUI Cmake
codeplay9800 Sep 21, 2022
5000086
Update INSTRUCTION.md
shehzan10 Sep 21, 2022
98f098c
Fix a bug that causes MouseOverImGuiWindow() to not work
dw218192 Sep 22, 2022
16d6638
Merge pull request #1 from dw218192/patch-1
codeplay9800 Sep 22, 2022
cdfb96e
add images and complete base code with bsdf
dluisnothere Sep 24, 2022
b593d27
Update README.md
dluisnothere Sep 24, 2022
30fa181
first attempt specular surface
dluisnothere Sep 26, 2022
88ee1f0
add better glass
dluisnothere Sep 27, 2022
0342bd4
Finish glass shader
dluisnothere Sep 27, 2022
ff45051
add tinyObj
dluisnothere Sep 28, 2022
c07d401
Finish intersection cache
dluisnothere Sep 28, 2022
2ca7bfc
Finish obj loading with pictures
dluisnothere Sep 29, 2022
877c00d
Bounding box logic start
dluisnothere Sep 30, 2022
0ac75ca
fix bounding box issue 1
dluisnothere Sep 30, 2022
fbaeb34
Complete bounding box with OBJ.
dluisnothere Sep 30, 2022
a93b45d
Bound box add proper intersection
dluisnothere Sep 30, 2022
a49ab93
Finish Anti Aliasing
dluisnothere Oct 1, 2022
b2c5c5f
complete fix bounding box
dluisnothere Oct 1, 2022
9b9ec15
Refactor BOUND_BOX name to OBJ
dluisnothere Oct 1, 2022
75df745
Remove unnecessary comments
dluisnothere Oct 1, 2022
063597f
Change var names for readability
dluisnothere Oct 1, 2022
a4550f0
complete depth of field
dluisnothere Oct 2, 2022
465e8c8
remove unnecessary parameters from loadObj
dluisnothere Oct 2, 2022
31955a3
start texturing
dluisnothere Oct 5, 2022
f5dddf8
Direct lighting implementation and add cudaFree for member vars.
dluisnothere Oct 5, 2022
f2f75a5
complete RGBA texturing
dluisnothere Oct 6, 2022
1d69689
convert 24 bit depth to 32 bit depth textures
dluisnothere Oct 6, 2022
3e5a967
Add more textures
dluisnothere Oct 6, 2022
5a544d3
Complete texture and bogus bump mapping
dluisnothere Oct 7, 2022
ca0a92c
Update README.md
dluisnothere Oct 7, 2022
40a7ec8
Update README.md
dluisnothere Oct 7, 2022
f4768f2
Update README.md
dluisnothere Oct 7, 2022
9e173e7
change image name
dluisnothere Oct 7, 2022
84914e1
Update README.md
dluisnothere Oct 7, 2022
a2468c6
more descriptive specular name
dluisnothere Oct 7, 2022
89439e6
Update README.md
dluisnothere Oct 7, 2022
cad7cb7
Update README.md
dluisnothere Oct 7, 2022
c1d3435
crop mario photo
dluisnothere Oct 7, 2022
ad614f1
clean code
dluisnothere Oct 7, 2022
69338b3
forgot imperfect specular and new images
dluisnothere Oct 8, 2022
66d330a
change name
dluisnothere Oct 8, 2022
60cd5df
Update README.md
dluisnothere Oct 8, 2022
90df5f7
new image
dluisnothere Oct 8, 2022
8473c5b
Update README.md
dluisnothere Oct 8, 2022
4c659c2
Update README.md
dluisnothere Oct 8, 2022
f538010
Update README.md
dluisnothere Oct 8, 2022
141193f
Update README.md
dluisnothere Oct 8, 2022
697c1fd
add procedural texture and image
dluisnothere Oct 8, 2022
8804114
Update README.md
dluisnothere Oct 8, 2022
a07ef90
Link image add
dluisnothere Oct 8, 2022
863aa3b
Update README.md
dluisnothere Oct 8, 2022
a3a38ef
Update README.md
dluisnothere Oct 8, 2022
1855c5c
main renders
dluisnothere Oct 9, 2022
fbe0827
Update README.md
dluisnothere Oct 9, 2022
f79e70f
Update README.md
dluisnothere Oct 9, 2022
aee5437
Update README.md
dluisnothere Oct 9, 2022
09ada31
Update README.md
dluisnothere Oct 9, 2022
d189453
Update README.md
dluisnothere Oct 9, 2022
9aecfa0
Update README.md
dluisnothere Oct 9, 2022
f4d1f78
Update README.md
dluisnothere Oct 9, 2022
34f62a8
Update README.md
dluisnothere Oct 9, 2022
d338710
Update README.md
dluisnothere Oct 9, 2022
56b0eae
Update README.md
dluisnothere Oct 9, 2022
8f35780
Update README.md
dluisnothere Oct 9, 2022
b44ff41
Update README.md
dluisnothere Oct 9, 2022
989cf1b
Update README.md
dluisnothere Oct 9, 2022
8f17817
Update README.md
dluisnothere Oct 9, 2022
cc96641
Update README.md
dluisnothere Oct 9, 2022
fdb6b4d
Update README.md
dluisnothere Oct 9, 2022
7e79e89
Update README.md
dluisnothere Oct 9, 2022
dac2879
Update README.md
dluisnothere Oct 9, 2022
7c3084a
Update README.md
dluisnothere Oct 9, 2022
e1644b2
Update README.md
dluisnothere Oct 9, 2022
e8b92d9
Update README.md
dluisnothere Oct 9, 2022
03df6d9
Update README.md
dluisnothere Oct 9, 2022
3cde1ca
Update README.md
dluisnothere Oct 9, 2022
c3b2ba2
Update README.md
dluisnothere Oct 9, 2022
7a197ef
Update README.md
dluisnothere Oct 9, 2022
3f1762d
Update README.md
dluisnothere Oct 9, 2022
9056045
Update README.md
dluisnothere Oct 9, 2022
e861677
Update README.md
dluisnothere Oct 9, 2022
2e7a769
add more renders
dluisnothere Oct 9, 2022
586335f
Update README.md
dluisnothere Oct 9, 2022
ccc7d22
Update README.md
dluisnothere Oct 9, 2022
b205bc1
Update README.md
dluisnothere Oct 9, 2022
692156b
Update README.md
dluisnothere Oct 9, 2022
c0b8670
Update README.md
dluisnothere Oct 9, 2022
5b8f07f
Update README.md
dluisnothere Oct 9, 2022
13cdd6a
Update README.md
dluisnothere Oct 9, 2022
324b9e2
Update README.md
dluisnothere Oct 9, 2022
5d0b551
Update README.md
dluisnothere Oct 9, 2022
ab5c1eb
Update README.md
dluisnothere Oct 9, 2022
0235f6e
Update README.md
dluisnothere Oct 9, 2022
c6ff09d
Update README.md
dluisnothere Oct 9, 2022
56029f4
update img
dluisnothere Oct 9, 2022
eeebc77
Update README.md
dluisnothere Oct 9, 2022
127c293
Update README.md
dluisnothere Oct 10, 2022
13625df
add more images
dluisnothere Oct 10, 2022
1b03ddd
Update README.md
dluisnothere Oct 10, 2022
70a3652
Update README.md
dluisnothere Oct 10, 2022
8c9cc2b
rename cat
dluisnothere Oct 10, 2022
e8cb51c
Update README.md
dluisnothere Oct 10, 2022
3e6ac9f
performance measurements
dluisnothere Oct 10, 2022
5858783
Update README.md
dluisnothere Oct 10, 2022
4a221ac
Update README.md
dluisnothere Oct 10, 2022
15a8283
Update README.md
dluisnothere Oct 10, 2022
1325e42
Update README.md
dluisnothere Oct 10, 2022
84420c0
Update README.md
dluisnothere Oct 10, 2022
563d452
Update README.md
dluisnothere Oct 10, 2022
64aaf9d
Add support for normal gbuffer view.
dluisnothere Oct 17, 2022
d0783ed
attempt for denoiser
dluisnothere Oct 21, 2022
ce41a88
Completed denoiser
dluisnothere Oct 22, 2022
ce31c9a
Update README.md
dluisnothere Oct 22, 2022
8fc35db
Update README.md
dluisnothere Oct 22, 2022
478ae89
Update README.md
dluisnothere Oct 22, 2022
2c61aac
Update README.md
dluisnothere Oct 22, 2022
1e3aa31
Add new images
dluisnothere Oct 23, 2022
454cb1c
Update README.md
dluisnothere Oct 23, 2022
c18ae71
Update README.md
dluisnothere Oct 23, 2022
a0447aa
Update README.md
dluisnothere Oct 23, 2022
b685594
Update README.md
dluisnothere Oct 23, 2022
dac244b
Update README.md
dluisnothere Oct 23, 2022
3c415f4
Update README.md
dluisnothere Oct 23, 2022
2d5d32e
Update README.md
dluisnothere Oct 23, 2022
1599960
Update README.md
dluisnothere Oct 23, 2022
f86ec0e
Update README.md
dluisnothere Oct 23, 2022
c3715ec
Add photoshop pic
dluisnothere Oct 23, 2022
b82658f
Update README.md
dluisnothere Oct 23, 2022
640a954
Add images
dluisnothere Oct 23, 2022
62fcf68
Update README.md
dluisnothere Oct 23, 2022
c4cc296
Update README.md
dluisnothere Oct 23, 2022
eb1989a
Add Images
dluisnothere Oct 23, 2022
b5cb11d
Update README.md
dluisnothere Oct 23, 2022
9f912c0
Update README.md
dluisnothere Oct 23, 2022
510dff0
Update README.md
dluisnothere Oct 23, 2022
a9497a6
Update README.md
dluisnothere Oct 23, 2022
a298692
Update README.md
dluisnothere Oct 23, 2022
52d82ca
Add Images
dluisnothere Oct 23, 2022
8cbefd5
Update README.md
dluisnothere Oct 23, 2022
5f9a676
Update README.md
dluisnothere Oct 23, 2022
43f8b66
Update README.md
dluisnothere Oct 23, 2022
cfaeb37
Update README.md
dluisnothere Oct 23, 2022
5789748
Update README.md
dluisnothere Oct 23, 2022
997279b
Update README.md
dluisnothere Oct 23, 2022
acdb91f
Add Images
dluisnothere Oct 23, 2022
2734ae8
Update README.md
dluisnothere Oct 23, 2022
412e737
Update README.md
dluisnothere Oct 24, 2022
5906512
Edit image dim
dluisnothere Oct 24, 2022
80bd863
crop image
dluisnothere Oct 24, 2022
c51b380
Update README.md
dluisnothere Oct 24, 2022
3d99276
Update README.md
dluisnothere Oct 24, 2022
b3eca9f
Update README.md
dluisnothere Oct 24, 2022
61fbfc0
Add image
dluisnothere Oct 24, 2022
8b6fcf0
Add images
dluisnothere Oct 24, 2022
d3b5c5d
Update README.md
dluisnothere Oct 24, 2022
5554442
Update README.md
dluisnothere Oct 24, 2022
31594eb
Add graph
dluisnothere Oct 24, 2022
0fa9d83
Update README.md
dluisnothere Oct 24, 2022
6b1b596
Update README.md
dluisnothere Oct 24, 2022
fa53b58
more images
dluisnothere Oct 24, 2022
1734266
Update README.md
dluisnothere Oct 24, 2022
4a19585
Update README.md
dluisnothere Oct 24, 2022
6684b02
last graph
dluisnothere Oct 24, 2022
130baf9
Update README.md
dluisnothere Oct 24, 2022
c5347b7
Update README.md
dluisnothere Oct 24, 2022
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
22 changes: 21 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ set(headers
src/sceneStructs.h
src/preview.h
src/utilities.h
src/tiny_obj_loader.h
)

set(sources
Expand All @@ -86,15 +87,34 @@ set(sources
src/utilities.cpp
)

set(imgui
imgui/imconfig.h
imgui/imgui.cpp
imgui/imgui.h
imgui/imgui_draw.cpp
imgui/imgui_internal.h
imgui/imgui_widgets.cpp
imgui/imgui_demo.cpp
imgui/imgui_impl_glfw.cpp
imgui/imgui_impl_glfw.h
imgui/imgui_impl_opengl2.cpp
imgui/imgui_impl_opengl2.h
imgui/imgui_impl_opengl3.cpp
imgui/imgui_impl_opengl3.h
)

list(SORT headers)
list(SORT sources)
list(SORT imgui)

source_group(Headers FILES ${headers})
source_group(Sources FILES ${sources})
source_group(imgui FILES ${imgui})

#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} ${sources} ${headers} ${imgui})
target_link_libraries(${CMAKE_PROJECT_NAME}
${LIBRARIES}
#stream_compaction # TODO: uncomment if using your stream compaction
Expand Down
183 changes: 88 additions & 95 deletions INSTRUCTION.md

Large diffs are not rendered by default.

21 changes: 21 additions & 0 deletions ImGui/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
The MIT License (MIT)

Copyright (c) 2014-2019 Omar Cornut

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
94 changes: 94 additions & 0 deletions ImGui/imconfig.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
//-----------------------------------------------------------------------------
// COMPILE-TIME OPTIONS FOR DEAR IMGUI
// Runtime options (clipboard callbacks, enabling various features, etc.) can generally be set via the ImGuiIO structure.
// You can use ImGui::SetAllocatorFunctions() before calling ImGui::CreateContext() to rewire memory allocation functions.
//-----------------------------------------------------------------------------
// A) You may edit imconfig.h (and not overwrite it when updating Dear ImGui, or maintain a patch/branch with your modifications to imconfig.h)
// B) or add configuration directives in your own file and compile with #define IMGUI_USER_CONFIG "myfilename.h"
// If you do so you need to make sure that configuration settings are defined consistently _everywhere_ Dear ImGui is used, which include
// the imgui*.cpp files but also _any_ of your code that uses Dear ImGui. This is because some compile-time options have an affect on data structures.
// Defining those options in imconfig.h will ensure every compilation unit gets to see the same data structure layouts.
// Call IMGUI_CHECKVERSION() from your .cpp files to verify that the data structures your files are using are matching the ones imgui.cpp is using.
//-----------------------------------------------------------------------------

#pragma once

//---- Define assertion handler. Defaults to calling assert().
//#define IM_ASSERT(_EXPR) MyAssert(_EXPR)
//#define IM_ASSERT(_EXPR) ((void)(_EXPR)) // Disable asserts

//---- Define attributes of all API symbols declarations, e.g. for DLL under Windows
// Using dear imgui via a shared library is not recommended, because of function call overhead and because we don't guarantee backward nor forward ABI compatibility.
//#define IMGUI_API __declspec( dllexport )
//#define IMGUI_API __declspec( dllimport )

//---- Don't define obsolete functions/enums names. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names.
//#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS

//---- Don't implement demo windows functionality (ShowDemoWindow()/ShowStyleEditor()/ShowUserGuide() methods will be empty)
// It is very strongly recommended to NOT disable the demo windows during development. Please read the comments in imgui_demo.cpp.
//#define IMGUI_DISABLE_DEMO_WINDOWS
//#define IMGUI_DISABLE_METRICS_WINDOW

//---- Don't implement some functions to reduce linkage requirements.
//#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS // [Win32] Don't implement default clipboard handler. Won't use and link with OpenClipboard/GetClipboardData/CloseClipboard etc.
//#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] Don't implement default IME handler. Won't use and link with ImmGetContext/ImmSetCompositionWindow.
//#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, ime).
//#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default).
//#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf)
//#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself.
//#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function.
//#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions().

//---- Include imgui_user.h at the end of imgui.h as a convenience
//#define IMGUI_INCLUDE_IMGUI_USER_H

//---- Pack colors to BGRA8 instead of RGBA8 (to avoid converting from one to another)
//#define IMGUI_USE_BGRA_PACKED_COLOR

//---- Avoid multiple STB libraries implementations, or redefine path/filenames to prioritize another version
// By default the embedded implementations are declared static and not available outside of imgui cpp files.
//#define IMGUI_STB_TRUETYPE_FILENAME "my_folder/stb_truetype.h"
//#define IMGUI_STB_RECT_PACK_FILENAME "my_folder/stb_rect_pack.h"
//#define IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION
//#define IMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION

//---- Define constructor and implicit cast operators to convert back<>forth between your math types and ImVec2/ImVec4.
// This will be inlined as part of ImVec2 and ImVec4 class declarations.
/*
#define IM_VEC2_CLASS_EXTRA \
ImVec2(const MyVec2& f) { x = f.x; y = f.y; } \
operator MyVec2() const { return MyVec2(x,y); }

#define IM_VEC4_CLASS_EXTRA \
ImVec4(const MyVec4& f) { x = f.x; y = f.y; z = f.z; w = f.w; } \
operator MyVec4() const { return MyVec4(x,y,z,w); }
*/

//---- Use 32-bit vertex indices (default is 16-bit) is one way to allow large meshes with more than 64K vertices.
// Your renderer back-end will need to support it (most example renderer back-ends support both 16/32-bit indices).
// Another way to allow large meshes while keeping 16-bit indices is to handle ImDrawCmd::VtxOffset in your renderer.
// Read about ImGuiBackendFlags_RendererHasVtxOffset for details.
//#define ImDrawIdx unsigned int

//---- Override ImDrawCallback signature (will need to modify renderer back-ends accordingly)
//struct ImDrawList;
//struct ImDrawCmd;
//typedef void (*MyImDrawCallback)(const ImDrawList* draw_list, const ImDrawCmd* cmd, void* my_renderer_user_data);
//#define ImDrawCallback MyImDrawCallback

//---- Debug Tools
// Use 'Metrics->Tools->Item Picker' to pick widgets with the mouse and break into them for easy debugging.
//#define IM_DEBUG_BREAK IM_ASSERT(0)
//#define IM_DEBUG_BREAK __debugbreak()
// Have the Item Picker break in the ItemAdd() function instead of ItemHoverable() - which is earlier in the code, will catch a few extra items, allow picking items other than Hovered one.
// This adds a small runtime cost which is why it is not enabled by default.
//#define IMGUI_DEBUG_TOOL_ITEM_PICKER_EX

//---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files.
/*
namespace ImGui
{
void MyFunction(const char* name, const MyMatrix44& v);
}
*/
Loading