-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
75ef0dd
commit 761132e
Showing
897 changed files
with
232,487 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# List of clang-format options: https://clang.llvm.org/docs/ClangFormatStyleOptions.html | ||
# Clang-format file generator + preview: https://zed0.co.uk/clang-format-configurator/ | ||
--- | ||
BasedOnStyle: Google | ||
IndentWidth: '4' | ||
TabWidth: '4' | ||
UseTab: Always | ||
ColumnLimit: 0 | ||
AlignAfterOpenBracket: DontAlign | ||
AccessModifierOffset: -4 | ||
IncludeBlocks: Preserve | ||
IncludeCategories: | ||
- Regex: '^".*' | ||
Priority: 1 | ||
- Regex: '^<.*' | ||
Priority: 2 | ||
- Regex: '.*' | ||
Priority: 3 | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# List of clang-tidy checks: https://clang.llvm.org/extra/clang-tidy/checks/list.html | ||
# Remember that this list is only used to display hints to a coder when to do stuff | ||
# differently - not something to be used to fix stuff automatically. | ||
# We generally aim to make new C++ features more visible to coders, | ||
# while accepting a few more hints than strictly necessary. | ||
# Obviously we need to find a good overall balance. | ||
# | ||
# This is a continuously evolving draft, if you have improvements, discuss them with the RaCO OSS team. | ||
# | ||
# Notes to the removed checks: | ||
# | ||
#-bugprone-suspicious-include | ||
# I have never seen a cpp file included by accident instead of the header file, | ||
# but there are cases during half-baked refactoring where splitting a cpp file | ||
# into several files can make sense. | ||
# | ||
#-google-explicit-constructor, | ||
# While I have seen code causing problems by myriads of implicit constructors, | ||
# it is rare as long as everybody stays sane and implicit conversions can | ||
# be very useful for syntactic sugar. | ||
# | ||
#-google-runtime-operator, | ||
# I would leave this up to the judgement of the coder. | ||
# Of course it is bad idea to go crazy on operator overloading, | ||
# but there might be rare cases where it does make sense. | ||
# | ||
#-modernize-return-braced-init-list, | ||
# "return { somethingorother, bbalbal };" at the end of a function | ||
# is not necessarily more readable than "return Foo(somethingorother, bbalbal);"? | ||
# | ||
#-modernize-use-nodiscard, | ||
# Why are people fussed about discarded return values? | ||
# The only case where I would consider a warning about a discarded return value useful | ||
# is a function which returns an error code (and by all means, add the nodiscard | ||
# attribute to those). | ||
# | ||
#-modernize-use-trailing-return-type, | ||
# Example: virtual auto myfunction() -> std::vector<int>::iterator | ||
# Not sure about this one. Certainly people should be aware that it can simplify things in quite a few cases | ||
# to have the trailing return type, and also make things more readable. | ||
# On the other hand, in the most common cases with simple return types, this just adds another "auto" to write/read. | ||
# See also https://stackoverflow.com/questions/11215227/should-the-trailing-return-type-syntax-style-become-the-default-for-new-c11-pr | ||
# | ||
#-readability-convert-member-functions-to-static, | ||
# Don't think every function which can be declared static should be declared static. | ||
# There are good semantic reasons to keep functions non-static (i. e. allow to make | ||
# them non-static later without changing all calls to them). | ||
# | ||
#-clang-analyzer-security.insecureAPI.*' | ||
# We want to be able to use strcpy etc without being told off? | ||
# | ||
FormatStyle: file | ||
Checks: '-*, | ||
boost-use-to-string, | ||
bugprone-*, | ||
-bugprone-suspicious-include, | ||
google-*, | ||
-google-explicit-constructor, | ||
-google-runtime-operator, | ||
llvm-include-order, | ||
misc-*, | ||
modernize-*, | ||
-modernize-return-braced-init-list, | ||
-modernize-use-nodiscard, | ||
-modernize-use-trailing-return-type, | ||
performance-*, | ||
readability-*, | ||
-readability-convert-member-functions-to-static, | ||
clang-analyzer-*, | ||
-clang-analyzer-security.insecureAPI.*' | ||
HeaderFilterRegex: '[\w+\\]*\w+.h' | ||
CheckOptions: | ||
# Classes with only public members can be quite useful. | ||
- {key : misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: 1 } | ||
# Don't do this for anything but pretty long names. Types are generally more informative than "auto", | ||
# particularly for assignments if the assigned type is not readily available (e. g. auto x = myFunkyFunctionWithSevenOverloads()). | ||
# Unfortunately modernize-use-auto does not allow to limit it to cases where the type is explicitly part of the assigned value | ||
# (e. g. auto x = new MyFunkyClass()) | ||
- {key : modernize-use-auto.MinTypeNameLength, value: 8 } | ||
- {key : readability-identifier-naming.PrivateMemberSuffix, value: _ } | ||
- {key : readability-identifier-naming.ProtectedMemberSuffix, value: _ } | ||
#- {key : readability-identifier-naming.PublicMemberSuffix, value: } | ||
- {key : readability-identifier-naming.MemberCase, value: camelBack } | ||
- {key : readability-identifier-naming.ClassCase, value: CamelCase } | ||
- {key : readability-identifier-naming.GlobalFunctionCase, value: camelCase } | ||
- {key : readability-identifier-naming.MethodCase, value: camelBack } | ||
- {key : readability-identifier-naming.VariableCase, value: camelBack } | ||
- {key : readability-identifier-naming.VariableCase, value: camelBack } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
*.ramres filter=lfs diff=lfs merge=lfs -text | ||
*.ramses filter=lfs diff=lfs merge=lfs -text | ||
*.png filter=lfs diff=lfs merge=lfs -text | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,7 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Fortran module files | ||
*.mod | ||
*.smod | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
build*/ | ||
out/ | ||
.vscode/ | ||
vc140.pdb | ||
.vs/ | ||
Testing/ | ||
CMakeLists.txt.user |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
[submodule "third_party/googletest"] | ||
path = third_party/googletest | ||
url = https://github.com/google/googletest.git | ||
branch = master | ||
[submodule "third_party/spdlog"] | ||
path = third_party/spdlog | ||
url = https://github.com/gabime/spdlog.git | ||
[submodule "third_party/Qt-Advanced-Docking-System"] | ||
path = third_party/Qt-Advanced-Docking-System | ||
url = https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git | ||
[submodule "third_party/ramses-logic"] | ||
path = third_party/ramses-logic | ||
url = https://github.com/GENIVI/ramses-logic.git | ||
[submodule "third_party/assimp"] | ||
path = third_party/assimp | ||
url = https://github.com/assimp/assimp.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
<!-- | ||
SPDX-License-Identifier: MPL-2.0 | ||
This file is part of Ramses Composer | ||
(see https://github.com/GENIVI/ramses-composer). | ||
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. | ||
If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
--> | ||
# Ramses Composer - Change Log | ||
|
||
<!--- Template for next release section | ||
## [unreleased] | ||
### Added | ||
### Changes | ||
### Fixes | ||
### Known Bugs | ||
--> | ||
|
||
## [0.8.1] | ||
|
||
### Added | ||
* RamsesComposer can now be run on Ubuntu 18.0.4. | ||
|
||
### Changes | ||
* Update from ramses-logic 0.6.0 to ramses-logic 0.6.1 | ||
* Update from ramses 27.0.102 to ramses 27.0.103 | ||
* Removed RACO_CONVENTIONS.md - superseded with the Ramses Composer documentation repository: https://github.com/GENIVI/ramses-composer-docs | ||
* PrefabInstance interface scripts (LuaScripts on PrefabInstance top level) now get exported with the object name "<Prefab Instance name>.<LuaScript name>". | ||
* The folder and library structure has been cleaned up. | ||
* LuaScripts that have no parent are not displayed in the Resource tree anymore. | ||
* LuaScripts can not be created via the Resource tree context menu anymore. | ||
* Change classification of LuaScript objects to non-resource type object. | ||
* Changed ramses node binding object name from _Binding to _NodeBinding suffix. | ||
* Insert appearance and geometry binding objects as children of their MeshNode in the exported objects tree of the export dialog. | ||
* CHANGELOG.MD can now be found in the root of the release folder, and the README.MD can now also be found there. | ||
* The "Import Project" dialog now opens at the user projects directory (setting in "Preferences") instead of the last used path for URIs | ||
* Added the C++ runtime libraries to the release/bin/RelWithDebInfo folder so the release version of RamsesComposer and RaCoHeadless can be run on a fresh system. | ||
* Removed unneeded Qt libraries from the bin folder and added the LGPLv3 license. | ||
* Visual Studio configurations have been reduced to Debug and RelWithDebInfo as those two are the only ones supported. | ||
|
||
### Fixes | ||
* Added camera bindings to list of exported objects shown in the export dialog. | ||
* Fixed layouts not being restored when switching projects while layout.ini file is not present | ||
* Shallow-copy-pasting a PrefabInstance without the Prefab will not contain children of the PrefabInstance anymore. | ||
|
||
## [0.8.0] | ||
|
||
### Added | ||
* Added external reference feature allowing to use parts of other projects in the current project. The external references used are automatically updated when the origin project changes. | ||
* Layout persistence - UI dock layout will be restored when restarting Ramses Composer or loading another project | ||
* Custom layout saving - it is now possible to save, restore and delete the current UI dock layout via the menu bar -> "View" -> "Layouts" | ||
* Support for links on frustrum and viewport camera properties (camera bindings). | ||
|
||
### Changes | ||
* Update from ramses-logic 0.5.2 to ramses-logic 0.6.0 | ||
* Update from ramses 27.0.100 to ramses 27.0.102 | ||
* Update from qt-Advanced-Docking-System commit ID f5433182 to 3.7.1 | ||
* Import of meshes with negative scales has been temporarily prohibited because of Assimp being too clever with glTF importing - see https://github.com/assimp/assimp/issues/3784 | ||
* LUA runtime error are now shown in the property browser of the script causing the error, not only in the console log. | ||
* All other LUA scripts show a warning in the property browser containing the name of the failing script. | ||
* Change of RenderGroup approach: Entire scene is now one RenderGroup instead of having multiple one-to-one node RenderGroups; meshes are still rendered in Scene Graph order | ||
* Disabled creating a Preview while another Preview is already open as a temporary crash prevention measure | ||
|
||
### Fixes | ||
* Fixed default mesh index, vertex data and effects still persisting in scene when no MeshNode is using them | ||
|
||
### Known Bugs | ||
* Undocking the Ramses Preview window, then inserting it in another dock may not properly dock the Ramses Preview window at first try - but at second try | ||
* You may need to delete the "layout.ini" file in your "configfiles" folder to fully disable multiple preview window creation | ||
|
||
|
||
## [0.7.3] | ||
|
||
### Added | ||
* Caching of links from/to outdated LuaScript and MeshNode uniform properties | ||
|
||
### Changes | ||
* Prefabs are now managed in their own prefab view rather than the scene graph | ||
|
||
### Fixes | ||
* Updates of nodes will not change around rendering order anymore | ||
* Crash when removing a project file in the file browser while that project is loaded & expanded in the Project Browser has been fixed | ||
* Links inside nested prefabs are no longer lost on reload or paste | ||
* Removed unnecessary recalculation of rendering order | ||
* Fixed Tree Views not properly updating when moving top-level nodes from one Tree View to another | ||
* Added caching of values for struct members of outdated lua script properties. | ||
* Fixed "<empty>" reference drop-down menu option not appearing in first place at all times, leading to false reference assignments | ||
* Removing a link in a prefab will now correctly update the linked endpoint properties in the prefab instances. | ||
* Fixed caching of lua script input properties inside prefab instances to work also when the corresponding prefab lua script breaks. | ||
|
||
|
||
## [0.7.2] | ||
|
||
### Added | ||
* Prefab support. | ||
* Prefabs can be created in the Scenegraph | ||
* Top-level LUA scripts in Prefab act as interface to the outside | ||
* Prefab instances (read-only) can be created, need to reference a Prefab | ||
* Properties that reference another project object contain a new "select referenced object" button in the Property Browser | ||
* added URI property for an optional file with shader defines (*.def) to Material | ||
* the file can contain the name of a compiler define in each line | ||
* the defines are injected into all three shaders before compiling them | ||
* empty lines and lines starting with "//" are allowed and ignored | ||
* Path sanitation for URI properties (whitespaces get trimmed and slashes get normalized to forward slashes) | ||
* Project Browser - It is now possible to load external Ramses Composer projects and show their scenegraph structure in the UI | ||
* "Original fit" preview mode | ||
* Linux support for headless version (experimental) | ||
* Added support for tangent, bitangent and color attributes for meshes. | ||
* Export dialog calls Ramses validation function and displays errors and warnings | ||
* Empty references are highlighted in warning color | ||
* On Dual GPU systems with Windows, the executable is now trying to force the High-End GPU (using NvOptimusEnablement / AmdPowerXpressRequestHighPerformance). | ||
|
||
### Changes | ||
* Update from ramses-logic 0.4.1 to ramses-logic 0.5.2 | ||
* Update from ramses 27.0.2 to ramses 27.0.100 | ||
* Update from Qt 5.15.0 to Qt 5.15.2 | ||
* Update to latest master of Assimp (for bugfix) | ||
* Warning color in UI changed from yellow to orange to distinguish from selection | ||
* Added icons to scene graph and resource view | ||
* Read-only elements in scene graph are shown as disabled | ||
* Comboboxes in property browser are no longer changed by the mousewheel | ||
* Sliders show arrows on mouseover to decrement or increment their value | ||
|
||
### Fixes | ||
* Fixed crash when loading files with links when the lua files of the linked lua objects have been changed on disk since the last project save. | ||
* All Ramses objects are assigned meaningful names | ||
* Name changes are synced to Ramses immediately and can be exported. | ||
* New scenegraph drag-drop exemption: dragging an object into itself or one of its children is now disallowed | ||
* Semantic uniforms are no longer shown in property browser | ||
* Edit Menu Undo/Redo action actually works now | ||
|
||
### Known Bugs | ||
* Ramses Composer UI version will not properly launch under Linux. | ||
|
||
|
||
## [0.7.0] | ||
|
||
### Added | ||
* Support for glTF mesh selection & scenegraph import from gltf asset files. | ||
* Propagation of mesh import error messages to Ramses Composer UI | ||
* Assimp logger output in Ramses Composer logger output | ||
* Textures with no valid URI assigned show a fallback test pattern | ||
* Textures have adjustable origin for U/V coordinates | ||
* texture images are flipped vertically if required | ||
* default setting is compatible with blender default U/V handling | ||
* CubeMaps without a valid set of images show a fallback test pattern | ||
* Added error messages for CubeMap URIs | ||
* RACO_CONVENTIONS.md - a Markdown file that explains Ramses Composer-internal conventions | ||
* Unique naming mechanism for created & pasted objects | ||
* Lexicographical sorting of Resource objects in Tree View and Property Browser | ||
|
||
### Changes | ||
* Added LGPL 2.1 license file. | ||
* Added license headers for all source files and documents. | ||
|
||
### Fixes | ||
* Missing and invalid URIs for textures are marked in yellow and red. | ||
* Reduced permanent output log spam when Ramses logic detects a runtime error. | ||
* Fixed Shortcuts sometimes not working by setting Save, Undo and Redo shortcuts to application level context. | ||
* Widgets which have a local implementation will still use their own implementation instead of the application level behaviour. E.g. while a Line Edit is focused, undo and redo will only affect the local text changes inside the widget. | ||
* Link editor dialog is always fully visible, never positioned partially off screen. | ||
* Saving a new project will now correctly change relative URIs of Resources. | ||
* Fixed crash in paste after deep copy for some complicated situations. | ||
|
||
|
||
## [0.6.2] | ||
|
||
### Added | ||
|
||
* Using new Rotation Convention feature from ramses 27.0.2 with convention set to ramses::ERotationConvention::XYZ. | ||
* In case of unhandled exceptions, a crash dump file (.dmp) is created in the executable's directory | ||
* Lua arrays of structs are supported. | ||
* New command line parameters for headless executable | ||
* -p for loading a project file | ||
* -e for exporting ramses / logic scene files | ||
* -c for compressing ramses scene on export | ||
* Added standard parameters to both UI and headless executable | ||
* -h for usage help | ||
* -v for version | ||
* CHANGELOG.md will be copied next to the executables on build. | ||
|
||
### Changes | ||
|
||
* Renamed ReleaseNotes.md to CHANGELOG.md (alignment with ramses convention) | ||
* Update from ramses-logic 0.3 to 0.4.1 | ||
* Update from ramses 26.0.6 to ramses 27.0.2 | ||
* Enabled EditorObject's applying names to ramses::Resources | ||
* Exported ramses::Resources in scene's should now have matching names set in the Editor. | ||
* This feature was previously disabled because of a bug in ramses 26.0.4. | ||
|
||
### Fixes | ||
|
||
* Defined a rendering order. As of this version the rendering order follows the order of scenegraph nodes. | ||
* Indexing of Lua arrays starts from 1. | ||
* Undo/redo of scenegraph moves is now correct. | ||
* Linking for arrays of struct is now supported for both entire arrays and single elements. | ||
|
||
|
||
## [0.6.1] | ||
|
||
### Changes | ||
|
||
* Adjustable viewport size for preview in settings | ||
* Default project path is now relative to executable instead of in windows documents path | ||
* Updated from Ramses 26.0.4 to Ramses 26.0.6. | ||
|
||
### Fixes | ||
|
||
* crashes if document folder or project folder were using network drives | ||
* crash in export preview for some scenes | ||
|
||
## [0.6.0] | ||
|
||
Initial release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
set(GRAPHVIZ_IGNORE_TARGETS "^.+test$" "Qt5" "absl_.*" "^ramses-" "platform-" fmt lz4 psapi flatbuffers lua sol2 "rlogic-" imgui flatc "gtest_" "gmock" "harfbuzz" "Surface_" "Context_" "Window_" "Device_" opengl32 qtadvanceddocking AdvancedDockingSystemDemo CentralWidgetExample DeleteOnCloseTest EmptyDockAreaExample SidebarExample SimpleExample benchmark_main freetype "-ignore" lzma "spdlog" "Threads::Threads" zlibstatic assimp openctm libLodepng) | ||
set(GRAPHVIZ_GENERATE_PER_TARGET FALSE) | ||
set(GRAPHVIZ_GENERATE_DEPENDERS FALSE) |
Oops, something went wrong.