Skip to content

Commit 258a214

Browse files
authored
Falcor 6.0-preview
1 parent 5869ac6 commit 258a214

File tree

790 files changed

+42744
-31839
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

790 files changed

+42744
-31839
lines changed

.clang-format-ignore

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,10 @@
1-
Source/Falcor/RenderGraph
21
Source/Falcor/Rendering
3-
Source/Falcor/RenderPasses
42
Source/Falcor/Scene
5-
Source/Falcor/Utils
63
Source/Mogwai
74
Source/plugins/importers/USDImporter
85
Source/RenderPasses
96

107
# Explicitly whitelisted files
11-
!Source/Falcor/Utils/PathResolving.cpp
12-
!Source/Falcor/Utils/PathResolving.h
13-
!Source/Falcor/Utils/Settings.cpp
14-
!Source/Falcor/Utils/Settings.h
15-
!Source/Falcor/Utils/StringFormatters.h
16-
!Source/Falcor/Utils/Math/Rectangle.cpp
17-
!Source/Falcor/Utils/Math/Rectangle.h
18-
!Source/Falcor/Utils/Algorithm/UnionFind.h
198
!Source/Falcor/Rendering/Materials/BSDFs
209
!Source/RenderPasses/DLSSPass/
2110

.github/workflows/compile.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66

77
env:
88
CMAKE_EXE: tools\.packman\cmake\bin\cmake.exe
9-
CMAKE_BUILD_PRESET: windows-ninja-msvc
9+
CMAKE_BUILD_PRESET: windows-ninja-msvc-ci
1010
CMAKE_BUILD_CONFIG: Release
1111

1212
jobs:
@@ -26,7 +26,7 @@ jobs:
2626
with:
2727
arch: x64
2828
sdk: 10.0.19041.0
29-
toolset: 14.29
29+
toolset: 14.30
3030
- name: Build
3131
run: |
3232
%CMAKE_EXE% --preset %CMAKE_BUILD_PRESET%

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
# Test output folder.
55
/tests/data/
66

7-
# Media folder.
7+
# Media folders.
88
/media
9+
/media_internal
910

1011
# Packman folders.
1112
/external/packman/

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@
1313
[submodule "external/imgui"]
1414
path = external/imgui
1515
url = https://github.com/ocornut/imgui.git
16-
[submodule "external/glm"]
17-
path = external/glm
18-
url = https://github.com/g-truc/glm.git
1916
[submodule "external/vulkan-headers"]
2017
path = external/vulkan-headers
2118
url = https://github.com/KhronosGroup/Vulkan-Headers

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,12 @@ include(git_version)
104104
git_version_setup()
105105

106106
# On Linux, we build with RPATH set to $ORIGIN to make build relocatable.
107+
# Also, we link with precompiled libraries that are compiled with _GLIBCXX_USE_CXX11_ABI=0,
108+
# so we need to compile with the same flag to avoid ABI incompatibilities.
107109
if(FALCOR_LINUX)
108110
set(CMAKE_INSTALL_RPATH $ORIGIN)
109111
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
112+
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0)
110113
endif()
111114

112115

@@ -137,7 +140,7 @@ endif()
137140
# -----------------------------------------------------------------------------
138141

139142
if(FALCOR_USE_SYSTEM_PYTHON)
140-
find_package(Python 3.7 EXACT COMPONENTS Interpreter Development REQUIRED)
143+
find_package(Python COMPONENTS Interpreter Development REQUIRED)
141144
else()
142145
set(Python_ROOT_DIR ${CMAKE_SOURCE_DIR}/external/packman/python)
143146
find_package(Python COMPONENTS Interpreter Development REQUIRED)
@@ -206,7 +209,6 @@ message(STATUS "FALCOR_HAS_NRD: ${FALCOR_HAS_NRD}")
206209
message(STATUS "FALCOR_HAS_DLSS: ${FALCOR_HAS_DLSS}")
207210
message(STATUS "FALCOR_HAS_NV_USD: ${FALCOR_HAS_NV_USD}")
208211
message(STATUS "FALCOR_HAS_MDL_SDK: ${FALCOR_HAS_MDL_SDK}")
209-
message(STATUS "FALCOR_HAS_OPENSUBDIV: ${FALCOR_HAS_OPENSUBDIV}")
210212
message(STATUS "FALCOR_ENABLE_USD: ${FALCOR_ENABLE_USD}")
211213

