Skip to content

Releases: bmwcarit/ramses-composer

v0.9.3

25 Nov 23:36
Compare
Choose a tag to compare

[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.

v0.9.2

09 Nov 12:22
Compare
Choose a tag to compare

[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

03 Nov 13:55
Compare
Choose a tag to compare

[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.
  • 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

13 Oct 12:08
Compare
Choose a tag to compare

[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.
  • 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

23 Jul 09:29
Compare
Choose a tag to compare

[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 and RaCoHeadless.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

01 Jun 08:11
Compare
Choose a tag to compare

Initial RamsesComposer Open Source release