Skip to content

Commit 438aeb5

Browse files
committed
Merge remote-tracking branch 'origin/hlsl_path_tracer_example' into imguizmo-lights
# Conflicts: # examples_tests
2 parents 12cac68 + 27fd427 commit 438aeb5

File tree

3 files changed

+34
-4
lines changed

3 files changed

+34
-4
lines changed

include/nbl/builtin/hlsl/rwmc/CascadeAccumulator.hlsl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ struct CascadeAccumulator
4141

4242
using cascade_layer_scalar_type = typename vector_traits<CascadeLayerType>::scalar_type;
4343
using this_t = CascadeAccumulator<CascadeLayerType, CascadeCount>;
44+
using input_sample_type = CascadeLayerType;
4445
using output_storage_type = CascadeEntry;
4546
using initialization_data = SplattingParameters;
4647
output_storage_type accumulation;
@@ -66,7 +67,7 @@ struct CascadeAccumulator
6667
}
6768

6869
// most of this code is stolen from https://cg.ivd.kit.edu/publications/2018/rwmc/tool/split.cpp
69-
void addSample(uint32_t sampleCount, CascadeLayerType _sample)
70+
void addSample(uint32_t sampleCount, input_sample_type _sample)
7071
{
7172
const cascade_layer_scalar_type log2Start = splattingParameters.log2Start;
7273
const cascade_layer_scalar_type log2Base = splattingParameters.log2Base;

src/nbl/CMakeLists.txt

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ if (NBL_COMPILE_WITH_CUDA)
103103
endif()
104104
endif()
105105

106-
# => TODO: clean
106+
# => TODO: clean!
107107
# a little bit of globbing for headers never hurt anyone
108108
file(GLOB_RECURSE TEMP_GLOB_RES "${NBL_ROOT_PATH}/include/*.h")
109109
set(NABLA_HEADERS_PUBLIC ${NABLA_HEADERS_PUBLIC} ${TEMP_GLOB_RES})
@@ -112,6 +112,9 @@ set(NABLA_HEADERS_PUBLIC ${NABLA_HEADERS_PUBLIC} ${TEMP_GLOB_RES})
112112
file(GLOB_RECURSE TEMP_GLOB_RES "${NBL_ROOT_PATH}/src/*.h")
113113
set(NABLA_HEADERS_PUBLIC2 ${NABLA_HEADERS_PUBLIC2} ${TEMP_GLOB_RES}) # TODO: we should have moved all headers from src directory to /include, but we need it for install target
114114

115+
file(GLOB_RECURSE NABLA_HLSL_PUBLIC "${NBL_ROOT_PATH}/include/*.hlsl")
116+
list(APPEND NABLA_HEADERS_PUBLIC ${NABLA_HLSL_PUBLIC})
117+
115118
foreach(NBL_CURRENT_HEADER IN LISTS NABLA_HEADERS_PUBLIC2)
116119
cmake_path(GET NBL_CURRENT_HEADER PARENT_PATH NBL_CURRENT_HEADER_DIR)
117120
file(RELATIVE_PATH NBL_TMP_REL_DESTINATION "${NBL_ROOT_PATH}/src" ${NBL_CURRENT_HEADER_DIR})
@@ -350,6 +353,7 @@ else()
350353
)
351354
endif()
352355
add_library(Nabla::Nabla ALIAS Nabla)
356+
set_source_files_properties(${NABLA_HLSL_PUBLIC} PROPERTIES HEADER_FILE_ONLY ON)
353357

354358
# from old build config template:
355359
#
@@ -846,4 +850,29 @@ target_compile_definitions(Nabla
846850
INTERFACE NBL_CPACK_PACKAGE_DXC_DLL_DIR_ABS_KEY="${_NBL_DXC_PACKAGE_RUNTIME_DLL_DIR_PATH_}"
847851
)
848852

849-
NBL_ADJUST_FOLDERS(src)
853+
NBL_ADJUST_FOLDERS(src)
854+
function(EXTRACT_BY_REGEX OUT REGEX)
855+
set(tmp "${ARGN}")
856+
list(FILTER tmp INCLUDE REGEX "${REGEX}")
857+
set(${OUT} "${tmp}" PARENT_SCOPE)
858+
endfunction()
859+
860+
get_target_property(SRC Nabla SOURCES)
861+
EXTRACT_BY_REGEX(NABLA_HLSL_FILES ".*\\.hlsl$" ${SRC})
862+
EXTRACT_BY_REGEX(NABLA_HEADER_FILES ".*\\.(h|hpp|tcc)$" ${SRC})
863+
EXTRACT_BY_REGEX(NABLA_SOURCE_FILES ".*\\.(c|cpp)$" ${SRC})
864+
865+
source_group(TREE "${NBL_ROOT_PATH}"
866+
PREFIX "HLSL Files"
867+
FILES ${NABLA_HLSL_FILES}
868+
)
869+
870+
source_group(TREE "${NBL_ROOT_PATH}"
871+
PREFIX "Header Files"
872+
FILES ${NABLA_HEADER_FILES}
873+
)
874+
875+
source_group(TREE "${NBL_ROOT_PATH}"
876+
PREFIX "Source Files"
877+
FILES ${NABLA_SOURCE_FILES}
878+
)

0 commit comments

Comments
 (0)