212214
# -----------------------------------------------------------------------------
@@ -455,6 +457,7 @@ file(GENERATE OUTPUT ${FALCOR_OUTPUT_DIRECTORY}/settings.json CONTENT "{ \"stand
455457
if(plugin_targets)
456458
add_dependencies(Mogwai ${plugin_targets})
457459
add_dependencies(FalcorPython ${plugin_targets})
460+
add_dependencies(Mogwai FalcorPython)
458461
endif()
459462

460463
# Make Mogwai the default startup project in VS.

CMakePresets.json

Lines changed: 73 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,6 @@
3333
"CMAKE_SYSTEM_VERSION": "10.0.19041.0"
3434
}
3535
},
36-
{
37-
"name": "windows-vs2019-base",
38-
"description": "Base Visual Studio 2019 configuration.",
39-
"hidden": true,
40-
"inherits": "windows-base",
41-
"generator": "Visual Studio 16 2019",
42-
"architecture": {
43-
"value": "x64",
44-
"strategy": "set"
45-
},
46-
"toolset": {
47-
"value": "host=x86",
48-
"strategy": "set"
49-
}
50-
},
51-
{
52-
"name": "windows-vs2019",
53-
"displayName": "Windows VS2019",
54-
"inherits": [
55-
"windows-vs2019-base"
56-
]
57-
},
58-
{
59-
"name": "windows-vs2019-ci",
60-
"displayName": "Windows VS2019 (CI)",
61-
"inherits": [
62-
"windows-vs2019-base",
63-
"ci"
64-
]
65-
},
6636
{
6737
"name": "windows-vs2022-base",
6838
"description": "Base Visual Studio 2022 configuration.",
@@ -99,12 +69,15 @@
9969
"hidden": true,
10070
"inherits": "windows-base",
10171
"generator": "Ninja Multi-Config",
72+
"environment": {
73+
"VCToolsVersion": "14.30"
74+
},
10275
"architecture": {
10376
"value": "x64",
10477
"strategy": "external"
10578
},
10679
"toolset": {
107-
"value": "host=x86,version=14.29",
80+
"value": "host=x86,version=14.3",
10881
"strategy": "external"
10982
},
11083
"cacheVariables": {
@@ -138,32 +111,59 @@
138111
"name": "linux-base",
139112
"description": "Base Linux configuration.",
140113
"hidden": true,
141-
"inherits": "base"
114+
"inherits": "base",
115+
"generator": "Ninja Multi-Config",
116+
"cacheVariables": {
117+
"CMAKE_MAKE_PROGRAM": "${sourceDir}/tools/.packman/ninja/ninja"
118+
}
142119
},
143120
{
144-
"name": "linux-ninja-clang-base",
121+
"name": "linux-clang-base",
145122
"description": "Base Linux/Clang configuration.",
146123
"hidden": true,
147124
"inherits": "linux-base",
148-
"generator": "Ninja Multi-Config",
149125
"cacheVariables": {
150-
"CMAKE_MAKE_PROGRAM": "${sourceDir}/tools/.packman/ninja/ninja",
151126
"CMAKE_C_COMPILER": "clang",
152127
"CMAKE_CXX_COMPILER": "clang++"
153128
}
154129
},
155130
{
156-
"name": "linux-ninja-clang",
157-
"displayName": "Linux Ninja/Clang",
131+
"name": "linux-clang",
132+
"displayName": "Linux/Clang",
133+
"inherits": [
134+
"linux-clang-base"
135+
]
136+
},
137+
{
138+
"name": "linux-clang-ci",
139+
"displayName": "Linux/Clang (CI)",
140+
"inherits": [
141+
"linux-clang-base",
142+
"ci"
143+
]
144+
},
145+
{
146+
"name": "linux-gcc-base",
147+
"description": "Base Linux/GCC configuration.",
148+
"hidden": true,
149+
"inherits": "linux-base",
150+
"cacheVariables": {
151+
"CMAKE_C_COMPILER": "gcc",
152+
"CMAKE_CXX_COMPILER": "g++"
153+
}
154+
},
155+
{
156+
"name": "linux-gcc",
157+
"displayName": "Linux/GCC",
158158
"inherits": [
159-
"linux-ninja-clang-base"
159+
"linux-gcc-base"
160160
]
161161
},
162162
{
163-
"name": "linux-ninja-clang-ci",
164-
"displayName": "Linux Ninja/Clang (CI)",
163+
"name": "linux-gcc-ci",
164+
"displayName": "Linux/GCC (CI)",
165165
"inherits": [
166-
"linux-ninja-clang-base",
166+
"linux-gcc-base",
167167
"ci"
168168
]
169169
}
@@ -194,27 +194,51 @@
194194
"configuration": "Debug"
195195
},
196196
{
197-
"name": "linux-ninja-clang-release",
197+
"name": "linux-clang-release",
198+
"displayName": "Release",
199+
"configurePreset": "linux-clang",
200+
"configuration": "Release"
201+
},
202+
{
203+
"name": "linux-clang-debug",
204+
"displayName": "Debug",
205+
"configurePreset": "linux-clang",
206+
"configuration": "Debug"
207+
},
208+
{
209+
"name": "linux-clang-ci-release",
210+
"displayName": "Release",
211+
"configurePreset": "linux-clang-ci",
212+
"configuration": "Release"
213+
},
214+
{
215+
"name": "linux-clang-ci-debug",
216+
"displayName": "Debug",
217+
"configurePreset": "linux-clang-ci",
218+
"configuration": "Debug"
219+
},
220+
{
221+
"name": "linux-gcc-release",
198222
"displayName": "Release",
199-
"configurePreset": "linux-ninja-clang",
223+
"configurePreset": "linux-gcc",
200224
"configuration": "Release"
201225
},
202226
{
203-
"name": "linux-ninja-clang-debug",
227+
"name": "linux-gcc-debug",
204228
"displayName": "Debug",
205-
"configurePreset": "linux-ninja-clang",
229+
"configurePreset": "linux-gcc",
206230
"configuration": "Debug"
207231
},
208232
{
209-
"name": "linux-ninja-clang-ci-release",
233+
"name": "linux-gcc-ci-release",
210234
"displayName": "Release",
211-
"configurePreset": "linux-ninja-clang-ci",
235+
"configurePreset": "linux-gcc-ci",
212236
"configuration": "Release"
213237
},
214238
{
215-
"name": "linux-ninja-clang-ci-debug",
239+
"name": "linux-gcc-ci-debug",
216240
"displayName": "Debug",
217-
"configurePreset": "linux-ninja-clang-ci",
241+
"configurePreset": "linux-gcc-ci",
218242
"configuration": "Debug"
219243
}
220244
]

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Optional:
3030
Falcor uses the [CMake](https://cmake.org) build system. Additional information on how to use Falcor with CMake is available in the [CMake](docs/development/cmake.md) development documetation page.
3131

3232
### Visual Studio
33-
If you are working with Visual Studio, you can setup a native Visual Studio solution by running `setup_vs2019.bat` (or `setup_vs2022.bat`, same process) after cloning this repository. The solution files are written to `build/windows-vs2019` and the binary output is located in `build/windows-vs2019/bin`.
33+
If you are working with Visual Studio 2022, you can setup a native Visual Studio solution by running `setup_vs2022.bat` after cloning this repository. The solution files are written to `build/windows-vs2022` and the binary output is located in `build/windows-vs2022/bin`.
3434

3535

3636
### Visual Studio Code
@@ -45,10 +45,10 @@ Falcor uses _CMake Presets_ store in `CMakePresets.json` to provide a set of com
4545
$ cmake --list-presets
4646
Available configure presets:
4747
48-
"windows-vs2019" - Windows VS2019
4948
"windows-vs2022" - Windows VS2022
5049
"windows-ninja-msvc" - Windows Ninja/MSVC
51-
"linux-ninja-clang" - Linux Ninja/Clang
50+
"linux-clang" - Linux Ninja/Clang
51+
"linux-gcc" - Linux Ninja/GCC
5252
```
5353

5454
Use `cmake --preset <preset name>` to generate the build tree for a given preset. The build tree is written to the `build/<preset name>` folder and the binary output files are in `build/<preset name>/bin`.

0 commit comments

Comments
 (0)