Skip to content

Commit

Permalink
Release v2.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
webermm committed Jun 18, 2024
1 parent 1bfc8dc commit 989ced7
Show file tree
Hide file tree
Showing 220 changed files with 16,699 additions and 1,215 deletions.
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,30 @@ If a copy of the MPL was not distributed with this file, You can obtain one at h
-->

## [2.1.0] Render View, Python Console, Performance Table, Misc Improvements and Bugfixes
* **File version number has changed. Files saved with RaCo 2.1.0 cannot be opened by previous versions.**

### Added
* Added render view widget containing a hierarchical view of the render setup of the scene and the rendered parts of the scene graph.
* Added python script editor and interactive python console.
* 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.
* Added performance table widget allowing to record runtime statistics of `LogicEngine` scripts and objects.
* 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.
* Added support for import of `Vec3` color attributes in the glTF importer. The alpha channel will be set to `1.0` in this case.
* 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.

### Changes
* 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.
* 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.

### Fixes
* Added fallback texture which prevents empty texture slots causing the rendered object to become invisible.
* 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.
* 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.
* Set all target `MeshNodes` in the `Skin` object when importing skin objects with multiple target nodes from gltf files.
* 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.


## [2.0.0] Switch to Ramses 28, Abstract Scene View, Misc UI Iprovements and Bugfixes
* **This is a major version upgrade for both RamsesComposer and Ramses/LogicEngine containing changes that can break existing scenes.**
* **File version number has changed. Files saved with RaCo 2.0.0 cannot be opened by previous versions.**
Expand Down
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,17 @@ cmake_minimum_required(VERSION 3.19)

SET(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo")

project(RaCoOS VERSION 2.0.0)
project(RaCoOS VERSION 2.1.0)

SET(RACO_RELEASE_DIRECTORY ${CMAKE_BINARY_DIR}/release)

SET(HEADLESS_RELEASE_DIRECTORY ${CMAKE_BINARY_DIR}/release_headless)

# Fix compiler error on msvc. Details: https://github.com/microsoft/cpprestsdk/issues/1768
if(WIN32)
add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)
endif()

# The build and deployment process for Python works differently for Linux and Windows.
# Windows:
# * RaCo builds and runs without Python being installed.
Expand Down
27 changes: 16 additions & 11 deletions EditorApp/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -236,29 +236,34 @@ int main(int argc, char* argv[]) {
}

if (app) {
std::vector<std::string> pos_argv_s;
pos_argv_s.emplace_back(pythonScriptPath.toStdString());
for (auto arg : pythonArguments) {
pos_argv_s.emplace_back(arg);
}

std::vector<std::wstring> wPythonSearchPaths;
for (auto& path : pythonSearchPaths) {
wPythonSearchPaths.emplace_back(path.toStdWString());
}

MainWindow w{app.get(), &rendererBackend, wPythonSearchPaths};
MainWindow w{app.get(), &rendererBackend};
if (!objectToFocusId.isEmpty()) {
w.Q_EMIT focusRequestedForTreeDock(objectToFocusId, "");
}

bool isInterpreterInitialized = python_api::initializeInterpreter(app.get(), QCoreApplication::applicationFilePath().toStdWString(), wPythonSearchPaths, pos_argv_s);
if (!pythonScriptPath.isEmpty()) {
auto pythonScriptPathStr = pythonScriptPath.toStdString();
std::vector<const char*> pos_argv_cp;
pos_argv_cp.emplace_back(pythonScriptPathStr.c_str());
for (auto& s : pythonArguments) {
pos_argv_cp.emplace_back(s.c_str());
}
if (isInterpreterInitialized) {
const auto currentRunStatus = python_api::runPythonScriptFromFile(pythonScriptPath.toStdString());

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

if (!currentRunStatus.stdErrBuffer.empty()) {
LOG_ERROR(log_system::PYTHON, currentRunStatus.stdErrBuffer);
if (!currentRunStatus.stdErrBuffer.empty()) {
LOG_ERROR(log_system::PYTHON, currentRunStatus.stdErrBuffer);
}
} else {
LOG_ERROR(log_system::PYTHON, "Python interpreter initialization failed.");
}
}

Expand Down
Loading

0 comments on commit 989ced7

Please sign in to comment.