|
1 | 1 | # Ramses Changelog |
2 | 2 |
|
| 3 | +28.0.0-rc3 |
| 4 | +------------------- |
| 5 | +### Added <a name=28.0.0-rc3.Added></a> |
| 6 | +- added `ramses-viewer` tool. It replaces `ramses-scene-viewer` and `ramses-logic-viewer` |
| 7 | +- added `RenderBufferBinding` which can be used in logic to modify `RenderBuffer` properties before it is allocated on renderer |
| 8 | +- added `RamsesFrameworkConfig::setLoggingInstanceName` to set a global instance name used as prefix in all Ramses logs |
| 9 | + |
| 10 | +### Changed <a name=28.0.0-rc3.Changed></a> |
| 11 | +- Headless shared lib always gets built |
| 12 | +- removed automatic validation when saving scene to a file (also removed the parameter from SaveFileConfig) |
| 13 | +- Modernized `MipLevelData` and `CubeMipLevelData`. Data are no longer stored with raw pointers |
| 14 | + - Updated `RamsesUtils::GenerateMipMapsTexture2D` and `RamsesUtils::GenerateMipMapsTextureCube` to return a pointer of vector of the respective mip level data |
| 15 | + - Updated `RamsesUtils::DeleteGeneratedMipMaps` for deleting the vector pointers |
| 16 | +- `Texture2DBuffer::updateData` now takes std::bytes |
| 17 | +- `Scene::saveToFile` implicitly updates all logic engine instances and flushes the scene before saving, the method is therefore no longer const |
| 18 | + |
| 19 | +### Removed <a name=28.0.0-rc3.Removed></a> |
| 20 | +- removed `ramses-scene-viewer` - use `ramses-viewer` instead |
| 21 | +- removed `ramses-logic-viewer` - use `ramses-viewer` instead |
| 22 | +- removed `ramses-logic-viewer-headless` - use `ramses-viewer-headless` instead |
| 23 | +- removed cmake option `ramses-sdk_BUILD_HEADLESS_SHARED_LIB` for enabling headless shared lib since it always gets built now |
| 24 | + |
3 | 25 | 28.0.0-rc2 |
4 | 26 | ------------------- |
5 | 27 | ### Added <a name=28.0.0-rc2.Added></a> |
|
10 | 32 | - Added native support for bool uniforms, no need to use int32_t anymore to set them |
11 | 33 | - existing application code using `Appearance::setInputValue` with `int32_t` type to set boolean shader uniforms must change to use `bool` type now! |
12 | 34 | - Supported bool for the data container `ramses::DataObject` |
13 | | -- Added `RamsesFramework::getFeatureLevel()` to easily guery EFeatureLevel |
| 35 | +- Added `RamsesFramework::getFeatureLevel()` to easily query EFeatureLevel |
14 | 36 | - Added `RamsesClient::getRamsesFramework()` to be able to get reference to `RamsesFramework` from `RamsesClient` |
15 | 37 | - this can be used for example to get feature level just by having a `Scene` instance: myScene.getRamsesClient().getRamsesFramework().getFeatureLevel() |
16 | 38 | - Added `SceneObject::getScene()` to get reference to owning `Scene` from any object created from that Scene |
|
22 | 44 |
|
23 | 45 | ### Changed <a name=28.0.0-rc2.Changed></a> |
24 | 46 |
|
25 | | -- Modernized mipLevelData from C-style array to vector for Scene::createTexture2D(), Scene::createTexture3D() and Scene::createTextureCube() |
| 47 | +- Modernized mipLevelData from C-style array to vector for `Scene::createTexture2D()`, `Scene::createTexture3D()` and `Scene::createTextureCube()` |
26 | 48 | - Scene::findObject now also searches for logic objects in all existing logic engines |
27 | 49 | - Switched from fmt 7.0.1 to 10.1.1 |
28 | 50 | - Switched from google-benchmark 1.5.2 to 1.8.3 |
29 | 51 | - Switched from google-flatbuffers 1.12.0 to 23.5.9 |
30 | 52 | - LogicEngine is now part of Scene and can only be created using Scene::createLogicEngine |
31 | | - - LogicEngine is now a SceneObject of type ERamsesObjectType::LogicEngine and its lifecycle is managed by Scene as for any other SceneObject. LogicEngine is no longer a movable type. |
32 | | - - removed scene argument from all loading functions in LogicEngine: loadFromFile, loadFromFileDescriptor, loadFromBuffer |
| 53 | + - LogicEngine is now a SceneObject of type ERamsesObjectType::LogicEngine and its lifecycle is managed by Scene as for any other SceneObject. LogicEngine is no longer a move-able type. |
| 54 | + - removed the ramses::Scene argument from all loading functions in LogicEngine: loadFromFile, loadFromFileDescriptor, loadFromBuffer (is now implicit) |
33 | 55 | - LogicObject now derives from SceneObject and therefore RamsesObject |
34 | | - - LogicObject::getId is renamed to LogicObject::getLogicObjectId |
35 | | - - LogicObject::setName/getName are removed, methods with same name and functionality (but different return type!) are in base class RamsesObject |
36 | | - - LogicObject::set/getUserId moved to its base RamsesObject so any RamsesObject can use it now |
| 56 | + - `LogicObject::getId` is renamed to `LogicObject::getLogicObjectId` |
| 57 | + - `LogicObject::setName/getName` are removed, methods with same name and functionality (but different return type!) are in base class RamsesObject |
| 58 | + - `LogicObject::set/getUserId` moved to its base RamsesObject so any RamsesObject can use it now |
37 | 59 | - RamsesObject.h and RamsesObjectTypes.h moved from `client` include folder to `framework`, update include paths accordingly |
38 | | -- RamsesObject::getName returns std::string_view instead of const char* |
| 60 | +- `RamsesObject::getName` returns `std::string_view` instead of `const char*` |
39 | 61 | - Reworked API error handling for all public Ramses classes: |
40 | 62 | - removed `status_t`, `StatusOK`, `StatusObject::getStatusMessage`, `LogicEngine::getErrors`, `ErrorData` and the whole `StatusObject` class |
41 | 63 | - all API methods that can fail (at API call time) return `bool` (true for success) |
42 | 64 | - errors are now collected centrally in `RamsesFramework` |
43 | 65 | - `RamsesFramework::getLastError` can be used to get the last error that occurred (as optional), calling it will clear the error |
44 | 66 | - configs and other not managed objects (`RamsesFrameworkConfig`, `RendererConfig`, `DisplayConfig`,`SceneConfig`, `RenderTargetDescription`, `EffectDescription`, `EffectInput`) |
45 | | - no longer inherit from StatusObject. Their methods also return `bool` but error messages are only logged (not tracked with `getLastError`). |
| 67 | + no longer inherit from `StatusObject`. Their methods also return `bool` but error messages are only logged (not tracked with `getLastError`). |
46 | 68 | - `RenderTargetDescription::addRenderBuffer` has optional argument to get human readable description of error if failed |
47 | 69 | - Export whole API classes in shared libs, instead of exporting only public functions |
48 | 70 | - Changed default publishing mode of scenes from EScenePublicationMode::LocalAndRemote to EScenePublicationMode::LocalOnly |
|
66 | 88 | - Removed `EffectInput::isValid` because `UniformInput` and `AttributeInput` objects are always valid now |
67 | 89 | - Changed `EffectInput::getDataType` to return `EDataType` instead of `optional<EDataType>` |
68 | 90 | - DisplayConfig::validate produces warnings or errors if suboptimal or wrong settings are set, e.g., incompatible window and device types are set |
69 | | -- Remove the 4096 upper limit of offscreen buffer size in RamsesRenderer. The buffer size is limited by the driver. |
| 91 | +- Remove the 4096 upper limit of offscreen buffer size in RamsesRenderer. The buffer size is limited by the OpenGL driver. |
70 | 92 | - Changed LogHandlerFunc to use `std::string_view` instead of `const std::string&` |
71 | 93 | - ramses-logic logs are output to DLT (context 'RCLI') |
72 | 94 | - Changed clear flags parameters from `uint32_t` to `ramses::ClearFlags` (`ramses::Flags<ramses::EClearFlag>`) |
73 | 95 | - Remove cmake option `ramses-sdk_BUILD_IVI_TEST_APPS` |
74 | 96 | - ivi-gears and ivi-simple-dmabuf-egl are now controlled with option for building tools |
75 | | -- Remove check for cmake variable `ramses-sdk_DISABLE_WAYLAND_IVI_EXTENSION`. The extensions get built if the required |
| 97 | +- Remove check for cmake variable `ramses-sdk_DISABLE_WAYLAND_IVI_EXTENSION`. The extensions are built if the required |
76 | 98 | dependencies are available |
77 | 99 | - Changed key modifier flags parameters from `uint32_t`to `ramses::KeyModifiers` (`ramses::Flags<ramses::EKeyModifier>`) |
78 | 100 | - Moved `ramses-client-api/TextureEnums.h` to `ramses/framework/TextureEnums.h` |
|
0 commit comments