Skip to content

Commit 989ced7

Browse files
committed
Release v2.1.0
1 parent 1bfc8dc commit 989ced7

File tree

220 files changed

+16699
-1215
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+16699
-1215
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,30 @@ If a copy of the MPL was not distributed with this file, You can obtain one at h
2424
2525
-->
2626

27+
## [2.1.0] Render View, Python Console, Performance Table, Misc Improvements and Bugfixes
28+
* **File version number has changed. Files saved with RaCo 2.1.0 cannot be opened by previous versions.**
29+
30+
### Added
31+
* Added render view widget containing a hierarchical view of the render setup of the scene and the rendered parts of the scene graph.
32+
* Added python script editor and interactive python console.
33+
* Added possibility to run python scripts on save. A project-specific script to execute before saving can be configured via the `ProjectSettings` object while an additional global script can be configured via the preferences dialog.
34+
* Added performance table widget allowing to record runtime statistics of `LogicEngine` scripts and objects.
35+
* Added support for the new attribute naming convention of color attributes in the Blender glTF exporter. The `_COLOR_N` attributes are now imported as color attributes if no attribute using the `COLOR_N` form is present in the glTF file.
36+
* Added support for import of `Vec3` color attributes in the glTF importer. The alpha channel will be set to `1.0` in this case.
37+
* Made `width`, `height`, and `sampleCount` properties of `RenderBuffer` and `RenderBufferMS` objects linkable. Note that outside RamsesComposer modifying these properties via link is only allowed before the Ramses renderer is initialized.
38+
39+
### Changes
40+
* Increased the size limit of `RenderBuffer` and `RenderBufferMS` objects, and the preview size to `8192x8192` pixels. The viewport properties of cameras and the region properties of `BlitPasses` have also been changed accordingly.
41+
* Allow exporting with Ramses warnings by default in the headless application. This behaviour can be changed with the new `-w` command line option which switches to handling Ramses warnings as errors when exporting.
42+
43+
### Fixes
44+
* Added fallback texture which prevents empty texture slots causing the rendered object to become invisible.
45+
* Do not clear the framebuffer when zooming into the preview. The preview will continue to show the current framebuffer state when zooming even if all `RenderPasses` rendering into the framebuffer are disabled.
46+
* Prevent long lists of `RenderPasses` or `RenderLayers` shown in the "Rendered By:" and "Added To:" sections below the `tag` property in the property browser forcing a very wide property browser.
47+
* Set all target `MeshNodes` in the `Skin` object when importing skin objects with multiple target nodes from gltf files.
48+
* If the preview setup fails the preview will now enter an error state indicated by an `ERROR` status displayed at the bottom. The project can still be modified, saved, or exported in this state.
49+
50+
2751
## [2.0.0] Switch to Ramses 28, Abstract Scene View, Misc UI Iprovements and Bugfixes
2852
* **This is a major version upgrade for both RamsesComposer and Ramses/LogicEngine containing changes that can break existing scenes.**
2953
* **File version number has changed. Files saved with RaCo 2.0.0 cannot be opened by previous versions.**

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,17 @@ cmake_minimum_required(VERSION 3.19)
1111

1212
SET(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo")
1313

14-
project(RaCoOS VERSION 2.0.0)
14+
project(RaCoOS VERSION 2.1.0)
1515

1616
SET(RACO_RELEASE_DIRECTORY ${CMAKE_BINARY_DIR}/release)
1717

1818
SET(HEADLESS_RELEASE_DIRECTORY ${CMAKE_BINARY_DIR}/release_headless)
1919

20+
# Fix compiler error on msvc. Details: https://github.com/microsoft/cpprestsdk/issues/1768
21+
if(WIN32)
22+
add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
23+
endif()
24+
2025
# The build and deployment process for Python works differently for Linux and Windows.
2126
# Windows:
2227
# * RaCo builds and runs without Python being installed.

EditorApp/main.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -236,29 +236,34 @@ int main(int argc, char* argv[]) {
236236
}
237237

238238
if (app) {
239+
std::vector<std::string> pos_argv_s;
240+
pos_argv_s.emplace_back(pythonScriptPath.toStdString());
241+
for (auto arg : pythonArguments) {
242+
pos_argv_s.emplace_back(arg);
243+
}
244+
239245
std::vector<std::wstring> wPythonSearchPaths;
240246
for (auto& path : pythonSearchPaths) {
241247
wPythonSearchPaths.emplace_back(path.toStdWString());
242248
}
243249

244-
MainWindow w{app.get(), &rendererBackend, wPythonSearchPaths};
250+
MainWindow w{app.get(), &rendererBackend};
245251
if (!objectToFocusId.isEmpty()) {
246252
w.Q_EMIT focusRequestedForTreeDock(objectToFocusId, "");
247253
}
248254

255+
bool isInterpreterInitialized = python_api::initializeInterpreter(app.get(), QCoreApplication::applicationFilePath().toStdWString(), wPythonSearchPaths, pos_argv_s);
249256
if (!pythonScriptPath.isEmpty()) {
250-
auto pythonScriptPathStr = pythonScriptPath.toStdString();
251-
std::vector<const char*> pos_argv_cp;
252-
pos_argv_cp.emplace_back(pythonScriptPathStr.c_str());
253-
for (auto& s : pythonArguments) {
254-
pos_argv_cp.emplace_back(s.c_str());
255-
}
257+
if (isInterpreterInitialized) {
258+
const auto currentRunStatus = python_api::runPythonScriptFromFile(pythonScriptPath.toStdString());
256259

257-
auto currentRunStatus = python_api::runPythonScript(app.get(), QCoreApplication::applicationFilePath().toStdWString(), pythonScriptPath.toStdString(), wPythonSearchPaths, pos_argv_cp);
258-
LOG_INFO(log_system::PYTHON, currentRunStatus.stdOutBuffer);
260+
LOG_INFO(raco::log_system::PYTHON, currentRunStatus.stdOutBuffer);
259261

260-
if (!currentRunStatus.stdErrBuffer.empty()) {
261-
LOG_ERROR(log_system::PYTHON, currentRunStatus.stdErrBuffer);
262+
if (!currentRunStatus.stdErrBuffer.empty()) {
263+
LOG_ERROR(log_system::PYTHON, currentRunStatus.stdErrBuffer);
264+
}
265+
} else {
266+
LOG_ERROR(log_system::PYTHON, "Python interpreter initialization failed.");
262267
}
263268
}
264269

0 commit comments

Comments
 (0)