diff --git a/3rdparty/assimp/.gitattributes b/3rdparty/assimp/.gitattributes
deleted file mode 100644
index f3df90d38..000000000
--- a/3rdparty/assimp/.gitattributes
+++ /dev/null
@@ -1,22 +0,0 @@
-# Declare files that will always have LF line endings on checkout.
-*.cpp text eol=lf
-*.h text eol=lf
-*.c text eol=lf
-*.cc text eol=lf
-*.cpp text eol=lf
-*.rc text eol=lf
-*.hpp text eol=lf
-*.txt text eol=lf
-*.cmake text eol=lf
-*.sh text eol=lf
-CHANGES text eol=lf
-CREDITS text eol=lf
-LICENSE text eol=lf
-Readme.md text eol=lf
-# make sure that repo-specific settings (.gitignore, CI-setup,...)
-# are excluded from the source-package generated via 'git archive'
-.git* export-ignore
-/.travis* export-ignore
-/.coveralls* export-ignore
-appveyor.yml export-ignore
-
diff --git a/3rdparty/assimp/.github/FUNDING.yml b/3rdparty/assimp/.github/FUNDING.yml
deleted file mode 100644
index 3f820ec7d..000000000
--- a/3rdparty/assimp/.github/FUNDING.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-open_collective: assimp
-patreon: assimp
diff --git a/3rdparty/assimp/.github/ISSUE_TEMPLATE/bug_report.md b/3rdparty/assimp/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 0f9a5f105..000000000
--- a/3rdparty/assimp/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: 'Bug:'
-labels: 'Bug'
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Platform (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/3rdparty/assimp/.github/ISSUE_TEMPLATE/feature_request.md b/3rdparty/assimp/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 87302a0f0..000000000
--- a/3rdparty/assimp/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: 'Feature-Request'
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/3rdparty/assimp/.github/ISSUE_TEMPLATE/tech_debt.md b/3rdparty/assimp/.github/ISSUE_TEMPLATE/tech_debt.md
deleted file mode 100644
index a1172d932..000000000
--- a/3rdparty/assimp/.github/ISSUE_TEMPLATE/tech_debt.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-name: Technical debt
-about: Create a report to help us to fix and detect tech debts
-title: ''
-labels: 'Techdebt'
-assignees: ''
-
----
-
-**Describe the technical debt**
-A clear and concise description of what the tech debt is about.
-
-**Better solution**
-A clear and concise description of what you would expect.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Desktop (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/3rdparty/assimp/.github/dependabot.yml b/3rdparty/assimp/.github/dependabot.yml
deleted file mode 100644
index ee9898a61..000000000
--- a/3rdparty/assimp/.github/dependabot.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: 2
-updates:
-- package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "weekly"
- - package-ecosystem: "gitsubmodule"
- directory: "/" # the .gitmodules file must be placed at the top-level directory of a git working tree
- schedule:
- interval: "weekly"
- open-pull-requests-limit: 15 # Assimp has 15 dependencies
diff --git a/3rdparty/assimp/.github/workflows/ccpp.yml b/3rdparty/assimp/.github/workflows/ccpp.yml
deleted file mode 100644
index 2c5ca438b..000000000
--- a/3rdparty/assimp/.github/workflows/ccpp.yml
+++ /dev/null
@@ -1,128 +0,0 @@
-name: C/C++ CI
-
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-permissions:
- contents: read # to fetch code (actions/checkout)
-
-jobs:
- job:
- name: ${{ matrix.name }}-build-and-test
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- name: [ubuntu-latest-g++, macos-latest-clang++, windows-latest-cl.exe, ubuntu-latest-clang++, ubuntu-gcc-hunter, macos-clang-hunter, windows-msvc-hunter]
- # For Windows msvc, for Linux and macOS let's use the clang compiler, use gcc for Linux.
- include:
- - name: windows-latest-cl.exe
- os: windows-latest
- cxx: cl.exe
- cc: cl.exe
- - name: ubuntu-latest-clang++
- os: ubuntu-latest
- cxx: clang++
- cc: clang
- - name: macos-latest-clang++
- os: macos-latest
- cxx: clang++
- cc: clang
- - name: ubuntu-latest-g++
- os: ubuntu-latest
- cxx: g++
- cc: gcc
- - name: ubuntu-gcc-hunter
- os: ubuntu-latest
- toolchain: ninja-gcc-cxx17-fpic
- - name: macos-clang-hunter
- os: macos-latest
- toolchain: ninja-clang-cxx17-fpic
- - name: windows-msvc-hunter
- os: windows-latest
- toolchain: ninja-vs-win64-cxx17
-
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: true
-
- - uses: lukka/get-cmake@latest
-
- - uses: ilammy/msvc-dev-cmd@v1
-
- - name: Set Compiler Environment
- if: "!endsWith(matrix.name, 'hunter')"
- uses: lukka/set-shell-env@v1
- with:
- CXX: ${{ matrix.cxx }}
- CC: ${{ matrix.cc }}
-
- - name: Set Compiler Environment for Hunter on Windows
- if: startsWith(matrix.name, 'windows') && endsWith(matrix.name, 'hunter')
- uses: lukka/set-shell-env@v1
- with:
- VS160COMNTOOLS: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools
-
- - name: Checkout Hunter toolchains
- if: endsWith(matrix.name, 'hunter')
- uses: actions/checkout@v4
- with:
- repository: cpp-pm/polly
- path: cmake/polly
-
- - name: Cache DX SDK
- id: dxcache
- if: contains(matrix.name, 'windows')
- uses: actions/cache@v3
- with:
- path: '${{ github.workspace }}/DX_SDK'
- key: ${{ runner.os }}-DX_SDK
- restore-keys: |
- ${{ runner.os }}-DX_SDK
-
- - name: Download DXSetup
- if: contains(matrix.name, 'windows') && steps.dxcache.outputs.cache-hit != 'true'
- run: |
- curl -s -o DXSDK_Jun10.exe --location https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe
- cmd.exe /c start /wait .\DXSDK_Jun10.exe /U /O /F /S /P "${{ github.workspace }}\DX_SDK"
-
- - name: Set Windows specific CMake arguments
- if: contains(matrix.name, 'windows')
- id: windows_extra_cmake_args
- run: echo "::set-output name=args::-DASSIMP_BUILD_ASSIMP_TOOLS=1 -DASSIMP_BUILD_ASSIMP_VIEW=1 -DASSIMP_BUILD_ZLIB=1"
-
- - name: Set Hunter specific CMake arguments
- if: contains(matrix.name, 'hunter')
- id: hunter_extra_cmake_args
- run: echo "::set-output name=args::-DBUILD_SHARED_LIBS=OFF -DASSIMP_HUNTER_ENABLED=ON -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/cmake/polly/${{ matrix.toolchain }}.cmake"
-
- - name: configure and build
- uses: lukka/run-cmake@v3
- env:
- DXSDK_DIR: '${{ github.workspace }}/DX_SDK'
-
- with:
- cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
- cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
- cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Release ${{ steps.windows_extra_cmake_args.outputs.args }} ${{ steps.hunter_extra_cmake_args.outputs.args }}'
- buildWithCMakeArgs: '--parallel 24 -v'
- buildDirectory: '${{ github.workspace }}/build/'
-
- - name: Exclude certain tests in Hunter specific builds
- if: contains(matrix.name, 'hunter')
- id: hunter_extra_test_args
- run: echo "::set-output name=args::--gtest_filter=-utOpenGEXImportExport.Importissue1340_EmptyCameraObject:utColladaZaeImportExport.importBlenFromFileTest"
-
- - name: test
- run: cd build/bin && ./unit ${{ steps.hunter_extra_test_args.outputs.args }}
- shell: bash
-
- - uses: actions/upload-artifact@v3
- if: matrix.name == 'windows-msvc'
- with:
- name: 'assimp-bins-${{ matrix.name }}-${{ github.sha }}'
- path: build/bin
diff --git a/3rdparty/assimp/.github/workflows/cifuzz.yml b/3rdparty/assimp/.github/workflows/cifuzz.yml
deleted file mode 100644
index a84be8cbc..000000000
--- a/3rdparty/assimp/.github/workflows/cifuzz.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: CIFuzz
-on: [pull_request]
-jobs:
- Fuzzing:
- runs-on: ubuntu-latest
- steps:
- - name: Build Fuzzers
- id: build
- uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
- with:
- oss-fuzz-project-name: 'assimp'
- dry-run: false
- language: c++
- - name: Run Fuzzers
- uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
- with:
- oss-fuzz-project-name: 'assimp'
- fuzz-seconds: 300
- dry-run: false
- language: c++
- - name: Upload Crash
- uses: actions/upload-artifact@v3
- if: failure() && steps.build.outcome == 'success'
- with:
- name: artifacts
- path: ./out/artifacts
diff --git a/3rdparty/assimp/.github/workflows/sanitizer.yml b/3rdparty/assimp/.github/workflows/sanitizer.yml
deleted file mode 100644
index 6a8e2336f..000000000
--- a/3rdparty/assimp/.github/workflows/sanitizer.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-name: C/C++ Sanitizer
-
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-permissions:
- contents: read # to fetch code (actions/checkout)
-
-jobs:
- job1:
- name: adress-sanitizer
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: lukka/get-cmake@latest
- - uses: lukka/set-shell-env@v1
- with:
- CXX: clang++
- CC: clang
-
- - name: configure and build
- uses: lukka/run-cmake@v3
- with:
- cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
- cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
- cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Debug -DASSIMP_ASAN=ON'
- buildWithCMakeArgs: '-- -v'
- buildDirectory: '${{ github.workspace }}/build/'
-
- - name: test
- run: cd build/bin && ./unit
- shell: bash
-
- job2:
- name: undefined-behavior-sanitizer
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: lukka/get-cmake@latest
- - uses: lukka/set-shell-env@v1
- with:
- CXX: clang++
- CC: clang
-
- - name: configure and build
- uses: lukka/run-cmake@v3
- with:
- cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
- cmakeListsTxtPath: '${{ github.workspace }}/CMakeLists.txt'
- cmakeAppendedArgs: '-GNinja -DCMAKE_BUILD_TYPE=Debug -DASSIMP_UBSAN=ON'
- buildWithCMakeArgs: '-- -v'
- buildDirectory: '${{ github.workspace }}/build/'
-
- - name: test
- run: cd build/bin && ./unit
- shell: bash
-
- job3:
- name: printf-sanitizer
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - name: run scan_printf script
- run: ./scripts/scan_printf.sh
- shell: bash
diff --git a/3rdparty/assimp/.gitignore b/3rdparty/assimp/.gitignore
deleted file mode 100644
index 09d631ee8..000000000
--- a/3rdparty/assimp/.gitignore
+++ /dev/null
@@ -1,122 +0,0 @@
-.idea
-build
-.project
-*.kdev4*
-.DS_Store
-
-# build artefacts
-*.o
-*.a
-
-# Visual Studio
-*.sln
-*.ncb
-*.vcproj
-*.vcxproj.user
-*.VC.db
-*.VC.db-shm
-*.VC.db-wal
-*.VC.opendb
-*.ipch
-.vs/
-out/
-CMakeSettings.json
-
-# Output
-bin/
-lib/
-x64/
-# QtCreator
-CMakeLists.txt.user
-
-# Generated
-assimp.pc
-assimp.aps
-revision.h
-contrib/zlib/zconf.h
-contrib/zlib/zlib.pc
-include/assimp/config.h
-unit.vcxproj.user
-
-# CMake
-CMakeCache.txt
-CMakeFiles
-cmake_install.cmake
-cmake_uninstall.cmake
-*.dir/
-assimp-config.cmake
-assimp-config-version.cmake
-assimpTargets*.cmake
-
-# MakeFile
-Makefile
-code/Makefile
-test/Makefile
-test/headercheck/Makefile
-tools/assimp_cmd/Makefile
-
-# Tests
-test/results
-test/readlinetest*
-
-# Python
-__pycache__
-*.log
-*.vcxproj
-*.filters
-*.tlog
-Assimp.sdf
-test/gtest/tmp/gtest-gitupdate.cmake
-test/gtest/tmp/gtest-gitclone.cmake
-test/gtest/tmp/gtest-cfgcmd.txt.in
-test/gtest/tmp/gtest-cfgcmd.txt
-test/gtest/src/gtest-stamp/gtest-download.cmake
-test/gtest/src/gtest-stamp/gtest-configure.cmake
-test/gtest/src/gtest-stamp/gtest-build.cmake
-test/gtest/src/gtest-stamp/Debug/gtest-patch
-*.cache
-test/gtest/src/gtest-stamp/Debug/gtest-build
-*.suo
-*.lib
-test/gtest/src/gtest-stamp/Debug/
-tools/assimp_view/assimp_viewer.vcxproj.user
-*.pyc
-
-### Rust ###
-# Generated by Cargo; will have compiled files and executables
-port/assimp_rs/target/
-# Backup files generated by rustfmt
-port/assimp_rs/**/*.rs.bk
-
-# Unix editor backups
-*~
-test/gtest/src/gtest-stamp/gtest-gitinfo.txt
-test/gtest/src/gtest-stamp/gtest-gitclone-lastrun.txt
-Assimp.opensdf
-contrib/zlib/CTestTestfile.cmake
-contrib/zlib/Debug/zlibstaticd.pdb
-ipch/assimp_viewer-44bbbcd1/assimp_viewerd-ccc45335.ipch
-bin64/assimp-vc140-mt.dll
-bin64/assimp-vc140-mtd.dll
-lib64/assimp-vc140-mt.exp
-lib64/assimp-vc140-mtd.exp
-lib64/assimp-vc140-mtd.ilk
-lib64/assimp-vc140-mtd.pdb
-bin64/assimp-vc120-mt.dll
-bin64/assimp-vc120-mtd.dll
-lib64/assimp-vc120-mtd.pdb
-lib64/assimp-vc120-mtd.ilk
-lib64/assimp-vc120-mtd.exp
-lib64/assimp-vc120-mt.exp
-xcuserdata
-
-cmake-build-debug
-install_manifest.txt
-tools/assimp_qt_viewer/moc_glview.cpp
-tools/assimp_qt_viewer/moc_glview.cpp_parameters
-tools/assimp_qt_viewer/moc_mainwindow.cpp
-tools/assimp_qt_viewer/moc_mainwindow.cpp_parameters
-tools/assimp_qt_viewer/ui_mainwindow.h
-
-#Generated directory
-generated/*
diff --git a/3rdparty/assimp/CMakeLists.txt b/3rdparty/assimp/CMakeLists.txt
index 88f69174a..75b160c6f 100644
--- a/3rdparty/assimp/CMakeLists.txt
+++ b/3rdparty/assimp/CMakeLists.txt
@@ -258,7 +258,7 @@ IF( UNIX )
ENDIF()
# Grouped compiler settings ########################################
-IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT MINGW AND NOT HAIKU)
+IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT MINGW)
IF(NOT ASSIMP_HUNTER_ENABLED)
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
ENDIF()
diff --git a/3rdparty/assimp/Readme.md b/3rdparty/assimp/Readme.md
index a740be772..9a8ac7c33 100644
--- a/3rdparty/assimp/Readme.md
+++ b/3rdparty/assimp/Readme.md
@@ -6,14 +6,20 @@ Open Asset Import Library is a library to load various 3d file formats into a sh
### Current project status ###
[![Financial Contributors on Open Collective](https://opencollective.com/assimp/all/badge.svg?label=financial+contributors)](https://opencollective.com/assimp)
![C/C++ CI](https://github.com/assimp/assimp/workflows/C/C++%20CI/badge.svg)
+
+
+
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9973693b7bdd4543b07084d5d9cf4745)](https://www.codacy.com/gh/assimp/assimp/dashboard?utm_source=github.com&utm_medium=referral&utm_content=assimp/assimp&utm_campaign=Badge_Grade)
+
+[![Coverage Status](https://coveralls.io/repos/github/assimp/assimp/badge.svg?branch=master)](https://coveralls.io/github/assimp/assimp?branch=master)
[![Join the chat at https://gitter.im/assimp/assimp](https://badges.gitter.im/assimp/assimp.svg)](https://gitter.im/assimp/assimp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/assimp/assimp.svg)](http://isitmaintained.com/project/assimp/assimp "Average time to resolve an issue")
[![Percentage of issues still open](http://isitmaintained.com/badge/open/assimp/assimp.svg)](http://isitmaintained.com/project/assimp/assimp "Percentage of issues still open")
APIs are provided for C and C++. There are various bindings to other languages (C#, Java, Python, Delphi, D). Assimp also runs on Android and iOS.
-Additionally, assimp features various __mesh post-processing tools__: normals and tangent space generation, triangulation, vertex cache locality optimization, removal of degenerate primitives and duplicate vertices, sorting by primitive type, merging of redundant materials and many more.
+Additionally, assimp features various __mesh post processing tools__: normals and tangent space generation, triangulation, vertex cache locality optimization, removal of degenerate primitives and duplicate vertices, sorting by primitive type, merging of redundant materials and many more.
### Latest Doc's ###
Please check the latest documents at [Asset-Importer-Lib-Doc](https://assimp-docs.readthedocs.io/en/latest/).
@@ -52,21 +58,20 @@ Take a look into the https://github.com/assimp/assimp/blob/master/Build.md file.
### Other tools ###
[open3mod](https://github.com/acgessler/open3mod) is a powerful 3D model viewer based on Assimp's import and export abilities.
-[Assimp-Viewer(]https://github.com/assimp/assimp_view) is an experimental implementation for an Asset-Viewer based on ImGUI and Assimp (experimental).
#### Repository structure ####
-Open Asset Import Library is implemented in C++. The directory structure looks like this:
+Open Asset Import Library is implemented in C++. The directory structure looks like:
/code Source code
/contrib Third-party libraries
/doc Documentation (doxysource and pre-compiled docs)
- /fuzz Contains the test code for the Google Fuzzer project
+ /fuzz Contains the test-code for the Google-Fuzzer project
/include Public header C and C++ header files
- /scripts Scripts are used to generate the loading code for some formats
+ /scripts Scripts used to generate the loading code for some formats
/port Ports to other languages and scripts to maintain those.
/test Unit- and regression tests, test suite of models
/tools Tools (old assimp viewer, command line `assimp`)
- /samples A small number of samples to illustrate possible use cases for Assimp
+ /samples A small number of samples to illustrate possible use-cases for Assimp
The source code is organized in the following way:
@@ -74,9 +79,9 @@ The source code is organized in the following way:
code/CApi Special implementations which are only used for the C-API
code/Geometry A collection of geometry tools
code/Material The material system
- code/PBR An exporter for physical-based models
+ code/PBR An exporter for physical based models
code/PostProcessing The post-processing steps
- code/AssetLib/ Implementation for import and export of the format
+ code/AssetLib/ Implementation for import and export for the format
### Contributing ###
Contributions to assimp are highly appreciated. The easiest way to get involved is to submit
@@ -113,4 +118,4 @@ and don't sue us if our code doesn't work. Note that, unlike LGPLed code, you ma
For the legal details, see the `LICENSE` file.
### Why this name ###
-Sorry, we're germans :-), no English native speakers ...
+Sorry, we're germans :-), no english native speakers ...
diff --git a/3rdparty/assimp/code/AssetLib/FBX/FBXExporter.cpp b/3rdparty/assimp/code/AssetLib/FBX/FBXExporter.cpp
index 9da713e5d..31bea76b5 100644
--- a/3rdparty/assimp/code/AssetLib/FBX/FBXExporter.cpp
+++ b/3rdparty/assimp/code/AssetLib/FBX/FBXExporter.cpp
@@ -1391,7 +1391,7 @@ void FBXExporter::WriteObjects ()
aiMaterial* m = mScene->mMaterials[i];
// these are used to receive material data
- ai_real f; aiColor3D c;
+ float f; aiColor3D c;
// start the node record
FBX::Node n("Material");
diff --git a/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.cpp b/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.cpp
index 8da30e28f..7d0b41c24 100644
--- a/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.cpp
+++ b/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.cpp
@@ -3,7 +3,7 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
-Copyright (c) 2006-2023, assimp team
+Copyright (c) 2006-2022, assimp team
All rights reserved.
@@ -87,7 +87,7 @@ MD5Parser::MD5Parser(char *_buffer, unsigned int _fileSize) : buffer(_buffer), b
// ------------------------------------------------------------------------------------------------
// Report error to the log stream
-AI_WONT_RETURN void MD5Parser::ReportError(const char *error, unsigned int line) {
+/*static*/ AI_WONT_RETURN void MD5Parser::ReportError(const char *error, unsigned int line) {
char szBuffer[1024];
::ai_snprintf(szBuffer, 1024, "[MD5] Line %u: %s", line, error);
throw DeadlyImportError(szBuffer);
@@ -95,7 +95,7 @@ AI_WONT_RETURN void MD5Parser::ReportError(const char *error, unsigned int line)
// ------------------------------------------------------------------------------------------------
// Report warning to the log stream
-void MD5Parser::ReportWarning(const char *warn, unsigned int line) {
+/*static*/ void MD5Parser::ReportWarning(const char *warn, unsigned int line) {
char szBuffer[1024];
::snprintf(szBuffer, sizeof(szBuffer), "[MD5] Line %u: %s", line, warn);
ASSIMP_LOG_WARN(szBuffer);
@@ -122,8 +122,8 @@ void MD5Parser::ParseHeader() {
// print the command line options to the console
// FIX: can break the log length limit, so we need to be careful
char *sz = buffer;
- while (!IsLineEnd(*buffer++));
-
+ while (!IsLineEnd(*buffer++))
+ ;
ASSIMP_LOG_INFO(std::string(sz, std::min((uintptr_t)MAX_LOG_MESSAGE_LENGTH, (uintptr_t)(buffer - sz))));
SkipSpacesAndLineEnd();
}
diff --git a/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.h b/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.h
index 9b29fbe85..ad7367e2a 100644
--- a/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.h
+++ b/3rdparty/assimp/code/AssetLib/MD5/MD5Parser.h
@@ -2,7 +2,8 @@
Open Asset Import Library (assimp)
----------------------------------------------------------------------
-Copyright (c) 2006-2023, assimp team
+Copyright (c) 2006-2022, assimp team
+
All rights reserved.
@@ -92,7 +93,7 @@ struct Section {
std::string mName;
//! For global elements: the value of the element as string
- //! if !length() the section is not a global element
+ //! Iif !length() the section is not a global element
std::string mGlobalValue;
};
@@ -184,7 +185,7 @@ using FrameList = std::vector;
*/
struct VertexDesc {
VertexDesc() AI_NO_EXCEPT
- : mFirstWeight(0), mNumWeights(0) {
+ : mFirstWeight(0), mNumWeights(0) {
// empty
}
@@ -348,61 +349,62 @@ class MD5Parser {
*/
MD5Parser(char* buffer, unsigned int fileSize);
+
// -------------------------------------------------------------------
/** Report a specific error message and throw an exception
* @param error Error message to be reported
* @param line Index of the line where the error occurred
*/
- AI_WONT_RETURN static void ReportError(const char* error, unsigned int line) AI_WONT_RETURN_SUFFIX;
+ AI_WONT_RETURN static void ReportError (const char* error, unsigned int line) AI_WONT_RETURN_SUFFIX;
// -------------------------------------------------------------------
/** Report a specific warning
* @param warn Warn message to be reported
* @param line Index of the line where the error occurred
*/
- static void ReportWarning(const char* warn, unsigned int line);
+ static void ReportWarning (const char* warn, unsigned int line);
+
- // -------------------------------------------------------------------
- /** Report a specific error
- * @param error Error message to be reported
- */
AI_WONT_RETURN void ReportError (const char* error) AI_WONT_RETURN_SUFFIX;
- // -------------------------------------------------------------------
- /** Report a specific warning
- * @param error Warn message to be reported
- */
- void ReportWarning (const char* warn);
+ void ReportWarning (const char* warn) {
+ return ReportWarning(warn, lineNumber);
+ }
//! List of all sections which have been read
SectionList mSections;
private:
+ // -------------------------------------------------------------------
+ /** Parses a file section. The current file pointer must be outside
+ * of a section.
+ * @param out Receives the section data
+ * @return true if the end of the file has been reached
+ * @throws ImportErrorException if an error occurs
+ */
bool ParseSection(Section& out);
+
+ // -------------------------------------------------------------------
+ /** Parses the file header
+ * @throws ImportErrorException if an error occurs
+ */
void ParseHeader();
+
bool SkipLine(const char* in, const char** out);
bool SkipLine( );
bool SkipSpacesAndLineEnd( const char* in, const char** out);
bool SkipSpacesAndLineEnd();
bool SkipSpaces();
-private:
char* buffer;
char* bufferEnd;
unsigned int fileSize;
unsigned int lineNumber;
};
-// -------------------------------------------------------------------
-inline void MD5Parser::ReportWarning (const char* warn) {
- return ReportWarning(warn, lineNumber);
-}
-
-// -------------------------------------------------------------------
inline void MD5Parser::ReportError(const char* error) {
ReportError(error, lineNumber);
}
-
// -------------------------------------------------------------------
inline bool MD5Parser::SkipLine(const char* in, const char** out) {
++lineNumber;
@@ -416,24 +418,18 @@ inline bool MD5Parser::SkipLine( ) {
// -------------------------------------------------------------------
inline bool MD5Parser::SkipSpacesAndLineEnd( const char* in, const char** out) {
- if (in == bufferEnd) {
- *out = in;
- return false;
- }
-
- bool bHad = false, running = true;
+ bool bHad = false;
+ bool running = true;
while (running) {
if( *in == '\r' || *in == '\n') {
- // we open files in binary mode, so there could be \r\n sequences ...
+ // we open files in binary mode, so there could be \r\n sequences ...
if (!bHad) {
bHad = true;
++lineNumber;
}
- } else if (*in == '\t' || *in == ' ') {
- bHad = false;
- } else {
- break;
}
+ else if (*in == '\t' || *in == ' ')bHad = false;
+ else break;
++in;
if (in == bufferEnd) {
break;
diff --git a/3rdparty/assimp/code/AssetLib/glTF2/glTF2Exporter.cpp b/3rdparty/assimp/code/AssetLib/glTF2/glTF2Exporter.cpp
index 614ce763c..d6f778fbe 100644
--- a/3rdparty/assimp/code/AssetLib/glTF2/glTF2Exporter.cpp
+++ b/3rdparty/assimp/code/AssetLib/glTF2/glTF2Exporter.cpp
@@ -172,6 +172,22 @@ static void IdentityMatrix4(mat4 &o) {
o[15] = 1;
}
+static bool IsBoneWeightFitted(vec4 &weight) {
+ return weight[0] + weight[1] + weight[2] + weight[3] >= 1.f;
+}
+
+static int FitBoneWeight(vec4 &weight, float value) {
+ int i = 0;
+ for (; i < 4; ++i) {
+ if (weight[i] < value) {
+ weight[i] = value;
+ return i;
+ }
+ }
+
+ return -1;
+}
+
template
void SetAccessorRange(Ref acc, void *data, size_t count,
unsigned int numCompsIn, unsigned int numCompsOut) {
@@ -993,29 +1009,23 @@ Ref FindSkeletonRootJoint(Ref &skinRef) {
return parentNodeRef;
}
-struct boneIndexWeightPair {
- unsigned int indexJoint;
- float weight;
- bool operator()(boneIndexWeightPair &a, boneIndexWeightPair &b) {
- return a.weight > b.weight;
- }
-};
-
void ExportSkin(Asset &mAsset, const aiMesh *aimesh, Ref &meshRef, Ref &bufferRef, Ref &skinRef,
- std::vector &inverseBindMatricesData, bool unlimitedBonesPerVertex) {
+ std::vector &inverseBindMatricesData) {
if (aimesh->mNumBones < 1) {
return;
}
// Store the vertex joint and weight data.
const size_t NumVerts(aimesh->mNumVertices);
+ vec4 *vertexJointData = new vec4[NumVerts];
+ vec4 *vertexWeightData = new vec4[NumVerts];
int *jointsPerVertex = new int[NumVerts];
- std::vector> allVerticesPairs;
- int maxJointsPerVertex = 0;
for (size_t i = 0; i < NumVerts; ++i) {
jointsPerVertex[i] = 0;
- std::vector vertexPair;
- allVerticesPairs.push_back(vertexPair);
+ for (size_t j = 0; j < 4; ++j) {
+ vertexJointData[i][j] = 0;
+ vertexWeightData[i][j] = 0;
+ }
}
for (unsigned int idx_bone = 0; idx_bone < aimesh->mNumBones; ++idx_bone) {
@@ -1045,88 +1055,61 @@ void ExportSkin(Asset &mAsset, const aiMesh *aimesh, Ref &meshRef, Ref(inverseBindMatricesData.size() - 1);
}
- // aib->mWeights =====> temp pairs data
- for (unsigned int idx_weights = 0; idx_weights < aib->mNumWeights;
- ++idx_weights) {
+ // aib->mWeights =====> vertexWeightData
+ for (unsigned int idx_weights = 0; idx_weights < aib->mNumWeights; ++idx_weights) {
unsigned int vertexId = aib->mWeights[idx_weights].mVertexId;
float vertWeight = aib->mWeights[idx_weights].mWeight;
- allVerticesPairs[vertexId].push_back({jointNamesIndex, vertWeight});
- jointsPerVertex[vertexId] += 1;
- maxJointsPerVertex =
- std::max(maxJointsPerVertex, jointsPerVertex[vertexId]);
- }
- } // End: for-loop mNumMeshes
- if (!unlimitedBonesPerVertex){
- // skinning limited only for 4 bones per vertex, default
- maxJointsPerVertex = 4;
- }
-
- // temp pairs data =====> vertexWeightData
- size_t numGroups = (maxJointsPerVertex - 1) / 4 + 1;
- vec4 *vertexJointData = new vec4[NumVerts * numGroups];
- vec4 *vertexWeightData = new vec4[NumVerts * numGroups];
- for (size_t indexVertex = 0; indexVertex < NumVerts; ++indexVertex) {
- // order pairs by weight for each vertex
- std::sort(allVerticesPairs[indexVertex].begin(),
- allVerticesPairs[indexVertex].end(),
- boneIndexWeightPair());
- for (size_t indexGroup = 0; indexGroup < numGroups; ++indexGroup) {
- for (size_t indexJoint = 0; indexJoint < 4; ++indexJoint) {
- size_t indexBone = indexGroup * 4 + indexJoint;
- size_t indexData = indexVertex + NumVerts * indexGroup;
- if (indexBone >= allVerticesPairs[indexVertex].size()) {
- vertexJointData[indexData][indexJoint] = 0.f;
- vertexWeightData[indexData][indexJoint] = 0.f;
- } else {
- vertexJointData[indexData][indexJoint] =
- static_cast(
- allVerticesPairs[indexVertex][indexBone].indexJoint);
- vertexWeightData[indexData][indexJoint] =
- allVerticesPairs[indexVertex][indexBone].weight;
+ // A vertex can only have at most four joint weights, which ideally sum up to 1
+ if (IsBoneWeightFitted(vertexWeightData[vertexId])) {
+ continue;
+ }
+ if (jointsPerVertex[vertexId] > 3) {
+ int boneIndexFitted = FitBoneWeight(vertexWeightData[vertexId], vertWeight);
+ if (boneIndexFitted != -1) {
+ vertexJointData[vertexId][boneIndexFitted] = static_cast(jointNamesIndex);
}
+ } else {
+ vertexJointData[vertexId][jointsPerVertex[vertexId]] = static_cast(jointNamesIndex);
+ vertexWeightData[vertexId][jointsPerVertex[vertexId]] = vertWeight;
+
+ jointsPerVertex[vertexId] += 1;
}
}
- }
- for (size_t idx_group = 0; idx_group < numGroups; ++idx_group) {
- Mesh::Primitive &p = meshRef->primitives.back();
- Ref vertexJointAccessor = ExportData(
- mAsset, skinRef->id, bufferRef, aimesh->mNumVertices,
- vertexJointData + idx_group * NumVerts,
- AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
- if (vertexJointAccessor) {
- size_t offset = vertexJointAccessor->bufferView->byteOffset;
- size_t bytesLen = vertexJointAccessor->bufferView->byteLength;
- unsigned int s_bytesPerComp =
- ComponentTypeSize(ComponentType_UNSIGNED_SHORT);
- unsigned int bytesPerComp =
- ComponentTypeSize(vertexJointAccessor->componentType);
- size_t s_bytesLen = bytesLen * s_bytesPerComp / bytesPerComp;
- Ref buf = vertexJointAccessor->bufferView->buffer;
- uint8_t *arrys = new uint8_t[bytesLen];
- unsigned int i = 0;
- for (unsigned int j = 0; j < bytesLen; j += bytesPerComp) {
- size_t len_p = offset + j;
- float f_value = *(float *)&buf->GetPointer()[len_p];
- unsigned short c = static_cast(f_value);
- memcpy(&arrys[i * s_bytesPerComp], &c, s_bytesPerComp);
- ++i;
- }
- buf->ReplaceData_joint(offset, bytesLen, arrys, bytesLen);
- vertexJointAccessor->componentType = ComponentType_UNSIGNED_SHORT;
- vertexJointAccessor->bufferView->byteLength = s_bytesLen;
+ } // End: for-loop mNumMeshes
- p.attributes.joint.push_back(vertexJointAccessor);
- delete[] arrys;
- }
- Ref vertexWeightAccessor = ExportData(
- mAsset, skinRef->id, bufferRef, aimesh->mNumVertices,
- vertexWeightData + idx_group * NumVerts,
- AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
- if (vertexWeightAccessor) {
- p.attributes.weight.push_back(vertexWeightAccessor);
+ Mesh::Primitive &p = meshRef->primitives.back();
+ Ref vertexJointAccessor = ExportData(mAsset, skinRef->id, bufferRef, aimesh->mNumVertices,
+ vertexJointData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
+ if (vertexJointAccessor) {
+ size_t offset = vertexJointAccessor->bufferView->byteOffset;
+ size_t bytesLen = vertexJointAccessor->bufferView->byteLength;
+ unsigned int s_bytesPerComp = ComponentTypeSize(ComponentType_UNSIGNED_SHORT);
+ unsigned int bytesPerComp = ComponentTypeSize(vertexJointAccessor->componentType);
+ size_t s_bytesLen = bytesLen * s_bytesPerComp / bytesPerComp;
+ Ref buf = vertexJointAccessor->bufferView->buffer;
+ uint8_t *arrys = new uint8_t[bytesLen];
+ unsigned int i = 0;
+ for (unsigned int j = 0; j < bytesLen; j += bytesPerComp) {
+ size_t len_p = offset + j;
+ float f_value = *(float *)&buf->GetPointer()[len_p];
+ unsigned short c = static_cast(f_value);
+ memcpy(&arrys[i * s_bytesPerComp], &c, s_bytesPerComp);
+ ++i;
}
+ buf->ReplaceData_joint(offset, bytesLen, arrys, bytesLen);
+ vertexJointAccessor->componentType = ComponentType_UNSIGNED_SHORT;
+ vertexJointAccessor->bufferView->byteLength = s_bytesLen;
+
+ p.attributes.joint.push_back(vertexJointAccessor);
+ delete[] arrys;
+ }
+
+ Ref vertexWeightAccessor = ExportData(mAsset, skinRef->id, bufferRef, aimesh->mNumVertices,
+ vertexWeightData, AttribType::VEC4, AttribType::VEC4, ComponentType_FLOAT);
+ if (vertexWeightAccessor) {
+ p.attributes.weight.push_back(vertexWeightAccessor);
}
delete[] jointsPerVertex;
delete[] vertexWeightData;
@@ -1264,19 +1247,9 @@ void glTF2Exporter::ExportMeshes() {
break;
}
-// /*************** Skins ****************/
-// if (aim->HasBones()) {
-// ExportSkin(*mAsset, aim, m, b, skinRef, inverseBindMatricesData);
-// }
/*************** Skins ****************/
if (aim->HasBones()) {
- bool unlimitedBonesPerVertex =
- this->mProperties->HasPropertyBool(
- AI_CONFIG_EXPORT_GLTF_UNLIMITED_SKINNING_BONES_PER_VERTEX) &&
- this->mProperties->GetPropertyBool(
- AI_CONFIG_EXPORT_GLTF_UNLIMITED_SKINNING_BONES_PER_VERTEX);
- ExportSkin(*mAsset, aim, m, b, skinRef, inverseBindMatricesData,
- unlimitedBonesPerVertex);
+ ExportSkin(*mAsset, aim, m, b, skinRef, inverseBindMatricesData);
}
/*************** Targets for blendshapes ****************/
diff --git a/3rdparty/assimp/code/PostProcessing/FindInvalidDataProcess.cpp b/3rdparty/assimp/code/PostProcessing/FindInvalidDataProcess.cpp
index 64abf7589..aa91139bc 100644
--- a/3rdparty/assimp/code/PostProcessing/FindInvalidDataProcess.cpp
+++ b/3rdparty/assimp/code/PostProcessing/FindInvalidDataProcess.cpp
@@ -3,7 +3,7 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
-Copyright (c) 2006-2023, assimp team
+Copyright (c) 2006-2022, assimp team
All rights reserved.
@@ -273,8 +273,7 @@ void FindInvalidDataProcess::ProcessAnimation(aiAnimation *anim) {
void FindInvalidDataProcess::ProcessAnimationChannel(aiNodeAnim *anim) {
ai_assert(nullptr != anim);
if (anim->mNumPositionKeys == 0 && anim->mNumRotationKeys == 0 && anim->mNumScalingKeys == 0) {
- ASSIMP_LOG_ERROR("Invalid node anuimation instance detected.");
-
+ ai_assert_entry();
return;
}
diff --git a/3rdparty/assimp/code/PostProcessing/ImproveCacheLocality.cpp b/3rdparty/assimp/code/PostProcessing/ImproveCacheLocality.cpp
index d7bb95698..9336d6b17 100644
--- a/3rdparty/assimp/code/PostProcessing/ImproveCacheLocality.cpp
+++ b/3rdparty/assimp/code/PostProcessing/ImproveCacheLocality.cpp
@@ -3,7 +3,9 @@
Open Asset Import Library (assimp)
---------------------------------------------------------------------------
-Copyright (c) 2006-2023, assimp team
+Copyright (c) 2006-2022, assimp team
+
+
All rights reserved.
@@ -57,31 +59,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
#include
-namespace Assimp {
+using namespace Assimp;
// ------------------------------------------------------------------------------------------------
// Constructor to be privately used by Importer
-ImproveCacheLocalityProcess::ImproveCacheLocalityProcess() :
- mConfigCacheDepth(PP_ICL_PTCACHE_SIZE) {
+ImproveCacheLocalityProcess::ImproveCacheLocalityProcess()
+: mConfigCacheDepth(PP_ICL_PTCACHE_SIZE) {
// empty
}
// ------------------------------------------------------------------------------------------------
// Returns whether the processing step is present in the given flag field.
-bool ImproveCacheLocalityProcess::IsActive(unsigned int pFlags) const {
+bool ImproveCacheLocalityProcess::IsActive( unsigned int pFlags) const {
return (pFlags & aiProcess_ImproveCacheLocality) != 0;
}
// ------------------------------------------------------------------------------------------------
// Setup configuration
-void ImproveCacheLocalityProcess::SetupProperties(const Importer *pImp) {
+void ImproveCacheLocalityProcess::SetupProperties(const Importer* pImp) {
// AI_CONFIG_PP_ICL_PTCACHE_SIZE controls the target cache size for the optimizer
- mConfigCacheDepth = pImp->GetPropertyInteger(AI_CONFIG_PP_ICL_PTCACHE_SIZE, PP_ICL_PTCACHE_SIZE);
+ mConfigCacheDepth = pImp->GetPropertyInteger(AI_CONFIG_PP_ICL_PTCACHE_SIZE,PP_ICL_PTCACHE_SIZE);
}
// ------------------------------------------------------------------------------------------------
// Executes the post processing step on the given imported data.
-void ImproveCacheLocalityProcess::Execute(aiScene *pScene) {
+void ImproveCacheLocalityProcess::Execute( aiScene* pScene) {
if (!pScene->mNumMeshes) {
ASSIMP_LOG_DEBUG("ImproveCacheLocalityProcess skipped; there are no meshes");
return;
@@ -91,11 +93,11 @@ void ImproveCacheLocalityProcess::Execute(aiScene *pScene) {
float out = 0.f;
unsigned int numf = 0, numm = 0;
- for (unsigned int a = 0; a < pScene->mNumMeshes; ++a) {
- const float res = ProcessMesh(pScene->mMeshes[a], a);
+ for( unsigned int a = 0; a < pScene->mNumMeshes; ++a ){
+ const float res = ProcessMesh( pScene->mMeshes[a],a);
if (res) {
numf += pScene->mMeshes[a]->mNumFaces;
- out += res;
+ out += res;
++numm;
}
}
@@ -107,54 +109,9 @@ void ImproveCacheLocalityProcess::Execute(aiScene *pScene) {
}
}
-// ------------------------------------------------------------------------------------------------
-static ai_real calculateInputACMR(aiMesh *pMesh, const aiFace *const pcEnd,
- unsigned int configCacheDepth, unsigned int meshNum) {
- ai_real fACMR = 0.0f;
- unsigned int *piFIFOStack = new unsigned int[configCacheDepth];
- memset(piFIFOStack, 0xff, configCacheDepth * sizeof(unsigned int));
- unsigned int *piCur = piFIFOStack;
- const unsigned int *const piCurEnd = piFIFOStack + configCacheDepth;
-
- // count the number of cache misses
- unsigned int iCacheMisses = 0;
- for (const aiFace *pcFace = pMesh->mFaces; pcFace != pcEnd; ++pcFace) {
- for (unsigned int qq = 0; qq < 3; ++qq) {
- bool bInCache = false;
- for (unsigned int *pp = piFIFOStack; pp < piCurEnd; ++pp) {
- if (*pp == pcFace->mIndices[qq]) {
- // the vertex is in cache
- bInCache = true;
- break;
- }
- }
- if (!bInCache) {
- ++iCacheMisses;
- if (piCurEnd == piCur) {
- piCur = piFIFOStack;
- }
- *piCur++ = pcFace->mIndices[qq];
- }
- }
- }
- delete[] piFIFOStack;
- fACMR = (ai_real)iCacheMisses / pMesh->mNumFaces;
- if (3.0 == fACMR) {
- char szBuff[128]; // should be sufficiently large in every case
-
- // the JoinIdenticalVertices process has not been executed on this
- // mesh, otherwise this value would normally be at least minimally
- // smaller than 3.0 ...
- ai_snprintf(szBuff, 128, "Mesh %u: Not suitable for vcache optimization", meshNum);
- ASSIMP_LOG_WARN(szBuff);
- return static_cast(0.f);
- }
- return fACMR;
-}
-
// ------------------------------------------------------------------------------------------------
// Improves the cache coherency of a specific mesh
-ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int meshNum) {
+ai_real ImproveCacheLocalityProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshNum) {
// TODO: rewrite this to use std::vector or boost::shared_array
ai_assert(nullptr != pMesh);
@@ -169,57 +126,91 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
return static_cast(0.f);
}
- if (pMesh->mNumVertices <= mConfigCacheDepth) {
+ if(pMesh->mNumVertices <= mConfigCacheDepth) {
return static_cast(0.f);
}
ai_real fACMR = 3.f;
- const aiFace *const pcEnd = pMesh->mFaces + pMesh->mNumFaces;
+ const aiFace* const pcEnd = pMesh->mFaces+pMesh->mNumFaces;
// Input ACMR is for logging purposes only
- if (!DefaultLogger::isNullLogger()) {
- fACMR = calculateInputACMR(pMesh, pcEnd, mConfigCacheDepth, meshNum);
+ if (!DefaultLogger::isNullLogger()) {
+
+ unsigned int* piFIFOStack = new unsigned int[mConfigCacheDepth];
+ memset(piFIFOStack,0xff,mConfigCacheDepth*sizeof(unsigned int));
+ unsigned int* piCur = piFIFOStack;
+ const unsigned int* const piCurEnd = piFIFOStack + mConfigCacheDepth;
+
+ // count the number of cache misses
+ unsigned int iCacheMisses = 0;
+ for (const aiFace* pcFace = pMesh->mFaces;pcFace != pcEnd;++pcFace) {
+ for (unsigned int qq = 0; qq < 3;++qq) {
+ bool bInCache = false;
+ for (unsigned int* pp = piFIFOStack;pp < piCurEnd;++pp) {
+ if (*pp == pcFace->mIndices[qq]) {
+ // the vertex is in cache
+ bInCache = true;
+ break;
+ }
+ }
+ if (!bInCache) {
+ ++iCacheMisses;
+ if (piCurEnd == piCur) {
+ piCur = piFIFOStack;
+ }
+ *piCur++ = pcFace->mIndices[qq];
+ }
+ }
+ }
+ delete[] piFIFOStack;
+ fACMR = (ai_real) iCacheMisses / pMesh->mNumFaces;
+ if (3.0 == fACMR) {
+ char szBuff[128]; // should be sufficiently large in every case
+
+ // the JoinIdenticalVertices process has not been executed on this
+ // mesh, otherwise this value would normally be at least minimally
+ // smaller than 3.0 ...
+ ai_snprintf(szBuff,128,"Mesh %u: Not suitable for vcache optimization",meshNum);
+ ASSIMP_LOG_WARN(szBuff);
+ return static_cast(0.f);
+ }
}
// first we need to build a vertex-triangle adjacency list
- VertexTriangleAdjacency adj(pMesh->mFaces, pMesh->mNumFaces, pMesh->mNumVertices, true);
+ VertexTriangleAdjacency adj(pMesh->mFaces,pMesh->mNumFaces, pMesh->mNumVertices,true);
// build a list to store per-vertex caching time stamps
- std::vector piCachingStamps;
- piCachingStamps.resize(pMesh->mNumVertices);
- memset(&piCachingStamps[0], 0x0, pMesh->mNumVertices * sizeof(unsigned int));
+ unsigned int* const piCachingStamps = new unsigned int[pMesh->mNumVertices];
+ memset(piCachingStamps,0x0,pMesh->mNumVertices*sizeof(unsigned int));
// allocate an empty output index buffer. We store the output indices in one large array.
// Since the number of triangles won't change the input faces can be reused. This is how
// we save thousands of redundant mini allocations for aiFace::mIndices
- const unsigned int iIdxCnt = pMesh->mNumFaces * 3;
- std::vector piIBOutput;
- piIBOutput.resize(iIdxCnt);
- std::vector::iterator piCSIter = piIBOutput.begin();
+ const unsigned int iIdxCnt = pMesh->mNumFaces*3;
+ unsigned int* const piIBOutput = new unsigned int[iIdxCnt];
+ unsigned int* piCSIter = piIBOutput;
// allocate the flag array to hold the information
// whether a face has already been emitted or not
- std::vector abEmitted(pMesh->mNumFaces, false);
+ std::vector abEmitted(pMesh->mNumFaces,false);
// dead-end vertex index stack
- std::stack> sDeadEndVStack;
+ std::stack > sDeadEndVStack;
// create a copy of the piNumTriPtr buffer
- unsigned int *const piNumTriPtr = adj.mLiveTriangles;
+ unsigned int* const piNumTriPtr = adj.mLiveTriangles;
const std::vector piNumTriPtrNoModify(piNumTriPtr, piNumTriPtr + pMesh->mNumVertices);
// get the largest number of referenced triangles and allocate the "candidate buffer"
- unsigned int iMaxRefTris = 0;
- {
- const unsigned int *piCur = adj.mLiveTriangles;
- const unsigned int *const piCurEnd = adj.mLiveTriangles + pMesh->mNumVertices;
- for (; piCur != piCurEnd; ++piCur) {
- iMaxRefTris = std::max(iMaxRefTris, *piCur);
+ unsigned int iMaxRefTris = 0; {
+ const unsigned int* piCur = adj.mLiveTriangles;
+ const unsigned int* const piCurEnd = adj.mLiveTriangles+pMesh->mNumVertices;
+ for (;piCur != piCurEnd;++piCur) {
+ iMaxRefTris = std::max(iMaxRefTris,*piCur);
}
}
ai_assert(iMaxRefTris > 0);
- std::vector piCandidates;
- piCandidates.resize(iMaxRefTris * 3);
+ unsigned int* piCandidates = new unsigned int[iMaxRefTris*3];
unsigned int iCacheMisses = 0;
// ...................................................................................
@@ -254,23 +245,23 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
int ivdx = 0;
int ics = 1;
- int iStampCnt = mConfigCacheDepth + 1;
- while (ivdx >= 0) {
+ int iStampCnt = mConfigCacheDepth+1;
+ while (ivdx >= 0) {
unsigned int icnt = piNumTriPtrNoModify[ivdx];
- unsigned int *piList = adj.GetAdjacentTriangles(ivdx);
- std::vector::iterator piCurCandidate = piCandidates.begin();
+ unsigned int* piList = adj.GetAdjacentTriangles(ivdx);
+ unsigned int* piCurCandidate = piCandidates;
// get all triangles in the neighborhood
- for (unsigned int tri = 0; tri < icnt; ++tri) {
+ for (unsigned int tri = 0; tri < icnt;++tri) {
// if they have not yet been emitted, add them to the output IB
const unsigned int fidx = *piList++;
- if (!abEmitted[fidx]) {
+ if (!abEmitted[fidx]) {
// so iterate through all vertices of the current triangle
- const aiFace *pcFace = &pMesh->mFaces[fidx];
- const unsigned nind = pcFace->mNumIndices;
+ const aiFace* pcFace = &pMesh->mFaces[ fidx ];
+ unsigned nind = pcFace->mNumIndices;
for (unsigned ind = 0; ind < nind; ind++) {
unsigned dp = pcFace->mIndices[ind];
@@ -290,7 +281,7 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
*piCSIter++ = dp;
// if the vertex is not yet in cache, set its cache count
- if (iStampCnt - piCachingStamps[dp] > mConfigCacheDepth) {
+ if (iStampCnt-piCachingStamps[dp] > mConfigCacheDepth) {
piCachingStamps[dp] = iStampCnt++;
++iCacheMisses;
}
@@ -306,16 +297,16 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
// get next fanning vertex
ivdx = -1;
int max_priority = -1;
- for (std::vector::iterator piCur = piCandidates.begin(); piCur != piCurCandidate; ++piCur) {
+ for (unsigned int* piCur = piCandidates;piCur != piCurCandidate;++piCur) {
const unsigned int dp = *piCur;
// must have live triangles
- if (piNumTriPtr[dp] > 0) {
+ if (piNumTriPtr[dp] > 0) {
int priority = 0;
// will the vertex be in cache, even after fanning occurs?
unsigned int tmp;
- if ((tmp = iStampCnt - piCachingStamps[dp]) + 2 * piNumTriPtr[dp] <= mConfigCacheDepth) {
+ if ((tmp = iStampCnt-piCachingStamps[dp]) + 2*piNumTriPtr[dp] <= mConfigCacheDepth) {
priority = tmp;
}
@@ -333,7 +324,7 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
while (!sDeadEndVStack.empty()) {
unsigned int iCachedIdx = sDeadEndVStack.top();
sDeadEndVStack.pop();
- if (piNumTriPtr[iCachedIdx] > 0) {
+ if (piNumTriPtr[ iCachedIdx ] > 0) {
ivdx = iCachedIdx;
break;
}
@@ -342,9 +333,9 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
if (-1 == ivdx) {
// well, there isn't such a vertex. Simply get the next vertex in input order and
// hope it is not too bad ...
- while (ics < (int)pMesh->mNumVertices) {
+ while (ics < (int)pMesh->mNumVertices) {
++ics;
- if (piNumTriPtr[ics] > 0) {
+ if (piNumTriPtr[ics] > 0) {
ivdx = ics;
break;
}
@@ -354,29 +345,29 @@ ai_real ImproveCacheLocalityProcess::ProcessMesh(aiMesh *pMesh, unsigned int mes
}
ai_real fACMR2 = 0.0f;
if (!DefaultLogger::isNullLogger()) {
- fACMR2 = static_cast(iCacheMisses / pMesh->mNumFaces);
- const ai_real averageACMR = ((fACMR - fACMR2) / fACMR) * 100.f;
+ fACMR2 = (float)iCacheMisses / pMesh->mNumFaces;
+
// very intense verbose logging ... prepare for much text if there are many meshes
- if (DefaultLogger::get()->getLogSeverity() == Logger::VERBOSE) {
- ASSIMP_LOG_VERBOSE_DEBUG("Mesh ", meshNum, "| ACMR in: ", fACMR, " out: ", fACMR2, " | average ACMR ", averageACMR);
+ if ( DefaultLogger::get()->getLogSeverity() == Logger::VERBOSE) {
+ ASSIMP_LOG_VERBOSE_DEBUG("Mesh %u | ACMR in: ", meshNum, " out: ", fACMR, " | ~", fACMR2, ((fACMR - fACMR2) / fACMR) * 100.f);
}
+
fACMR2 *= pMesh->mNumFaces;
}
-
// sort the output index buffer back to the input array
- piCSIter = piIBOutput.begin();
- for (aiFace *pcFace = pMesh->mFaces; pcFace != pcEnd; ++pcFace) {
+ piCSIter = piIBOutput;
+ for (aiFace* pcFace = pMesh->mFaces; pcFace != pcEnd;++pcFace) {
unsigned nind = pcFace->mNumIndices;
- unsigned *ind = pcFace->mIndices;
- if (nind > 0)
- ind[0] = *piCSIter++;
- if (nind > 1)
- ind[1] = *piCSIter++;
- if (nind > 2)
- ind[2] = *piCSIter++;
+ unsigned * ind = pcFace->mIndices;
+ if (nind > 0) ind[0] = *piCSIter++;
+ if (nind > 1) ind[1] = *piCSIter++;
+ if (nind > 2) ind[2] = *piCSIter++;
}
+ // delete temporary storage
+ delete[] piCachingStamps;
+ delete[] piIBOutput;
+ delete[] piCandidates;
+
return fACMR2;
}
-
-} // namespace Assimp
diff --git a/3rdparty/assimp/code/PostProcessing/JoinVerticesProcess.cpp b/3rdparty/assimp/code/PostProcessing/JoinVerticesProcess.cpp
index 4de6c3e1b..d36915e0c 100644
--- a/3rdparty/assimp/code/PostProcessing/JoinVerticesProcess.cpp
+++ b/3rdparty/assimp/code/PostProcessing/JoinVerticesProcess.cpp
@@ -53,7 +53,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
#include
#include
-#include
using namespace Assimp;
@@ -146,7 +145,7 @@ bool areVerticesEqual(
}
template
-void updateXMeshVertices(XMesh *pMesh, std::vector &uniqueVertices) {
+void updateXMeshVertices(XMesh *pMesh, std::vector &uniqueVertices) {
// replace vertex data with the unique data sets
pMesh->mNumVertices = (unsigned int)uniqueVertices.size();
@@ -157,47 +156,53 @@ void updateXMeshVertices(XMesh *pMesh, std::vector &uniqueVertices) {
// ----------------------------------------------------------------------------
// Position, if present (check made for aiAnimMesh)
- if (pMesh->mVertices) {
- std::unique_ptr oldVertices(pMesh->mVertices);
+ if (pMesh->mVertices) {
+ delete [] pMesh->mVertices;
pMesh->mVertices = new aiVector3D[pMesh->mNumVertices];
- for (unsigned int a = 0; a < pMesh->mNumVertices; a++)
- pMesh->mVertices[a] = oldVertices[uniqueVertices[a]];
+ for (unsigned int a = 0; a < pMesh->mNumVertices; a++) {
+ pMesh->mVertices[a] = uniqueVertices[a].position;
+ }
}
// Normals, if present
if (pMesh->mNormals) {
- std::unique_ptr oldNormals(pMesh->mNormals);
+ delete [] pMesh->mNormals;
pMesh->mNormals = new aiVector3D[pMesh->mNumVertices];
- for (unsigned int a = 0; a < pMesh->mNumVertices; a++)
- pMesh->mNormals[a] = oldNormals[uniqueVertices[a]];
+ for( unsigned int a = 0; a < pMesh->mNumVertices; a++) {
+ pMesh->mNormals[a] = uniqueVertices[a].normal;
+ }
}
// Tangents, if present
if (pMesh->mTangents) {
- std::unique_ptr oldTangents(pMesh->mTangents);
+ delete [] pMesh->mTangents;
pMesh->mTangents = new aiVector3D[pMesh->mNumVertices];
- for (unsigned int a = 0; a < pMesh->mNumVertices; a++)
- pMesh->mTangents[a] = oldTangents[uniqueVertices[a]];
+ for (unsigned int a = 0; a < pMesh->mNumVertices; a++) {
+ pMesh->mTangents[a] = uniqueVertices[a].tangent;
+ }
}
// Bitangents as well
if (pMesh->mBitangents) {
- std::unique_ptr oldBitangents(pMesh->mBitangents);
+ delete [] pMesh->mBitangents;
pMesh->mBitangents = new aiVector3D[pMesh->mNumVertices];
- for (unsigned int a = 0; a < pMesh->mNumVertices; a++)
- pMesh->mBitangents[a] = oldBitangents[uniqueVertices[a]];
+ for (unsigned int a = 0; a < pMesh->mNumVertices; a++) {
+ pMesh->mBitangents[a] = uniqueVertices[a].bitangent;
+ }
}
// Vertex colors
for (unsigned int a = 0; pMesh->HasVertexColors(a); a++) {
- std::unique_ptr oldColors(pMesh->mColors[a]);
+ delete [] pMesh->mColors[a];
pMesh->mColors[a] = new aiColor4D[pMesh->mNumVertices];
- for (unsigned int b = 0; b < pMesh->mNumVertices; b++)
- pMesh->mColors[a][b] = oldColors[uniqueVertices[b]];
+ for( unsigned int b = 0; b < pMesh->mNumVertices; b++) {
+ pMesh->mColors[a][b] = uniqueVertices[b].colors[a];
+ }
}
// Texture coords
for (unsigned int a = 0; pMesh->HasTextureCoords(a); a++) {
- std::unique_ptr oldTextureCoords(pMesh->mTextureCoords[a]);
+ delete [] pMesh->mTextureCoords[a];
pMesh->mTextureCoords[a] = new aiVector3D[pMesh->mNumVertices];
- for (unsigned int b = 0; b < pMesh->mNumVertices; b++)
- pMesh->mTextureCoords[a][b] = oldTextureCoords[uniqueVertices[b]];
+ for (unsigned int b = 0; b < pMesh->mNumVertices; b++) {
+ pMesh->mTextureCoords[a][b] = uniqueVertices[b].texcoords[a];
+ }
}
}
@@ -265,7 +270,7 @@ int JoinVerticesProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex) {
}
// We'll never have more vertices afterwards.
- std::vector uniqueVertices;
+ std::vector uniqueVertices;
uniqueVertices.reserve( pMesh->mNumVertices);
// For each vertex the index of the vertex it was replaced by.
@@ -306,7 +311,7 @@ int JoinVerticesProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex) {
const bool hasAnimMeshes = pMesh->mNumAnimMeshes > 0;
// We'll never have more vertices afterwards.
- std::vector> uniqueAnimatedVertices;
+ std::vector> uniqueAnimatedVertices;
if (hasAnimMeshes) {
uniqueAnimatedVertices.resize(pMesh->mNumAnimMeshes);
for (unsigned int animMeshIndex = 0; animMeshIndex < pMesh->mNumAnimMeshes; animMeshIndex++) {
@@ -340,10 +345,10 @@ int JoinVerticesProcess::ProcessMesh( aiMesh* pMesh, unsigned int meshIndex) {
//keep track of its index and increment 1
replaceIndex[a] = newIndex++;
// add the vertex to the unique vertices
- uniqueVertices.push_back(a);
+ uniqueVertices.push_back(v);
if (hasAnimMeshes) {
for (unsigned int animMeshIndex = 0; animMeshIndex < pMesh->mNumAnimMeshes; animMeshIndex++) {
- uniqueAnimatedVertices[animMeshIndex].emplace_back(a);
+ uniqueAnimatedVertices[animMeshIndex].emplace_back(pMesh->mAnimMeshes[animMeshIndex], a);
}
}
} else{
diff --git a/3rdparty/assimp/contrib/draco/.gitattributes b/3rdparty/assimp/contrib/draco/.gitattributes
deleted file mode 100644
index 96acfc612..000000000
--- a/3rdparty/assimp/contrib/draco/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.obj eol=lf
\ No newline at end of file
diff --git a/3rdparty/assimp/contrib/draco/.gitignore b/3rdparty/assimp/contrib/draco/.gitignore
deleted file mode 100644
index 522866ee2..000000000
--- a/3rdparty/assimp/contrib/draco/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-docs/_site
diff --git a/3rdparty/assimp/contrib/draco/.gitmodules b/3rdparty/assimp/contrib/draco/.gitmodules
deleted file mode 100644
index 25f0a1c03..000000000
--- a/3rdparty/assimp/contrib/draco/.gitmodules
+++ /dev/null
@@ -1,12 +0,0 @@
-[submodule "third_party/googletest"]
- path = third_party/googletest
- url = https://github.com/google/googletest.git
-[submodule "third_party/eigen"]
- path = third_party/eigen
- url = https://gitlab.com/libeigen/eigen.git
-[submodule "third_party/tinygltf"]
- path = third_party/tinygltf
- url = https://github.com/syoyo/tinygltf.git
-[submodule "third_party/filesystem"]
- path = third_party/filesystem
- url = https://github.com/gulrak/filesystem
diff --git a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml b/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml
deleted file mode 100644
index 586779ad2..000000000
--- a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/00-bug_report.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-name: Bug Report
-description: Let us know that something does not work as expected.
-title: "[Bug]: Please title this bug report"
-body:
- - type: textarea
- id: what-happened
- attributes:
- label: Describe the issue
- description: What happened, and what did you expect to happen?
- validations:
- required: true
- - type: textarea
- id: steps
- attributes:
- label: Steps to reproduce the problem
- description: It is important that we are able to reproduce the problem that you are experiencing. Please provide all code and relevant steps to reproduce the problem, including your `BUILD`/`CMakeLists.txt` file and build commands. Links to a GitHub branch or [godbolt.org](https://godbolt.org/) that demonstrate the problem are also helpful.
- validations:
- required: true
- - type: textarea
- id: version
- attributes:
- label: What version of GoogleTest are you using?
- description: Please include the output of `git rev-parse HEAD` or the GoogleTest release version number that you are using.
- validations:
- required: true
- - type: textarea
- id: os
- attributes:
- label: What operating system and version are you using?
- description: If you are using a Linux distribution please include the name and version of the distribution as well.
- validations:
- required: true
- - type: textarea
- id: compiler
- attributes:
- label: What compiler and version are you using?
- description: Please include the output of `gcc -v` or `clang -v`, or the equivalent for your compiler.
- validations:
- required: true
- - type: textarea
- id: buildsystem
- attributes:
- label: What build system are you using?
- description: Please include the output of `bazel --version` or `cmake --version`, or the equivalent for your build system.
- validations:
- required: true
- - type: textarea
- id: additional
- attributes:
- label: Additional context
- description: Add any other context about the problem here.
- validations:
- required: false
diff --git a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml b/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml
deleted file mode 100644
index f3bbc091e..000000000
--- a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/10-feature_request.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-name: Feature request
-description: Propose a new feature.
-title: "[FR]: Please title this feature request"
-labels: "enhancement"
-body:
- - type: textarea
- id: version
- attributes:
- label: Does the feature exist in the most recent commit?
- description: We recommend using the latest commit from GitHub in your projects.
- validations:
- required: true
- - type: textarea
- id: why
- attributes:
- label: Why do we need this feature?
- description: Ideally, explain why a combination of existing features cannot be used instead.
- validations:
- required: true
- - type: textarea
- id: proposal
- attributes:
- label: Describe the proposal.
- description: Include a detailed description of the feature, with usage examples.
- validations:
- required: true
- - type: textarea
- id: platform
- attributes:
- label: Is the feature specific to an operating system, compiler, or build system version?
- description: If it is, please specify which versions.
- validations:
- required: true
diff --git a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml b/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index 65170d10a..000000000
--- a/3rdparty/assimp/contrib/googletest/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-blank_issues_enabled: false
-contact_links:
- - name: Get Help
- url: https://github.com/google/googletest/discussions
- about: Please ask and answer questions here.
diff --git a/3rdparty/assimp/contrib/googletest/.github/workflows/gtest-ci.yml b/3rdparty/assimp/contrib/googletest/.github/workflows/gtest-ci.yml
deleted file mode 100644
index 03a8cc5e2..000000000
--- a/3rdparty/assimp/contrib/googletest/.github/workflows/gtest-ci.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-name: ci
-
-on:
- push:
- pull_request:
-
-env:
- BAZEL_CXXOPTS: -std=c++14
-
-jobs:
- Linux:
- runs-on: ubuntu-latest
- steps:
-
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Tests
- run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ...
-
- macOS:
- runs-on: macos-latest
- steps:
-
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Tests
- run: bazel test --cxxopt=-std=c++14 --features=external_include_paths --test_output=errors ...
-
-
- Windows:
- runs-on: windows-latest
- steps:
-
- - uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Tests
- run: bazel test --cxxopt=/std:c++14 --features=external_include_paths --test_output=errors ...
diff --git a/3rdparty/assimp/contrib/googletest/.gitignore b/3rdparty/assimp/contrib/googletest/.gitignore
deleted file mode 100644
index fede02f65..000000000
--- a/3rdparty/assimp/contrib/googletest/.gitignore
+++ /dev/null
@@ -1,88 +0,0 @@
-# Ignore CI build directory
-build/
-xcuserdata
-cmake-build-debug/
-.idea/
-bazel-bin
-bazel-genfiles
-bazel-googletest
-bazel-out
-bazel-testlogs
-# python
-*.pyc
-
-# Visual Studio files
-.vs
-*.sdf
-*.opensdf
-*.VC.opendb
-*.suo
-*.user
-_ReSharper.Caches/
-Win32-Debug/
-Win32-Release/
-x64-Debug/
-x64-Release/
-
-# VSCode files
-.cache/
-cmake-variants.yaml
-
-# Ignore autoconf / automake files
-Makefile.in
-aclocal.m4
-configure
-build-aux/
-autom4te.cache/
-googletest/m4/libtool.m4
-googletest/m4/ltoptions.m4
-googletest/m4/ltsugar.m4
-googletest/m4/ltversion.m4
-googletest/m4/lt~obsolete.m4
-googlemock/m4
-
-# Ignore generated directories.
-googlemock/fused-src/
-googletest/fused-src/
-
-# macOS files
-.DS_Store
-googletest/.DS_Store
-googletest/xcode/.DS_Store
-
-# Ignore cmake generated directories and files.
-CMakeFiles
-CTestTestfile.cmake
-Makefile
-cmake_install.cmake
-googlemock/CMakeFiles
-googlemock/CTestTestfile.cmake
-googlemock/Makefile
-googlemock/cmake_install.cmake
-googlemock/gtest
-/bin
-/googlemock/gmock.dir
-/googlemock/gmock_main.dir
-/googlemock/RUN_TESTS.vcxproj.filters
-/googlemock/RUN_TESTS.vcxproj
-/googlemock/INSTALL.vcxproj.filters
-/googlemock/INSTALL.vcxproj
-/googlemock/gmock_main.vcxproj.filters
-/googlemock/gmock_main.vcxproj
-/googlemock/gmock.vcxproj.filters
-/googlemock/gmock.vcxproj
-/googlemock/gmock.sln
-/googlemock/ALL_BUILD.vcxproj.filters
-/googlemock/ALL_BUILD.vcxproj
-/lib
-/Win32
-/ZERO_CHECK.vcxproj.filters
-/ZERO_CHECK.vcxproj
-/RUN_TESTS.vcxproj.filters
-/RUN_TESTS.vcxproj
-/INSTALL.vcxproj.filters
-/INSTALL.vcxproj
-/googletest-distribution.sln
-/CMakeCache.txt
-/ALL_BUILD.vcxproj.filters
-/ALL_BUILD.vcxproj
diff --git a/3rdparty/assimp/contrib/unzip/ioapi.h b/3rdparty/assimp/contrib/unzip/ioapi.h
index 548dafb5e..ae9ca7e83 100644
--- a/3rdparty/assimp/contrib/unzip/ioapi.h
+++ b/3rdparty/assimp/contrib/unzip/ioapi.h
@@ -50,7 +50,7 @@
#define ftello64 ftell
#define fseeko64 fseek
#else
-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
#define fopen64 fopen
#define ftello64 ftello
#define fseeko64 fseeko
diff --git a/3rdparty/assimp/contrib/zip/appveyor.yml b/3rdparty/assimp/contrib/zip/appveyor.yml
deleted file mode 100644
index ea17f5de9..000000000
--- a/3rdparty/assimp/contrib/zip/appveyor.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-version: zip-0.1.15.{build}
-build_script:
-- cmd: >-
- cd c:\projects\zip
-
- mkdir build
-
- cd build
-
- cmake -G"Visual Studio 14" -DCMAKE_BUILD_TYPE=Debug ..
-
- cmake --build . --config %CMAKE_BUILD_TYPE%
-
- ctest --verbose -C "Debug"
diff --git a/3rdparty/assimp/include/assimp/config.h.in b/3rdparty/assimp/include/assimp/config.h.in
index cb46d8057..97551e602 100644
--- a/3rdparty/assimp/include/assimp/config.h.in
+++ b/3rdparty/assimp/include/assimp/config.h.in
@@ -1085,19 +1085,6 @@ enum aiComponent
*/
#define AI_CONFIG_USE_GLTF_PBR_SPECULAR_GLOSSINESS "USE_GLTF_PBR_SPECULAR_GLOSSINESS"
-/** @brief Specifies whether to apply a limit on the number of four bones per vertex in skinning
- *
- * When this flag is not defined, all bone weights and indices are limited to a
- * maximum of four bones for each vertex (attributes JOINT_0 and WEIGHT_0 only).
- * By enabling this flag, the number of bones per vertex is unlimited.
- * In both cases, indices and bone weights are sorted by weight in descending order.
- * In the case of the limit of up to four bones, a maximum of the four largest values are exported.
- * Weights are not normalized.
- * Property type: Bool. Default value: false.
- */
-#define AI_CONFIG_EXPORT_GLTF_UNLIMITED_SKINNING_BONES_PER_VERTEX \
- "USE_UNLIMITED_BONES_PER VERTEX"
-
/**
* @brief Specifies the blob name, assimp uses for exporting.
*
diff --git a/3rdparty/assimp/include/assimp/defs.h b/3rdparty/assimp/include/assimp/defs.h
index e1aaafd44..ad8ca5f78 100644
--- a/3rdparty/assimp/include/assimp/defs.h
+++ b/3rdparty/assimp/include/assimp/defs.h
@@ -343,4 +343,4 @@ constexpr ai_real ai_epsilon = (ai_real) 1e-6;
#define AI_COUNT_OF(X) (sizeof(X) / sizeof((X)[0]))
-#endif // !! AI_DEFINES_H_INC
\ No newline at end of file
+#endif // !! AI_DEFINES_H_INC
diff --git a/3rdparty/assimp/scripts/android_crosscompile/.gitignore b/3rdparty/assimp/scripts/android_crosscompile/.gitignore
deleted file mode 100644
index 6caf68aff..000000000
--- a/3rdparty/assimp/scripts/android_crosscompile/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-output
\ No newline at end of file
diff --git a/3rdparty/assimp/test/.gitignore b/3rdparty/assimp/test/.gitignore
deleted file mode 100644
index b652d6aae..000000000
--- a/3rdparty/assimp/test/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Ignore Unit Test Output files
-
-*_out.*
diff --git a/3rdparty/assimp/test/headercheck/.gitignore b/3rdparty/assimp/test/headercheck/.gitignore
deleted file mode 100644
index 879a87fd5..000000000
--- a/3rdparty/assimp/test/headercheck/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-src-generated/
diff --git a/3rdparty/assimp/test/models/glTF2/simple_skin/quad_skin.glb b/3rdparty/assimp/test/models/glTF2/simple_skin/quad_skin.glb
deleted file mode 100644
index 407cebc76..000000000
Binary files a/3rdparty/assimp/test/models/glTF2/simple_skin/quad_skin.glb and /dev/null differ
diff --git a/3rdparty/assimp/test/unit/utglTF2ImportExport.cpp b/3rdparty/assimp/test/unit/utglTF2ImportExport.cpp
index 6778e2679..ba1c859ad 100644
--- a/3rdparty/assimp/test/unit/utglTF2ImportExport.cpp
+++ b/3rdparty/assimp/test/unit/utglTF2ImportExport.cpp
@@ -43,7 +43,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
#include
-#include
#include
#include
#include
@@ -505,143 +504,6 @@ TEST_F(utglTF2ImportExport, bug_import_simple_skin) {
EXPECT_NE(nullptr, scene);
}
-bool checkSkinnedScene(const aiScene *scene){
- float eps = 0.001f;
- bool result = true;
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mMeshes[0]->mNumBones, 10u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].x - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].y - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].x - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].y - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].x - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].y - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].x - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].y - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].z - 0), eps);
-
- unsigned int numWeights[] = {4u, 4u, 4u, 4u, 2u , 1u, 1u, 2u, 1u, 1u};
- float weights[10][4] = {{0.207f, 0.291f, 0.057f, 0.303f},
- {0.113f, 0.243f, 0.499f, 0.251f},
- {0.005f, 0.010f, 0.041f, 0.093f},
- {0.090f, 0.234f, 0.404f, 0.243f},
- {0.090f, 0.222f, 0.000f, 0.000f},
- {0.216f, 0.000f, 0.000f, 0.000f},
- {0.058f, 0.000f, 0.000f, 0.000f},
- {0.086f, 0.000f, 0.000f, 0.111f},
- {0.088f, 0.000f, 0.000f, 0.000f},
- {0.049f, 0.000f, 0.000f, 0.000f}};
- for (size_t boneIndex = 0; boneIndex < 10u; ++boneIndex) {
- EXPECT_EQ(scene->mMeshes[0]->mBones[boneIndex]->mNumWeights, numWeights[boneIndex]);
- std::map map;
- for (size_t jointIndex = 0; jointIndex < scene->mMeshes[0]->mBones[boneIndex]->mNumWeights; ++jointIndex){
- auto key = scene->mMeshes[0]->mBones[boneIndex]->mWeights[jointIndex].mVertexId;
- auto weight = scene->mMeshes[0]->mBones[boneIndex]->mWeights[jointIndex].mWeight;
- map[key] = weight;
- }
-
- for (unsigned int jointIndex = 0; jointIndex < scene->mMeshes[0]->mBones[boneIndex]->mNumWeights; ++jointIndex) {
- auto weight = map[jointIndex];
- EXPECT_LT(abs(ai_real(weight) - ai_real(weights[boneIndex][jointIndex])), 0.002);
- }
- }
-
- return result;
-}
-
-void checkSkinnedSceneLimited(const aiScene *scene){
- float eps = 0.001f;
- EXPECT_EQ(scene->mNumMeshes, 1u);
- EXPECT_EQ(scene->mMeshes[0]->mNumBones, 10u);
- EXPECT_EQ(scene->mMeshes[0]->mNumVertices, 4u);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].x - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].y - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[0].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].x - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].y - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[1].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].x - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].y - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[2].z - 0), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].x - -1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].y - 1), eps);
- EXPECT_LT(abs(scene->mMeshes[0]->mVertices[3].z - 0), eps);
-
- unsigned int numWeights[] = {4u, 4u, 1u, 4u, 1u , 1u, 1u, 1u, 1u, 1u};
- float weights[10][4] = {{0.207f, 0.291f, 0.057f, 0.303f},
- {0.113f, 0.243f, 0.499f, 0.251f},
- {0.000f, 0.000f, 0.041f, 0.000f},
- {0.090f, 0.234f, 0.404f, 0.243f},
- {0.000f, 0.222f, 0.000f, 0.000f},
- {0.216f, 0.000f, 0.000f, 0.000f},
- {0.000f, 0.000f, 0.000f, 0.000f},
- {0.000f, 0.000f, 0.000f, 0.111f},
- {0.000f, 0.000f, 0.000f, 0.000f},
- {0.000f, 0.000f, 0.000f, 0.000f}};
- for (unsigned int boneIndex = 0; boneIndex < 10u; ++boneIndex) {
- EXPECT_EQ(scene->mMeshes[0]->mBones[boneIndex]->mNumWeights, numWeights[boneIndex]);
- std::map map;
- for (unsigned int jointIndex = 0; jointIndex < scene->mMeshes[0]->mBones[boneIndex]->mNumWeights; ++jointIndex){
- auto key = scene->mMeshes[0]->mBones[boneIndex]->mWeights[jointIndex].mVertexId;
- auto weight = scene->mMeshes[0]->mBones[boneIndex]->mWeights[jointIndex].mWeight;
- map[key] = weight;
- }
- for (unsigned int jointIndex = 0; jointIndex < scene->mMeshes[0]->mBones[boneIndex]->mNumWeights; ++jointIndex) {
- auto weight = map[jointIndex];
- EXPECT_LT(std::abs(ai_real(weight) - ai_real(weights[boneIndex][jointIndex])), 0.002);
- }
- }
-}
-
-TEST_F(utglTF2ImportExport, bug_import_simple_skin2) {
- Assimp::Importer importer;
- Assimp::Exporter exporter;
- const aiScene *scene = importer.ReadFile(
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_skin.glb",
- aiProcess_ValidateDataStructure);
- checkSkinnedScene(scene);
-
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2",
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_four_out.glb"));
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "gltf2",
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_four_out.gltf"));
-
- // enable more than four bones per vertex
- Assimp::ExportProperties properties = Assimp::ExportProperties();
- properties.SetPropertyBool(
- AI_CONFIG_EXPORT_GLTF_UNLIMITED_SKINNING_BONES_PER_VERTEX, true);
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "glb2",
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_all_out.glb", 0u, &properties));
- ASSERT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "gltf2",
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_all_out.gltf", 0u, &properties));
-
- // check skinning data of both exported files for limited number bones per vertex
- const aiScene *limitedSceneImported = importer.ReadFile(
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_four_out.gltf",
- aiProcess_ValidateDataStructure);
- checkSkinnedSceneLimited(limitedSceneImported);
- limitedSceneImported = importer.ReadFile(
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_four_out.glb",
- aiProcess_ValidateDataStructure);
- checkSkinnedSceneLimited(limitedSceneImported);
-
- // check skinning data of both exported files for unlimited number bones per vertex
- const aiScene *sceneImported = importer.ReadFile(
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_all_out.gltf",
- aiProcess_ValidateDataStructure);
- checkSkinnedScene(sceneImported);
- sceneImported = importer.ReadFile(
- ASSIMP_TEST_MODELS_DIR "/glTF2/simple_skin/quad_all_out.glb",
- aiProcess_ValidateDataStructure);
- checkSkinnedScene(sceneImported);
-
-
-}
-
TEST_F(utglTF2ImportExport, import_cameras) {
Assimp::Importer importer;
const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/glTF2/cameras/Cameras.gltf",
diff --git a/Plugins/AudiArt/src/Headers/AudiArtBuild.h b/Plugins/AudiArt/src/Headers/AudiArtBuild.h
index c4601dc0f..a00f2ada9 100644
--- a/Plugins/AudiArt/src/Headers/AudiArtBuild.h
+++ b/Plugins/AudiArt/src/Headers/AudiArtBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define AudiArt_Prefix "AudiArt"
-#define AudiArt_BuildNumber 117
+#define AudiArt_BuildNumber 120
#define AudiArt_MinorNumber 0
#define AudiArt_MajorNumber 0
-#define AudiArt_BuildId "0.0.117"
+#define AudiArt_BuildId "0.0.120"
diff --git a/Plugins/CodeGenerator/src/Headers/CodeGeneratorBuild.h b/Plugins/CodeGenerator/src/Headers/CodeGeneratorBuild.h
index 69f9835c1..b63809094 100644
--- a/Plugins/CodeGenerator/src/Headers/CodeGeneratorBuild.h
+++ b/Plugins/CodeGenerator/src/Headers/CodeGeneratorBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define CodeGenerator_Prefix "CodeGenerator"
-#define CodeGenerator_BuildNumber 735
+#define CodeGenerator_BuildNumber 738
#define CodeGenerator_MinorNumber 0
#define CodeGenerator_MajorNumber 0
-#define CodeGenerator_BuildId "0.0.735"
+#define CodeGenerator_BuildId "0.0.738"
diff --git a/Plugins/Landscape/src/Headers/LandscapeBuild.h b/Plugins/Landscape/src/Headers/LandscapeBuild.h
index 560efb7f4..c122b708e 100644
--- a/Plugins/Landscape/src/Headers/LandscapeBuild.h
+++ b/Plugins/Landscape/src/Headers/LandscapeBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Landscape_Prefix "Landscape"
-#define Landscape_BuildNumber 19
+#define Landscape_BuildNumber 22
#define Landscape_MinorNumber 0
#define Landscape_MajorNumber 0
-#define Landscape_BuildId "0.0.19"
+#define Landscape_BuildId "0.0.22"
diff --git a/Plugins/Lighting/src/Headers/LightingBuild.h b/Plugins/Lighting/src/Headers/LightingBuild.h
index d7a746c02..265294d8e 100644
--- a/Plugins/Lighting/src/Headers/LightingBuild.h
+++ b/Plugins/Lighting/src/Headers/LightingBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Lighting_Prefix "Lighting"
-#define Lighting_BuildNumber 647
+#define Lighting_BuildNumber 650
#define Lighting_MinorNumber 0
#define Lighting_MajorNumber 0
-#define Lighting_BuildId "0.0.647"
+#define Lighting_BuildId "0.0.650"
diff --git a/Plugins/MeshGen/src/Headers/MeshGenBuild.h b/Plugins/MeshGen/src/Headers/MeshGenBuild.h
index 7ad7ca8e5..4c8e0991e 100644
--- a/Plugins/MeshGen/src/Headers/MeshGenBuild.h
+++ b/Plugins/MeshGen/src/Headers/MeshGenBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define MeshGen_Prefix "MeshGen"
-#define MeshGen_BuildNumber 401
+#define MeshGen_BuildNumber 404
#define MeshGen_MinorNumber 0
#define MeshGen_MajorNumber 0
-#define MeshGen_BuildId "0.0.401"
+#define MeshGen_BuildId "0.0.404"
diff --git a/Plugins/Misc/src/Headers/MiscBuild.h b/Plugins/Misc/src/Headers/MiscBuild.h
index d795175f8..1f274331d 100644
--- a/Plugins/Misc/src/Headers/MiscBuild.h
+++ b/Plugins/Misc/src/Headers/MiscBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Misc_Prefix "Misc"
-#define Misc_BuildNumber 200
+#define Misc_BuildNumber 203
#define Misc_MinorNumber 1
#define Misc_MajorNumber 0
-#define Misc_BuildId "0.1.200"
+#define Misc_BuildId "0.1.203"
diff --git a/Plugins/Particles/src/Headers/ParticlesBuild.h b/Plugins/Particles/src/Headers/ParticlesBuild.h
index a106ca569..4ac88d4af 100644
--- a/Plugins/Particles/src/Headers/ParticlesBuild.h
+++ b/Plugins/Particles/src/Headers/ParticlesBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Particles_Prefix "Particles"
-#define Particles_BuildNumber 429
+#define Particles_BuildNumber 432
#define Particles_MinorNumber 0
#define Particles_MajorNumber 0
-#define Particles_BuildId "0.0.429"
+#define Particles_BuildId "0.0.432"
diff --git a/Plugins/PlanetSystem/src/Headers/PlanetSystemBuild.h b/Plugins/PlanetSystem/src/Headers/PlanetSystemBuild.h
index c49661220..4e142d7af 100644
--- a/Plugins/PlanetSystem/src/Headers/PlanetSystemBuild.h
+++ b/Plugins/PlanetSystem/src/Headers/PlanetSystemBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define PlanetSystem_Prefix "PlanetSystem"
-#define PlanetSystem_BuildNumber 186
+#define PlanetSystem_BuildNumber 189
#define PlanetSystem_MinorNumber 0
#define PlanetSystem_MajorNumber 0
-#define PlanetSystem_BuildId "0.0.186"
+#define PlanetSystem_BuildId "0.0.189"
diff --git a/Plugins/PostProcessing/src/Headers/PostProcessingBuild.h b/Plugins/PostProcessing/src/Headers/PostProcessingBuild.h
index a347776b7..b457c1bb2 100644
--- a/Plugins/PostProcessing/src/Headers/PostProcessingBuild.h
+++ b/Plugins/PostProcessing/src/Headers/PostProcessingBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define PostProcessing_Prefix "PostProcessing"
-#define PostProcessing_BuildNumber 696
+#define PostProcessing_BuildNumber 699
#define PostProcessing_MinorNumber 1
#define PostProcessing_MajorNumber 0
-#define PostProcessing_BuildId "0.1.696"
+#define PostProcessing_BuildId "0.1.699"
diff --git a/Plugins/RTX/src/Headers/RTXBuild.h b/Plugins/RTX/src/Headers/RTXBuild.h
index fed8dc108..d8c8c5598 100644
--- a/Plugins/RTX/src/Headers/RTXBuild.h
+++ b/Plugins/RTX/src/Headers/RTXBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define RTX_Prefix "RTX"
-#define RTX_BuildNumber 469
+#define RTX_BuildNumber 472
#define RTX_MinorNumber 0
#define RTX_MajorNumber 0
-#define RTX_BuildId "0.0.469"
+#define RTX_BuildId "0.0.472"
diff --git a/Plugins/ScreenSpace/src/Headers/ScreenSpaceBuild.h b/Plugins/ScreenSpace/src/Headers/ScreenSpaceBuild.h
index 662ef17c7..c823a7292 100644
--- a/Plugins/ScreenSpace/src/Headers/ScreenSpaceBuild.h
+++ b/Plugins/ScreenSpace/src/Headers/ScreenSpaceBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define ScreenSpace_Prefix "ScreenSpace"
-#define ScreenSpace_BuildNumber 172
+#define ScreenSpace_BuildNumber 175
#define ScreenSpace_MinorNumber 0
#define ScreenSpace_MajorNumber 0
-#define ScreenSpace_BuildId "0.0.172"
+#define ScreenSpace_BuildId "0.0.175"
diff --git a/Plugins/Simulation/src/Headers/SimulationBuild.h b/Plugins/Simulation/src/Headers/SimulationBuild.h
index 4b987d575..badd21e7a 100644
--- a/Plugins/Simulation/src/Headers/SimulationBuild.h
+++ b/Plugins/Simulation/src/Headers/SimulationBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Simulation_Prefix "Simulation"
-#define Simulation_BuildNumber 458
+#define Simulation_BuildNumber 461
#define Simulation_MinorNumber 1
#define Simulation_MajorNumber 0
-#define Simulation_BuildId "0.1.458"
+#define Simulation_BuildId "0.1.461"
diff --git a/Plugins/Smoke/src/Headers/SmokeBuild.h b/Plugins/Smoke/src/Headers/SmokeBuild.h
index 49caf7a36..d836cbffa 100644
--- a/Plugins/Smoke/src/Headers/SmokeBuild.h
+++ b/Plugins/Smoke/src/Headers/SmokeBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Smoke_Prefix "Smoke"
-#define Smoke_BuildNumber 44
+#define Smoke_BuildNumber 47
#define Smoke_MinorNumber 0
#define Smoke_MajorNumber 0
-#define Smoke_BuildId "0.0.44"
+#define Smoke_BuildId "0.0.47"
diff --git a/VERSION b/VERSION
index 316e7ecb7..5fbcae2d2 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Lumo_Windows_Debug_x64_v0.0.5563
+Lumo_Windows_Debug_x64_v0.0.5568
diff --git a/cmake/3rdparty/assimp.cmake b/cmake/3rdparty/assimp.cmake
index 8adef1cfa..e0e28b431 100644
--- a/cmake/3rdparty/assimp.cmake
+++ b/cmake/3rdparty/assimp.cmake
@@ -33,6 +33,10 @@ set(ASSIMP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/3rdparty/assimp/include)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/assimp EXCLUDE_FROM_ALL)
+if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ target_compile_options(${ASSIMP_LIBRARIES} PRIVATE -Wno-unsafe-buffer-usage -Wno-unreachable-code-break)
+endif()
+
set_target_properties(${ASSIMP_LIBRARIES} PROPERTIES FOLDER 3rdparty)
set_target_properties(${ASSIMP_LIBRARIES} PROPERTIES RUNTIME_OUTPUT_NAME_DEBUG "assimpd")
diff --git a/libs/Gaia b/libs/Gaia
index a131a4850..25677896e 160000
--- a/libs/Gaia
+++ b/libs/Gaia
@@ -1 +1 @@
-Subproject commit a131a48503e422ae63ed8870d69a7f894217a98b
+Subproject commit 25677896ecbaf175a0f884129be92bcdf7ca4cab
diff --git a/libs/LumoBackend/CMakeLists.txt b/libs/LumoBackend/CMakeLists.txt
index db6f68801..8f315a23d 100644
--- a/libs/LumoBackend/CMakeLists.txt
+++ b/libs/LumoBackend/CMakeLists.txt
@@ -28,7 +28,6 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/src PREFIX src FILES ${PROJECT_SRC
add_definitions(-DPROJECT_PATH="${CMAKE_SOURCE_DIR}")
add_definitions(-DIMGUI_DEFINE_MATH_OPERATORS)
add_definitions(${GLFW_DEFINITIONS})
-add_definitions(-DPROJECT_NAME="${PROJECT}")
add_definitions(-DUSE_STD_FILESYSTEM)
add_definitions(-DUSE_VULKAN)
add_definitions(-DVULKAN)
diff --git a/libs/LumoBackend/include/LumoBackend/Base/BaseRenderer.h b/libs/LumoBackend/include/LumoBackend/Base/BaseRenderer.h
index 0969a5858..d381d3ebf 100644
--- a/libs/LumoBackend/include/LumoBackend/Base/BaseRenderer.h
+++ b/libs/LumoBackend/include/LumoBackend/Base/BaseRenderer.h
@@ -50,10 +50,6 @@ limitations under the License.
// pouront etre bloqué en code pour specialisation
class LUMO_BACKEND_API BaseRenderer : public conf::ConfigAbstract, public GuiInterface, public ShaderUpdateInterface, public ResizerInterface {
-private:
- bool m_NeedNewUBOUpload = true; // true for first render
- bool m_NeedNewSBOUpload = true; // true for first render
-
protected:
BaseRendererWeak m_This; // pointer to this for affected in other op
@@ -177,11 +173,11 @@ class LUMO_BACKEND_API BaseRenderer : public conf::ConfigAbstract, public GuiInt
virtual void ResetFrame();
- void UpdateShaders(const std::set& vFiles);
+ void UpdateShaders(const std::set& vFiles) override;
- std::string getXml(const std::string& vOffset, const std::string& vUserDatas);
+ std::string getXml(const std::string& vOffset, const std::string& vUserDatas) override;
// return true for continue xml parsing of childs in this node or false for interupt the child exploration
- bool setFromXml(tinyxml2::XMLElement* vElem, tinyxml2::XMLElement* vParent, const std::string& vUserDatas);
+ bool setFromXml(tinyxml2::XMLElement* vElem, tinyxml2::XMLElement* vParent, const std::string& vUserDatas) override;
protected:
virtual void DoBeforeEndCommandBuffer(vk::CommandBuffer* vCmdBufferPtr);
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeLink.h b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeLink.h
index 7a6691823..1be0700d9 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeLink.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeLink.h
@@ -41,5 +41,5 @@ class LUMO_BACKEND_API NodeLink {
public:
NodeLink();
- ~NodeLink();
+ virtual ~NodeLink();
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlot.h b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlot.h
index fe05acf17..494cdb5b9 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlot.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlot.h
@@ -128,7 +128,7 @@ class LUMO_BACKEND_API NodeSlot : public conf::ConfigAbstract {
bool virtualUniform = false; // virtual si l'uniform n'est pas utilisé
private:
- bool m_Selected = false; // will select visually the slot, signify he is the output of the graph
+ //bool m_Selected = false; // will select visually the slot, signify he is the output of the graph
public:
explicit NodeSlot();
@@ -136,7 +136,7 @@ class LUMO_BACKEND_API NodeSlot : public conf::ConfigAbstract {
explicit NodeSlot(std::string vName, std::string vType);
explicit NodeSlot(std::string vName, std::string vType, bool vHideName);
explicit NodeSlot(std::string vName, std::string vType, bool vHideName, bool vShowWidget);
- ~NodeSlot();
+ virtual ~NodeSlot();
void Init();
void Unit();
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotInput.h
index 772c7dbb7..52d8b924c 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotInput.h
@@ -35,10 +35,10 @@ class LUMO_BACKEND_API NodeSlotInput : public NodeSlot {
explicit NodeSlotInput(const std::string& vName, const std::string& vType);
explicit NodeSlotInput(const std::string& vName, const std::string& vType, const bool& vHideName);
explicit NodeSlotInput(const std::string& vName, const std::string& vType, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotInput();
+ virtual ~NodeSlotInput();
void Init();
void Unit();
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotOutput.h
index ed42d60cc..ded6a9cd2 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeSlotOutput.h
@@ -35,10 +35,10 @@ class LUMO_BACKEND_API NodeSlotOutput : public NodeSlot {
explicit NodeSlotOutput(const std::string& vName, const std::string& vType);
explicit NodeSlotOutput(const std::string& vName, const std::string& vType, const bool& vHideName);
explicit NodeSlotOutput(const std::string& vName, const std::string& vType, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotOutput();
+ virtual ~NodeSlotOutput();
void Init();
void Unit();
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeStamp.h b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeStamp.h
index e29f15fd2..5a7a5e90e 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeStamp.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Base/NodeStamp.h
@@ -30,7 +30,7 @@ class LUMO_BACKEND_API NodeStamp {
public:
NodeStamp();
- ~NodeStamp();
+ virtual ~NodeStamp();
void DrawImGui();
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Layout/GraphLayout.h b/libs/LumoBackend/include/LumoBackend/Graph/Layout/GraphLayout.h
index a31099c9a..682321671 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Layout/GraphLayout.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Layout/GraphLayout.h
@@ -89,5 +89,5 @@ class LUMO_BACKEND_API GraphLayout {
GraphLayout &operator=(const GraphLayout &) {
return *this;
}; // Prevent assignment
- ~GraphLayout() = default; // Prevent unwanted destruction
+ virtual ~GraphLayout() = default; // Prevent unwanted destruction
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Library/LibraryCategory.h b/libs/LumoBackend/include/LumoBackend/Graph/Library/LibraryCategory.h
index 03b5e7883..3b5c9e296 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Library/LibraryCategory.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Library/LibraryCategory.h
@@ -74,7 +74,7 @@ class LUMO_BACKEND_API LibraryCategory {
public:
LibraryCategory();
- ~LibraryCategory();
+ virtual ~LibraryCategory();
void Clear();
LibraryCategory* AddCategory(const std::string& vCategoryName);
void AddShader(const std::string& vShaderName, const std::string& vShaderPath);
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupInput.h
index c0c296fa2..a0bf76304 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotLightGroupInput : public NodeSlotInput {
explicit NodeSlotLightGroupInput(const std::string& vName);
explicit NodeSlotLightGroupInput(const std::string& vName, const bool& vHideName);
explicit NodeSlotLightGroupInput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotLightGroupInput();
+ virtual ~NodeSlotLightGroupInput();
void Init();
void Unit();
@@ -45,7 +45,7 @@ class LUMO_BACKEND_API NodeSlotLightGroupInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupOutput.h
index 617807b0d..932c0f164 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotLightGroupOutput.h
@@ -36,12 +36,12 @@ class LUMO_BACKEND_API NodeSlotLightGroupOutput : public NodeSlotOutput {
explicit NodeSlotLightGroupOutput(const std::string& vName);
explicit NodeSlotLightGroupOutput(const std::string& vName, const bool& vHideName);
explicit NodeSlotLightGroupOutput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotLightGroupOutput();
+ virtual ~NodeSlotLightGroupOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelInput.h
index 59acfed67..79e390ff2 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotModelInput : public NodeSlotInput {
explicit NodeSlotModelInput(const std::string& vName);
explicit NodeSlotModelInput(const std::string& vName, const bool& vHideName);
explicit NodeSlotModelInput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotModelInput();
+ virtual ~NodeSlotModelInput();
void Init();
void Unit();
@@ -45,7 +45,7 @@ class LUMO_BACKEND_API NodeSlotModelInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelOutput.h
index 82c802602..ad4a793be 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotModelOutput.h
@@ -36,12 +36,12 @@ class LUMO_BACKEND_API NodeSlotModelOutput : public NodeSlotOutput {
explicit NodeSlotModelOutput(const std::string& vName);
explicit NodeSlotModelOutput(const std::string& vName, const bool& vHideName);
explicit NodeSlotModelOutput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotModelOutput();
+ virtual ~NodeSlotModelOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassInput.h
index 10114ad84..d7dda65f4 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotShaderPassInput : public NodeSlotInput {
explicit NodeSlotShaderPassInput(const std::string& vName);
explicit NodeSlotShaderPassInput(const std::string& vName, const bool& vHideName);
explicit NodeSlotShaderPassInput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotShaderPassInput();
+ virtual ~NodeSlotShaderPassInput();
void Init();
void Unit();
@@ -45,9 +45,9 @@ class LUMO_BACKEND_API NodeSlotShaderPassInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak())override;
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassOutput.h
index 71dbd2c84..f92d1c93a 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotShaderPassOutput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotShaderPassOutput : public NodeSlotOutput {
explicit NodeSlotShaderPassOutput(const std::string& vName);
explicit NodeSlotShaderPassOutput(const std::string& vName, const bool& vHideName);
explicit NodeSlotShaderPassOutput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotShaderPassOutput();
+ virtual ~NodeSlotShaderPassOutput();
void Init();
void Unit();
@@ -45,5 +45,5 @@ class LUMO_BACKEND_API NodeSlotShaderPassOutput : public NodeSlotOutput {
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferInput.h
index e3fbe9738..c95c7147a 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferInput.h
@@ -41,7 +41,7 @@ class LUMO_BACKEND_API NodeSlotStorageBufferInput : public NodeSlotInput {
explicit NodeSlotStorageBufferInput(const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotStorageBufferInput(
const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotStorageBufferInput();
+ virtual ~NodeSlotStorageBufferInput();
void Init();
void Unit();
@@ -50,7 +50,7 @@ class LUMO_BACKEND_API NodeSlotStorageBufferInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferOutput.h
index 4b9365363..54898da76 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotStorageBufferOutput.h
@@ -41,12 +41,12 @@ class LUMO_BACKEND_API NodeSlotStorageBufferOutput : public NodeSlotOutput {
explicit NodeSlotStorageBufferOutput(const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotStorageBufferOutput(
const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotStorageBufferOutput();
+ virtual ~NodeSlotStorageBufferOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskInput.h
index 8cb24e66f..0a83403d2 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTaskInput : public NodeSlotInput {
explicit NodeSlotTaskInput(const std::string& vName);
explicit NodeSlotTaskInput(const std::string& vName, const bool& vHideName);
explicit NodeSlotTaskInput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTaskInput();
+ virtual ~NodeSlotTaskInput();
void Init();
void Unit();
@@ -45,7 +45,7 @@ class LUMO_BACKEND_API NodeSlotTaskInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskOutput.h
index 1179d941a..dbf480ad5 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTaskOutput.h
@@ -36,12 +36,12 @@ class LUMO_BACKEND_API NodeSlotTaskOutput : public NodeSlotOutput {
explicit NodeSlotTaskOutput(const std::string& vName);
explicit NodeSlotTaskOutput(const std::string& vName, const bool& vHideName);
explicit NodeSlotTaskOutput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTaskOutput();
+ virtual ~NodeSlotTaskOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferInput.h
index 900c5adfc..3c27acbb7 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferInput.h
@@ -41,7 +41,7 @@ class LUMO_BACKEND_API NodeSlotTexelBufferInput : public NodeSlotInput {
explicit NodeSlotTexelBufferInput(const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexelBufferInput(
const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexelBufferInput();
+ virtual ~NodeSlotTexelBufferInput();
void Init();
void Unit();
@@ -50,7 +50,7 @@ class LUMO_BACKEND_API NodeSlotTexelBufferInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferOutput.h
index 808f77773..a47c63a53 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexelBufferOutput.h
@@ -41,12 +41,12 @@ class LUMO_BACKEND_API NodeSlotTexelBufferOutput : public NodeSlotOutput {
explicit NodeSlotTexelBufferOutput(const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexelBufferOutput(
const std::string& vName, const std::string& vType, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexelBufferOutput();
+ virtual ~NodeSlotTexelBufferOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DInput.h
index ab7326cd3..26f84b08e 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTexture2DInput : public NodeSlotInput {
explicit NodeSlotTexture2DInput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTexture2DInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexture2DInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexture2DInput();
+ virtual ~NodeSlotTexture2DInput();
void Init();
void Unit();
@@ -45,9 +45,9 @@ class LUMO_BACKEND_API NodeSlotTexture2DInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DOutput.h
index aafd78af5..acae12d04 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture2DOutput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTexture2DOutput : public NodeSlotOutput {
explicit NodeSlotTexture2DOutput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTexture2DOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexture2DOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexture2DOutput();
+ virtual ~NodeSlotTexture2DOutput();
void Init();
void Unit();
@@ -45,5 +45,5 @@ class LUMO_BACKEND_API NodeSlotTexture2DOutput : public NodeSlotOutput {
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DInput.h
index ba035d32d..ee243214a 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTexture3DInput : public NodeSlotInput {
explicit NodeSlotTexture3DInput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTexture3DInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexture3DInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexture3DInput();
+ virtual ~NodeSlotTexture3DInput();
void Init();
void Unit();
@@ -45,9 +45,9 @@ class LUMO_BACKEND_API NodeSlotTexture3DInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DOutput.h
index 1b99303d4..fc53d5a08 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTexture3DOutput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTexture3DOutput : public NodeSlotOutput {
explicit NodeSlotTexture3DOutput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTexture3DOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTexture3DOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTexture3DOutput();
+ virtual ~NodeSlotTexture3DOutput();
void Init();
void Unit();
@@ -45,5 +45,5 @@ class LUMO_BACKEND_API NodeSlotTexture3DOutput : public NodeSlotOutput {
void MouseDoubleClickedOnSlot(const ImGuiMouseButton& vMouseButton) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeInput.h
index 42a1143f6..bbbf239eb 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeInput.h
@@ -37,7 +37,7 @@ class LUMO_BACKEND_API NodeSlotTextureCubeInput : public NodeSlotInput {
explicit NodeSlotTextureCubeInput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTextureCubeInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTextureCubeInput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTextureCubeInput();
+ virtual ~NodeSlotTextureCubeInput();
void Init();
void Unit();
@@ -46,7 +46,7 @@ class LUMO_BACKEND_API NodeSlotTextureCubeInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeOutput.h
index 2243725d4..ae143a9f7 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureCubeOutput.h
@@ -37,12 +37,12 @@ class LUMO_BACKEND_API NodeSlotTextureCubeOutput : public NodeSlotOutput {
explicit NodeSlotTextureCubeOutput(const std::string& vName, const uint32_t& vBindingPoint);
explicit NodeSlotTextureCubeOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName);
explicit NodeSlotTextureCubeOutput(const std::string& vName, const uint32_t& vBindingPoint, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTextureCubeOutput();
+ virtual ~NodeSlotTextureCubeOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupInput.h
index 95d434f0e..5250548a7 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupInput.h
@@ -36,7 +36,7 @@ class LUMO_BACKEND_API NodeSlotTextureGroupInput : public NodeSlotInput {
explicit NodeSlotTextureGroupInput(const std::string& vName);
explicit NodeSlotTextureGroupInput(const std::string& vName, const bool& vHideName);
explicit NodeSlotTextureGroupInput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTextureGroupInput();
+ virtual ~NodeSlotTextureGroupInput();
void Init();
void Unit();
@@ -45,7 +45,7 @@ class LUMO_BACKEND_API NodeSlotTextureGroupInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupOutput.h
index 6c61f8d56..2ad5431c0 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotTextureGroupOutput.h
@@ -36,12 +36,12 @@ class LUMO_BACKEND_API NodeSlotTextureGroupOutput : public NodeSlotOutput {
explicit NodeSlotTextureGroupOutput(const std::string& vName);
explicit NodeSlotTextureGroupOutput(const std::string& vName, const bool& vHideName);
explicit NodeSlotTextureGroupOutput(const std::string& vName, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotTextureGroupOutput();
+ virtual ~NodeSlotTextureGroupOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableInput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableInput.h
index a39302027..29ab2252e 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableInput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableInput.h
@@ -38,7 +38,7 @@ class LUMO_BACKEND_API NodeSlotVariableInput : public NodeSlotInput {
explicit NodeSlotVariableInput(const std::string& vName, const std::string& vType, const uint32_t& vVariableIndex, const bool& vHideName);
explicit NodeSlotVariableInput(
const std::string& vName, const std::string& vType, const uint32_t& vVariableIndex, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotVariableInput();
+ virtual ~NodeSlotVariableInput();
void Init();
void Unit();
@@ -47,7 +47,7 @@ class LUMO_BACKEND_API NodeSlotVariableInput : public NodeSlotInput {
void OnDisConnectEvent(NodeSlotWeak vOtherSlot) override;
void TreatNotification(
- const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak());
+ const NotifyEvent& vEvent, const NodeSlotWeak& vEmitterSlot = NodeSlotWeak(), const NodeSlotWeak& vReceiverSlot = NodeSlotWeak()) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableOutput.h b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableOutput.h
index 1fb082ec6..ab18a9439 100644
--- a/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableOutput.h
+++ b/libs/LumoBackend/include/LumoBackend/Graph/Slots/NodeSlotVariableOutput.h
@@ -39,12 +39,12 @@ class LUMO_BACKEND_API NodeSlotVariableOutput : public NodeSlotOutput {
explicit NodeSlotVariableOutput(const std::string& vName, const std::string& vType, const uint32_t& vVariableIndex, const bool& vHideName);
explicit NodeSlotVariableOutput(
const std::string& vName, const std::string& vType, const uint32_t& vVariableIndex, const bool& vHideName, const bool& vShowWidget);
- ~NodeSlotVariableOutput();
+ virtual ~NodeSlotVariableOutput();
void Init();
void Unit();
void SendFrontNotification(const NotifyEvent& vEvent) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendBuild.h b/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendBuild.h
index cdcb3928c..6f6798de1 100644
--- a/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendBuild.h
+++ b/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define LumoBackend_Prefix "LumoBackend"
-#define LumoBackend_BuildNumber 693
+#define LumoBackend_BuildNumber 713
#define LumoBackend_MinorNumber 2
#define LumoBackend_MajorNumber 0
-#define LumoBackend_BuildId "0.2.693"
+#define LumoBackend_BuildId "0.2.713"
diff --git a/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendDefs.h b/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendDefs.h
index 33eb9b431..1527d3c1a 100644
--- a/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendDefs.h
+++ b/libs/LumoBackend/include/LumoBackend/Headers/LumoBackendDefs.h
@@ -72,6 +72,8 @@ static inline const char* GetModelRenderModeEnumString(ModelRenderModeEnum vMode
case ModelRenderModeEnum::MODEL_RENDER_MODE_TRIANGLE_FAN: return "TRIANGLE_FAN";
case ModelRenderModeEnum::MODEL_RENDER_MODE_TRIANGLES: return "TRIANGLES";
case ModelRenderModeEnum::MODEL_RENDER_MODE_PATCHES: return "PATCHES";
+ case ModelRenderModeEnum::MODEL_RENDER_MODE_NONE:
+ case ModelRenderModeEnum::MODEL_RENDER_MODE_Count: break;
}
return "";
}
@@ -83,6 +85,8 @@ static inline const char* GetModelTypeEnumString(BaseMeshEnum vBaseMeshEnum) {
case BaseMeshEnum::BASE_MESH_QUAD: return "QUAD";
case BaseMeshEnum::BASE_MESH_POINTS: return "POINTS";
case BaseMeshEnum::BASE_MESH_MESH: return "MESH";
+ case BaseMeshEnum::BASE_MESH_NONE:
+ case BaseMeshEnum::BASE_MESH_Count: break;
}
return "";
}
diff --git a/libs/LumoBackend/include/LumoBackend/Helpers/RenderDocController.h b/libs/LumoBackend/include/LumoBackend/Helpers/RenderDocController.h
index 134c38330..4555ba203 100644
--- a/libs/LumoBackend/include/LumoBackend/Helpers/RenderDocController.h
+++ b/libs/LumoBackend/include/LumoBackend/Helpers/RenderDocController.h
@@ -40,5 +40,5 @@ class LUMO_BACKEND_API RenderDocController {
RenderDocController& operator=(const RenderDocController&) {
return *this;
}; // Prevent assignment
- ~RenderDocController() = default; // Prevent unwanted destruction
+ virtual ~RenderDocController() = default; // Prevent unwanted destruction
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Interfaces/PluginInterface.h b/libs/LumoBackend/include/LumoBackend/Interfaces/PluginInterface.h
index f53e75bd3..8c77fb805 100644
--- a/libs/LumoBackend/include/LumoBackend/Interfaces/PluginInterface.h
+++ b/libs/LumoBackend/include/LumoBackend/Interfaces/PluginInterface.h
@@ -44,11 +44,6 @@ class LUMO_BACKEND_API PluginPane : public AbstractPane, public ProjectInterface
ProjectInterface* m_ProjectInstancePtr = nullptr;
public:
- virtual bool Init() = 0;
- virtual void Unit() = 0;
- virtual bool DrawPanes(
- const uint32_t& vCurrentFrame, PaneFlags& vInOutPaneShown, ImGuiContext* vContextPtr = nullptr, void* vUserDatas = nullptr) = 0;
-
void SetProjectInstancePtr(ProjectInterface* vProjectInstancePtr) {
m_ProjectInstancePtr = vProjectInstancePtr;
}
diff --git a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLight.h b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLight.h
index 3862f8d6d..b2044179f 100644
--- a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLight.h
+++ b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLight.h
@@ -83,6 +83,9 @@ class LUMO_BACKEND_API SceneLight : public GizmoInterface
SceneLightWeak m_This;
public:
+ SceneLight() = default;
+ virtual ~SceneLight() = default;
+
// std430
struct LightDatasStruct {
glm::mat4x4 lightGizmo = glm::mat4x4(1.0f);
diff --git a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLightGroup.h b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLightGroup.h
index ca52055c1..6918b1783 100644
--- a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLightGroup.h
+++ b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneLightGroup.h
@@ -55,8 +55,8 @@ class LUMO_BACKEND_API SceneLightGroup :
vk::DescriptorBufferInfo m_EmptyBufferInfo = { VK_NULL_HANDLE, 0, VK_WHOLE_SIZE };
public:
- SceneLightGroup();
- ~SceneLightGroup();
+ SceneLightGroup();
+ virtual ~SceneLightGroup();
bool Init(GaiApi::VulkanCoreWeak vVulkanCore);
void Unit();
diff --git a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneTextureGroup.h b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneTextureGroup.h
index 80957974d..7b07f5137 100644
--- a/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneTextureGroup.h
+++ b/libs/LumoBackend/include/LumoBackend/SceneGraph/SceneTextureGroup.h
@@ -52,7 +52,7 @@ class LUMO_BACKEND_API SceneTextureGroup :
public:
SceneTextureGroup();
- ~SceneTextureGroup();
+ virtual ~SceneTextureGroup();
bool Init(GaiApi::VulkanCoreWeak vVulkanCore);
void Unit();
diff --git a/libs/LumoBackend/include/LumoBackend/Systems/CommonSystem.h b/libs/LumoBackend/include/LumoBackend/Systems/CommonSystem.h
index 118ffdbd9..b565a4e3a 100644
--- a/libs/LumoBackend/include/LumoBackend/Systems/CommonSystem.h
+++ b/libs/LumoBackend/include/LumoBackend/Systems/CommonSystem.h
@@ -134,7 +134,7 @@ class LUMO_BACKEND_API CommonSystem : public conf::ConfigAbstract, public Camera
CommonSystem& operator=(const CommonSystem&) {
return *this;
}; // Prevent assignment
- ~CommonSystem() = default; // Prevent unwanted destruction
+ virtual ~CommonSystem() = default; // Prevent unwanted destruction
public:
void SetCameraMode(const CAMERA_MODE_Enum& vCameraMode);
diff --git a/libs/LumoBackend/include/LumoBackend/Systems/FilesTrackerSystem.h b/libs/LumoBackend/include/LumoBackend/Systems/FilesTrackerSystem.h
index bb75ba0af..fd8c78fb9 100644
--- a/libs/LumoBackend/include/LumoBackend/Systems/FilesTrackerSystem.h
+++ b/libs/LumoBackend/include/LumoBackend/Systems/FilesTrackerSystem.h
@@ -48,11 +48,11 @@ class LUMO_BACKEND_API FilesTrackerSystem : public efsw::FileWatchListener {
efsw::WatchID watchid, const std::string& dir, const std::string& filename, efsw::Action action, std::string oldFilename = "") override;
FilesTrackerSystem() = default; // Prevent construction
- FilesTrackerSystem(const FilesTrackerSystem&) = default; // Prevent construction by copying
+ FilesTrackerSystem(const FilesTrackerSystem&) = delete; // Prevent construction by copying
FilesTrackerSystem& operator=(const FilesTrackerSystem&) {
return *this;
}; // Prevent assignment
- ~FilesTrackerSystem() = default; // Prevent unwanted destruction
+ virtual ~FilesTrackerSystem() = default; // Prevent unwanted destruction
public:
void addWatch(std::string& vPath);
diff --git a/libs/LumoBackend/include/LumoBackend/Systems/GizmoSystem.h b/libs/LumoBackend/include/LumoBackend/Systems/GizmoSystem.h
index acb85fdc1..b8064c778 100644
--- a/libs/LumoBackend/include/LumoBackend/Systems/GizmoSystem.h
+++ b/libs/LumoBackend/include/LumoBackend/Systems/GizmoSystem.h
@@ -53,5 +53,5 @@ class LUMO_BACKEND_API GizmoSystem {
GizmoSystem& operator=(const GizmoSystem&) {
return *this;
}; // Prevent assignment
- ~GizmoSystem(); // Prevent unwanted destruction
+ virtual ~GizmoSystem(); // Prevent unwanted destruction
};
\ No newline at end of file
diff --git a/libs/LumoBackend/include/LumoBackend/Systems/SceneMerger.h b/libs/LumoBackend/include/LumoBackend/Systems/SceneMerger.h
index 01949b092..84ca095a1 100644
--- a/libs/LumoBackend/include/LumoBackend/Systems/SceneMerger.h
+++ b/libs/LumoBackend/include/LumoBackend/Systems/SceneMerger.h
@@ -49,7 +49,7 @@ class LUMO_BACKEND_API SceneMerger : public BaseRenderer, //
public:
SceneMerger(GaiApi::VulkanCoreWeak vVulkanCore);
- ~SceneMerger() = default;
+ virtual ~SceneMerger() = default;
bool Init();
void Unit();
diff --git a/libs/LumoBackend/src/Base/ShaderPass.cpp b/libs/LumoBackend/src/Base/ShaderPass.cpp
index 42e7777d1..5920815ab 100644
--- a/libs/LumoBackend/src/Base/ShaderPass.cpp
+++ b/libs/LumoBackend/src/Base/ShaderPass.cpp
@@ -859,10 +859,8 @@ vk::PrimitiveTopology ShaderPass::GetPrimitiveTopologyFamily(const vk::Primitive
case vk::PrimitiveTopology::eTriangleStrip:
case vk::PrimitiveTopology::eTriangleFan:
case vk::PrimitiveTopology::eTriangleListWithAdjacency:
- case vk::PrimitiveTopology::eTriangleStripWithAdjacency:
- return vk::PrimitiveTopology::eTriangleList;
- // case vk::PrimitiveTopology::ePatchList:
- // return vk::PrimitiveTopology::ePatchList;
+ case vk::PrimitiveTopology::eTriangleStripWithAdjacency: return vk::PrimitiveTopology::eTriangleList;
+ case vk::PrimitiveTopology::ePatchList: return vk::PrimitiveTopology::ePatchList;
}
return vk::PrimitiveTopology::ePatchList;
diff --git a/libs/LumoBackend/src/Graph/Base/NodeSlotInput.cpp b/libs/LumoBackend/src/Graph/Base/NodeSlotInput.cpp
index dbf3b37a8..0b2f77221 100644
--- a/libs/LumoBackend/src/Graph/Base/NodeSlotInput.cpp
+++ b/libs/LumoBackend/src/Graph/Base/NodeSlotInput.cpp
@@ -21,7 +21,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+//
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Base/NodeSlotOutput.cpp b/libs/LumoBackend/src/Graph/Base/NodeSlotOutput.cpp
index 9cc794941..69691c9c1 100644
--- a/libs/LumoBackend/src/Graph/Base/NodeSlotOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Base/NodeSlotOutput.cpp
@@ -21,7 +21,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+//
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupInput.cpp
index f42f98ac0..4c1c53c31 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+//
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupOutput.cpp
index d0339b5e5..a7c1d786f 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotLightGroupOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotModelInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotModelInput.cpp
index b4027e164..5f21b26c2 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotModelInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotModelInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotModelOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotModelOutput.cpp
index 55a1def76..8c58e33e8 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotModelOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotModelOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassInput.cpp
index 03fa735ba..c33c6875e 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassOutput.cpp
index 4ff75551c..2d031146c 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotShaderPassOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferInput.cpp
index f107b155a..87c14c265 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferOutput.cpp
index 39535a1b3..c5f395e85 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotStorageBufferOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskInput.cpp
index c45512048..b10b77211 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskInput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskOutput.cpp
index 64adfe767..30a37567e 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTaskOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferInput.cpp
index 310ac12c5..7b8687b01 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferOutput.cpp
index 667b05bef..3b0a6735d 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexelBufferOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DInput.cpp
index ff99c727d..658caca6c 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DOutput.cpp
index 56d34f3cb..a2c6b037f 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture2DOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DInput.cpp
index eafe03297..81ccad379 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DOutput.cpp
index 4fce8d520..e29f6bffb 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTexture3DOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeInput.cpp
index 84c528a28..b707a8554 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeOutput.cpp
index 98d096242..9e616d490 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureCubeOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupInput.cpp
index 671064e9f..6105ddecb 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupInput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupOutput.cpp
index 9498bbb13..d8e31332d 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotTextureGroupOutput.cpp
@@ -22,7 +22,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableInput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableInput.cpp
index 37dfb9c84..7ae475d6a 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableInput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableInput.cpp
@@ -24,7 +24,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableOutput.cpp b/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableOutput.cpp
index 5a24e1881..98e73a496 100644
--- a/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableOutput.cpp
+++ b/libs/LumoBackend/src/Graph/Slots/NodeSlotVariableOutput.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static const float slotIconSize = 15.0f;
+
//////////////////////////////////////////////////////////////////////////////////////////////
//// STATIC //////////////////////////////////////////////////////////////////////////////////
diff --git a/libs/LumoBackend/src/SceneGraph/SceneLight.cpp b/libs/LumoBackend/src/SceneGraph/SceneLight.cpp
index 7de41d3e8..88ad4fbaa 100644
--- a/libs/LumoBackend/src/SceneGraph/SceneLight.cpp
+++ b/libs/LumoBackend/src/SceneGraph/SceneLight.cpp
@@ -55,7 +55,7 @@ bool SceneLight::NeedUpdateCamera() {
ZoneScoped;
if (gizmo_was_changed) {
- const glm::mat4 bias(0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.5f, 0.5f, 0.5f, 1.0f);
+ //const glm::mat4 bias(0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f, 0.0f, 0.5f, 0.5f, 0.5f, 1.0f);
switch ((LightTypeEnum)lightDatas.lightType) {
case LightTypeEnum::POINT: {
@@ -82,6 +82,8 @@ bool SceneLight::NeedUpdateCamera() {
case LightTypeEnum::AREA: {
break;
}
+ case LightTypeEnum::NONE:
+ case LightTypeEnum::Count: break;
}
gizmo_was_changed = false;
diff --git a/libs/LumoBackend/src/Systems/FilesTrackerSystem.cpp b/libs/LumoBackend/src/Systems/FilesTrackerSystem.cpp
index 8f7616585..7c4ccebf0 100644
--- a/libs/LumoBackend/src/Systems/FilesTrackerSystem.cpp
+++ b/libs/LumoBackend/src/Systems/FilesTrackerSystem.cpp
@@ -47,7 +47,7 @@ void FilesTrackerSystem::update() {
}
void FilesTrackerSystem::handleFileAction(
- efsw::WatchID vWatchid, const std::string& vDir, const std::string& vFileName, efsw::Action vAction, std::string vOldFilename) {
+ efsw::WatchID vWatchid, const std::string& vDir, const std::string& vFileName, efsw::Action vAction, std::string /*vOldFilename*/) {
UNUSED(vWatchid);
switch (vAction) {
diff --git a/libs/LumoBackend/src/Systems/GizmoSystem.cpp b/libs/LumoBackend/src/Systems/GizmoSystem.cpp
index 5fc49e5b0..9e9a1b5e1 100644
--- a/libs/LumoBackend/src/Systems/GizmoSystem.cpp
+++ b/libs/LumoBackend/src/Systems/GizmoSystem.cpp
@@ -23,7 +23,7 @@ limitations under the License.
#include
#include
-static bool useGizmoCulling = false;
+//static bool useGizmoCulling = false;
GizmoSystem::GizmoSystem() {
Init();
@@ -93,7 +93,7 @@ bool GizmoSystem::DrawGizmoTransformDialog(GizmoInterfaceWeak vGizmo) {
auto gizmoPtr = vGizmo.lock();
if (gizmoPtr) {
- float matrixTranslation[3], matrixRotation[3], matrixScale[3], matrixRotationEmpty[3] = {0.0f, 0.0f, 0.0f};
+ float matrixTranslation[3], matrixRotation[3], matrixScale[3];//, matrixRotationEmpty[3] = {0.0f, 0.0f, 0.0f};
ImGuizmo::DecomposeMatrixToComponents(gizmoPtr->GetGizmoFloatPtr(), matrixTranslation, matrixRotation, matrixScale);
ImGui::BeginGroup();
diff --git a/src/Headers/LumoBuild.h b/src/Headers/LumoBuild.h
index 529db6a01..f7b8545d4 100644
--- a/src/Headers/LumoBuild.h
+++ b/src/Headers/LumoBuild.h
@@ -1,7 +1,7 @@
#pragma once
#define Lumo_Prefix "Lumo"
-#define Lumo_BuildNumber 5564
+#define Lumo_BuildNumber 5569
#define Lumo_MinorNumber 0
#define Lumo_MajorNumber 0
-#define Lumo_BuildId "0.0.5564"
+#define Lumo_BuildId "0.0.5569"
diff --git a/src/Panes/GraphPane.h b/src/Panes/GraphPane.h
index 462c5bec5..914453426 100644
--- a/src/Panes/GraphPane.h
+++ b/src/Panes/GraphPane.h
@@ -44,7 +44,7 @@ class GraphPane : public conf::ConfigAbstract, public AbstractPane {
bool DrawDialogsAndPopups(
const uint32_t& vCurrentFrame, const ImVec2& vMaxSize, ImGuiContext* vContextPtr = nullptr, void* vUserDatas = nullptr) override;
- void DrawDebugInfos();
+ void DrawDebugInfos() override;
void DrawProperties();
void Clear();