Releases: bmwcarit/ramses-composer
Releases · bmwcarit/ramses-composer
v0.9.3
[0.9.3] Update to ramses-logic 0.12.0
Changes
- Update from ramses-logic 0.11.0 to ramses-logic 0.12.0
- BREAKING CHANGE: It is no longer possible to use global variables in the Lua Script functions.
- There are now better alternatives:
- init() function
- Custom modules
- Docs for new behavior: see Lua docs
- There are now better alternatives:
- BREAKING CHANGE: It is no longer possible to use global variables in the Lua Script functions.
v0.9.2
[0.9.2] Update to ramses-logic 0.11.0. Minor improvements.
Changes
- Update from ramses-logic 0.10.2 to ramses-logic 0.11.0
- ramses-logic 0.11.0 introduces a new "init()" function for global variables. For details see ramses-logic CHANGELOG/docs.
- Update from ramses 27.0.112 to ramses 27.0.113
- Windows and Linux builds no longer contain debug symbols, reducing the size of the zip files significantly.
- For now remove button "Check Resources Used by Enabled Nodes" from the "Import glTF Assets..." dialog to avoid confusion.
- Reshuffling of library code:
- libSerialization is now part of libCore,
- most annotations in libDataStorage have been moved to libCore,
- migration code for loading files saved with older versions has been moved from libComponents to libCore.
Fixes
- Fixed clear flags warning on export for render passes rendering to the default framebuffer.
- Fixed typo in options for "Render Order" property.
- Fixed typo in options for "Material Filter Behaviour" property.
- Suppress logging of misleading error messages to the console during load.
v0.9.1
[0.9.1] Render pipeline bug fixes and minor changes, ramses-logic 0.10.2
Changes
- File version number has changed. Files saved with RaCo 0.9.1 cannot be opened by previous versions.
- Update from ramses-logic 0.9.1 to ramses-logic 0.10.2
- This restores the behaviour of ramses-logic 0.7 (interface method can access things outside its scope). This is a temporary revert and will be reintroduced in an upcoming version again, along other hardening measures!
- Update from ramses 27.0.111 to ramses 27.0.112
- "Import glTF assets..." can no longer import into the root of the scene.
- This is to avoid the need to tag the imported scene to make it visible.
- The menu point has been removed from the "File" main menu as well as the context menu for the root.
- It is now only displayed for object tree entries in which nodes can be created.
- A renderable referenced by a render layer, but not by a render pass now shows the directly referencing render layers in its property browser.
- Render layer property naming changes:
- The "Sort order" property is now called "Render Order".
- The options for the "Sort Order" property are now called "Render order value in 'Renderables Tags'" (default) and "Scene graph order".
- The column header in the tag editor for 'Renderable Tags' specifying the render order is now called "Render Order".
- The "Incl./Excl. Material Filter" property is now called "Material Filter Behaviour".
- "Optimized" was removed from the options in the "Render Order" render layer property.
- It is not needed right now, and was unnecessarily confusing.
- In existing scenes it is replaced with "Determined by render order value".
- The "Ok" and "Cancel" buttons in the tag dialog are now called "Ok" and "Cancel" instead of being displayed as a tick mark and a cross.
Fixes
- A render pass rendering to the default framebuffer no longer marks its "Target" property in orange, and shows it as "Default Framebuffer" instead of "".
- A broken render target now stops a render pass rendering to it from rendering, instead of rendering to the default framebuffer.
- Also: the render pass shows a warning that it won't render due to the broken render target.
- A render target now displays an error if some of its render buffers are either not valid or not set.
- This is due to bmwcarit/ramses#52
- A render target now displays an error if its first render buffer is not set.
- The sampling parameters are hidden for depth buffers.
- Fixed absolute paths for .ramses & .rlogic files not being recognized in the "Export Project" dialog.
- Disallow RenderPass objects being pasted as external references.
- This is a temporary workaround and will be reintroduced in later versions.
- Detect and remove link duplicates in the project files when loading a project. Warning messages will be generated in the log if duplicates are detected.
- Fix bug leading to uniform properties referencing deleted texture objects. Invalid references encountered during loading of project files are discarded and a warning message is logged.
v0.9.0
[0.9.0]
Added
- Added first simple support for offscreen render targets, render passes and render layers.
- It is possible to add render passes, render targets, render buffers and render layers as individual objects.
- Render passes contain references to the render layers which they render.
- A render layer can contain other render layers, nodes and mesh nodes which are rendered when the render layer is rendered.
- The contents of a render layer are determined via tags: the render layer has a property "Renderable tags" which can contain any number of tags.
- Nodes, materials and render layers also have a property "Tags" which can contain any number of tags (also cameras, but those tags are currently unused).
- If a tag in a nodes "Tags" property matches a tag in the render layers "Renderable tags" property, the node and all its children are added to the render layer.
- If a tag in a render layers "Tags" property matches a tag in another render layers "Renderable tags" property, the former render layer is added to the latter render layer.
- Each tag in the "Renderable tags" list has also an order index.
- All renderables in a render layer are rendered in the order given by the order index.
- If a renderable is added to a render layer more than once with different order indices, a scene warning is displayed.
- The render layers also contain a property "Material Filter Tags" and a property "Incl./Excl. Material Filter".
- Those properties can be used to include or exclude mesh nodes based on the materials they use:
- If "Incl./Excl. Material Filter" is set to "Include materials with any of the selected tags", the render layer renders only mesh nodes if they use a material whose "Tags" property contains a tag which matches any tag in the render layers "Material Filter Tags" property.
- If "Incl./Excl. Material Filter" is set to "Exclude materials with any of the selected tags", the render layer renders only mesh nodes if they do not use a material whose "Tags" property contains a tag which matches any tag in the render layers "Material Filter Tags" property.
- Those properties can be used to include or exclude mesh nodes based on the materials they use:
- Added error items for broken links ending on valid properties. Only one combined error item is created for each object.
- Added deselection in the UI - just click on an empty space in the Tree View
- Added dragging and dropping external objects as external reference - hold the Alt key while drag and dropping
- Limit number of entries in recent file menu to 10. Recent file menus longer than 10 entries will be truncated after loading a project.
- Added selective import of glTF Assets. Before importing a glTF file you will be able to select/deselect individual parts of the glTF scenegraph (right now only nodes & meshes).
Changes
- Update from ramses-logic 0.7.0 to ramses-logic 0.9.1
- Update from ramses 27.0.105 to ramses 27.0.111
- !!!!!WARNING!!!!! The new Ramses version has changed order of transformations (previously: first rotation, then scaling, then translation. Now first scaling, then rotation, then translation). This may affect nodes with non-zero rotations and non-uniform scaling.
- Improved copy-paste handling in the GUI.
- The "Paste" context menu will now be disabled in the tree views depending on the types of objects about to be pasted.
- Changed "Paste" context menu item in the Resource tree view to "Paste on Top Level".
- Copy-pasting will prefer Scenegraph objects over Resources, e.g. a deep-copied MeshNode that references a Mesh will not be pasteable in the Resources tree view, vice versa with deep-copied PrefabInstances that reference a Prefab.
- The "U/V Origin" property for Textures has been replaced by a "Flip Vertically" flag.
- Textures that had their origin set to "Top Left" in previous project versions will have the origin flip flag enabled.
- Importing meshes is now done by tinyGLTF instead of Assimp.
- !!!!!WARNING!!!!! Textures that are based on CTM mesh UV coordinates may have to be explicitly flipped by hand.
- !!!!!WARNING!!!!! Shaders that rely on UV coordinates may have to be recompensated due to Assimp flipping the V coordinate.
- Don't create engine objects for Prefabs contents.
- Make the default resource subfolders configurable via the preferences.ini file and the preferences dialog.
- Removed DirectX fallback texture. All fallback textures will use the OpenGL-based image now.
Fixes
- Paths in the recent file menu that are not accessible (either deleted file or no read access) will not be openable in the menu anymore.
- Project files that the user is not allowed to read will not be attempted to be loaded anymore.
- The "Copy" and "Paste" menu entry in the Edit menu is not enabled all the time anymore.
- Fixed "Paste" menu entry in the Edit menu not working anymore when the current layout contains no Tree Views.
- Prevent "paste as external reference" from creating duplicate links when pasting the same objects repeatedly.
- Prevent paste from sometimes dropping links incorrectly when pasting into existing object.
- Don't log error messages when trying to read empty files.
- "Create node" context menu item now generates only a single undo stack entry instead of separate "create" and "move" entries.
- Fix crash when pasting PrefabInstances containing LuaScripts which are based on external reference Prefabs.
- Caused by incorrect modification of the LuaScript URIs during paste.
- Old files will contain incorrect URIs. These are repaired automatically during load and warnings will be logged to the console.
- Projects which cause "Rewrite URI property..." warnings during load should be saved to avoid these warnings in the future.
- Fix external reference update to correctly handle simultaneous scenegraph move and node deletions in all situations.
- Fix prefab update to handle simultaneous scenegraph move and node deletion correctly.
- Reduce memory usage when creating undo stack entries in scenes with many links.
v0.8.3
[0.8.3]
Changes
- Update from ramses-logic 0.6.2 to ramses-logic 0.7.0
- Locked Property Browsers whose item has been deleted, will become automatically unlocked.
- Dynamic LuaScript properties now follow the same alphabetical order as propagated by ramses-logic.
- Material uniforms are now sorted according to their chronological declaration appearance in the shader files.
- Added support for struct properties in the data model. Converted Camera viewport and frustum properties to structs. Allow the camera viewport and frustum structs to be linked as a whole.
Fixes
- Deleting a Node will not affect locked Property Browsers anymore, except when the Property Browser was locked onto the now deleted Node.
- Closed docks do not get cached/saved anymore.
- The Property Browser does not get reset anymore when pressing the Delete key while a read-only object is selected.
[0.8.2]
(not publicly released)
Added
- Error View - a new dock window that lists all editable objects' and external reference update errors in the current scene, with easy go-to functionality (double click or context menu)
- The viewport background color can now be set from the project settings.
- The Linux build no longer requires a pre-installed Qt and can be started directly with shell scripts (
RamsesComposer.sh
andRaCoHeadless.sh
). - Added a default project subfolder structure.
- Saving a project will now generate the following four subfolders in the project root folder: "images", "meshes", "scripts" and "shaders"
- After loading a project, file browsers for new URIs will start at one of the previously mentioned subfolders, depending on what type the URI's root object has
- The folder of the recently changed URI will be cached for next time an object of the same type needs an URI changed
- When the URI file browser can't find the resource subfolder, it will start at the project root folder instead
- The four default resource subfolders in the release folder have been moved from "resources" into "projects"
- The file loader for saving/opening projects starts at the User Projects Directory, and will be cached at the folder of the last saved/opened project.
- Added support for shared materials which are now the default for newly created MeshNodes. The MeshNode now has a "Private Material" flag which can be used
to enable per-meshnode private materials reproducing the old behaviour. Loading of old projects will set the flag to private on import.
Changes
- Update from ramses-logic 0.6.1 to ramses-logic 0.6.2
- Update from ramses 27.0.103 to ramses 27.0.105
- Improved performance of undo/redo, in particular when deleting large numbers of objects, and of prefab updates.
- Changed "Viewport" naming in Project Setting to "Display" naming.
Fixes
- Changes to a geometry shader are now automatically applied even if the same material uses a "Defines URI".
- The "go to referenced object" button is now also enabled for read-only objects.
- Prevent MeshNodes from becoming invisible if they have children in the scenegraph.
- Resize of the preview no longer crashes in Linux (fix in Ramses 27.0.105)
- Identical Ramses Logic errors for an object do not get regenerated in the UI all the time anymore.
- Enabled portrait sizes for project display.
- Fixed runtime errors in scene not getting updated after deleting an object that contains a runtime error.
v0.8.1
Initial RamsesComposer Open Source release