Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
m-schuetz committed Oct 5, 2023
0 parents commit b79f541
Show file tree
Hide file tree
Showing 559 changed files with 293,223 additions and 0 deletions.
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
build/bin/
build/x64
build/obj/
build/.vs
libs/openvr/samples
libs/openvr_newer
tools/sort_points/bin/
tools/sort_points/obj/
tools/sort_points/.vs
tools/sort_points/Sort_Frugal/Debug
tools/sort_points/Sort_Frugal/Release
tools/sort_points/Sort_Frugal/.vs
imgui.ini
build/Release/laszip.exp
build/Release/laszip.lib
build/Debug/*
build/laszip.dir
build/laszip/CMakeFiles/
build/laszip/laszip.dir/
build/laszip/Release/
build/laszip/Debug/
build/Release/laszip.dll
build/
20 changes: 20 additions & 0 deletions .vscode/keybindings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Place your key bindings in this file to overwrite the defaults
[
{
"key": "ctrl+l",
"command": "editor.action.deleteLines",
"when": "editorTextFocus && !editorReadonly"
},{
"key": "ctrl+shift+i",
"command": "editor.action.toggleRenderWhitespace"
},{
"key": "ctrl+d",
"command": "editor.action.copyLinesDownAction"
},{
"key": "alt+2",
"command": "type",
"args": {
"text": "`"
}
}
]
18 changes: 18 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
// "skipFiles": [
// "<node_internals>/**"
// ],
"program": "${file}",
"cwd": "${fileDirname}"
}
]
}
113 changes: 113 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"workbench.editor.enablePreview": false,
"files.associations": {
"*.cs": "cpp",
"*.wgsl": "cpp",
"*.vs": "cpp",
"*.fs": "cpp",
"cmath": "cpp",
"unordered_map": "cpp",
"chrono": "cpp",
"atomic": "cpp",
"xstring": "cpp",
"algorithm": "cpp",
"array": "cpp",
"bit": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"clocale": "cpp",
"compare": "cpp",
"concepts": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"deque": "cpp",
"exception": "cpp",
"filesystem": "cpp",
"format": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"functional": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"memory": "cpp",
"mutex": "cpp",
"new": "cpp",
"optional": "cpp",
"ostream": "cpp",
"queue": "cpp",
"random": "cpp",
"ratio": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"string": "cpp",
"system_error": "cpp",
"thread": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeinfo": "cpp",
"utility": "cpp",
"vector": "cpp",
"xfacet": "cpp",
"xhash": "cpp",
"xiosbase": "cpp",
"xlocale": "cpp",
"xlocbuf": "cpp",
"xlocinfo": "cpp",
"xlocmes": "cpp",
"xlocmon": "cpp",
"xlocnum": "cpp",
"xloctime": "cpp",
"xmemory": "cpp",
"xstddef": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp",
"valarray": "cpp",
"stack": "cpp",
"codecvt": "cpp",
"condition_variable": "cpp",
"execution": "cpp",
"numeric": "cpp",
"set": "cpp",
"shared_mutex": "cpp",
"variant": "cpp",
"hash_map": "cpp",
"__config": "cpp",
"__threading_support": "cpp",
"target": "cpp",
"bitset": "cpp"
},
"files.trimTrailingWhitespace": false,
"editor.fontSize": 20,
"editor.autoIndent": "advanced",
"editor.detectIndentation": false,
"editor.renderWhitespace": "all",
"editor.insertSpaces": false,
"editor.minimap.enabled": false,
"editor.autoClosingBrackets": "never",
"editor.formatOnType": false,
"editor.acceptSuggestionOnEnter": "off",
"editor.acceptSuggestionOnCommitCharacter": false,
"terminal.integrated.fontSize": 20,
"markdown.preview.fontSize": 20,
"editor.autoClosingQuotes": "never",
"editor.autoSurround": "never",
"C_Cpp.errorSquiggles": "Enabled",
}
19 changes: 19 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Run App",
"type": "shell",
"command": "./Skye.exe",
"options": {
"cwd": "./bin/Release_x64"
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
122 changes: 122 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
cmake_minimum_required(VERSION 3.26)
project(SimLOD)

include(FetchContent)

set(CMAKE_CXX_STANDARD 20)

option(SimLOD_CreateCUDASymlinks "Create symbolic links instead of copying CUDA files." OFF)

# Target SimLOD

add_executable(${PROJECT_NAME}
src/GLRenderer.cpp
include/unsuck_platform_specific.cpp
modules/progressive_octree/LasLoader.cpp
modules/progressive_octree/SimlodLoader.cpp
modules/progressive_octree/main_progressive_octree.cpp)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME})
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
VS_DEBUGGER_COMMAND "$<TARGET_FILE:${PROJECT_NAME}>"
VS_DEBUGGER_ENVIRONMENT "PATH=%PATH%;${CMAKE_PREFIX_PATH}")


target_include_directories(${PROJECT_NAME} PRIVATE
include
modules/CudaPrint
modules/progressive_octree)

# Dependencies

## CUDA toolkit
find_package(CUDAToolkit 11.7 REQUIRED)
target_include_directories(${PROJECT_NAME} PRIVATE
CUDAToolkit_INCLUDE_DIRS)
target_link_libraries(${PROJECT_NAME}
CUDA::cuda_driver
CUDA::nvrtc
CUDA::nvrtc_static
CUDA::nvrtc_builtins_static)

## OpenGL
find_package(OpenGL REQUIRED)
target_link_libraries(${PROJECT_NAME} ${OPENGL_LIBRARY})

## fmt
add_subdirectory(libs/fmt)
target_link_libraries(${PROJECT_NAME} fmt::fmt)

## glew
target_include_directories(${PROJECT_NAME} PRIVATE
libs/glew/include)
target_sources(${PROJECT_NAME} PRIVATE
libs/glew/glew.c)

## GLFW
include(cmake/glfw.cmake)
target_include_directories(${PROJECT_NAME} PRIVATE
${glfw_SOURCE_DIR}/include)
target_link_libraries(${PROJECT_NAME} glfw)

## glm
target_include_directories(${PROJECT_NAME} PRIVATE
libs/glm)

## imgui
target_include_directories(${PROJECT_NAME} PRIVATE
libs/imgui
libs/imgui/backends)
target_sources(${PROJECT_NAME} PRIVATE
libs/imgui/imgui.cpp
libs/imgui/imgui_demo.cpp
libs/imgui/imgui_draw.cpp
libs/imgui/imgui_tables.cpp
libs/imgui/imgui_widgets.cpp
libs/imgui/backends/imgui_impl_glfw.cpp
libs/imgui/backends/imgui_impl_opengl3.cpp)

## implot
target_include_directories(${PROJECT_NAME} PRIVATE
libs/implot)
target_sources(${PROJECT_NAME} PRIVATE
libs/implot/implot_items.cpp
libs/implot/implot.cpp)

## laszip
add_subdirectory(libs/laszip)
target_link_libraries(${PROJECT_NAME} laszip)
target_include_directories(${PROJECT_NAME} PRIVATE
libs/laszip)

# Post-Build
if (SimLOD_CreateCUDASymlinks)
execute_process(
COMMAND ${CMAKE_COMMAND} -E create_symlink
"${PROJECT_SOURCE_DIR}/CMakelists.txt"
"${CMAKE_BINARY_DIR}/.symlinktest.txt"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE symlinksSupported)
if (symlinksSupported)
message(STATUS "Cannot create symbolic links - missing user privileges. Falling back to copying.")
else ()
execute_process(
COMMAND ${CMAKE_COMMAND} -E remove
"${CMAKE_BINARY_DIR}/.symlinktest.txt"
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
endif (symlinksSupported)
endif (SimLOD_CreateCUDASymlinks)

if (symlinksSupported OR NOT SimLOD_CreateCUDASymlinks)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${PROJECT_SOURCE_DIR}/modules"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/modules"
COMMENT "POST BUILD: copying modules folder")
else ()
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E create_symlink
"${PROJECT_SOURCE_DIR}/modules"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/modules"
COMMENT "POST BUILD: creating symlink for modules folder")
endif (symlinksSupported OR NOT SimLOD_CreateCUDASymlinks)

21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
=====================================================================

Copyright 2023 Markus Schütz and Bernhard Kerbl

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.

=====================================================================

Some files have special licenses, such as seascape.cu:

/*
* "Seascape" by Alexander Alekseev aka TDM - 2014
* License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
* Contact: tdmaav@gmail.com
*/

=====================================================================
Loading

0 comments on commit b79f541

Please sign in to comment.