Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
40 changes: 39 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,48 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(BUILD_SHARED_LIBS ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

# ------- Find CUDA -----------
find_package(CUDAToolkit REQUIRED)
set(CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE OFF)

# Set vars
if (UNIX)
set(openvdb_lib "$ENV{HFS}/dsolib/libopenvdb_sesi.so")
endif ()

if (WIN32)
set(openvdb_lib "$ENV{HFS}/custom/houdini/dsolib/openvdb_sesi.lib")
endif ()


# Define build options
option(HNS_BUILD_SOP "Build SOP components" ON)
option(HNS_BUILD_TESTS "Build tests" OFF)
option(HNS_BUILD_VIEWER "Build HNanoViewer" OFF)
option(HNS_BUILD_VIEWER "Build HNanoViewer" ON)

# ------- Find Houdini --------
# Points CMake to $HFS/toolkit/cmake
list(APPEND CMAKE_PREFIX_PATH "$ENV{HFS}/toolkit/cmake")
find_package(Houdini REQUIRED)

# Ccreate an interface library capturing Houdini & openvdb_sesi
add_library(HoudiniVDB INTERFACE)
target_link_libraries(HoudiniVDB INTERFACE Houdini ${openvdb_lib})
target_include_directories(HoudiniVDB INTERFACE
$ENV{HFS}/toolkit/include
)

add_library(Utils STATIC
src/Utils/ScopedTimer.hpp
src/Utils/GridBuilder.hpp
src/Utils/GridData.hpp
src/Utils/Memory.hpp
src/Utils/Utils.hpp
src/Utils/Utils.cpp
src/Utils/Stencils.hpp
)

target_link_libraries(Utils PRIVATE HoudiniVDB)

# Set default build type if not specified
if (NOT CMAKE_BUILD_TYPE)
Expand Down
21 changes: 17 additions & 4 deletions HNanoViewer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,30 @@ set(CMAKE_CXX_STANDARD_REQUIRED True)
project(HNanoViewer LANGUAGES CXX CUDA)

# Find packages
find_package(CUDAToolkit REQUIRED)
find_package(glad CONFIG REQUIRED)
find_package(glfw3 CONFIG REQUIRED)
find_package(imgui CONFIG REQUIRED)

add_executable(HNanoViewer src/HNanoViewer.cpp src/OpenVDBLoader.hpp src/OpenVDBLoader.cpp src/Shader.hpp src/Shader.cpp src/Renderer.hpp src/Renderer.cpp)
include_directories(../externals)

add_executable(HNanoViewer
src/HNanoViewer.cpp
src/OpenVDBLoader.hpp
src/OpenVDBLoader.cpp
src/Shader.hpp
src/Shader.cpp
src/Renderer.hpp
src/Renderer.cpp
src/Application.cpp
src/Application.hpp)

add_subdirectory(../src/Cuda/BrickMap BrickMap)

target_link_libraries(HNanoViewer PRIVATE
glad::glad
glfw
imgui::imgui
BrickMap
Utils
Kernels
Houdini
"$ENV{HFS}/custom/houdini/dsolib/openvdb_sesi.lib")
HoudiniVDB)
5 changes: 5 additions & 0 deletions HNanoViewer/shaders/wireframe.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#version 330 core
out vec4 FragColor;
void main() {
FragColor = vec4(1.0, 0.0, 0.0, 1.0); // Solid red
}
Loading