Skip to content

Commit 06f2bd6

Browse files
committed
Release v1.10.1
1 parent b13687b commit 06f2bd6

File tree

10 files changed

+10585
-4
lines changed

10 files changed

+10585
-4
lines changed

CHANGELOG.md

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

27+
## [1.10.1] Skinning Export Bugfix
28+
29+
### Fixes
30+
* Include workaround fixing the export of Skin objects.
31+
32+
2733
## [1.10.0] Multiedit, Shader Includes, Drag-and-drop Support, Misc Usability Improvements and Bugfixes
2834

2935
### Added

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.19)
1111

1212
SET(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo")
1313

14-
project(RaCoOS VERSION 1.10.0)
14+
project(RaCoOS VERSION 1.10.1)
1515

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

components/libRamsesBase/src/ramses_adaptor/SkinAdaptor.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,18 @@ bool SkinAdaptor::sync(core::Errors* errors) {
7777
(*appearance)->getEffect().findUniformInput(raco::core::SkinData::INV_BIND_MATRICES_UNIFORM_NAME, uniform);
7878

7979
std::string name = targetAdaptors.size() == 1 ? editorObject()->objectName() : fmt::format("{}_SkinBinding_{}", editorObject()->objectName(), index);
80-
auto skinBinding = ramses_base::ramsesSkinBinding(&sceneAdaptor_->logicEngine(), jointBindings, data->inverseBindMatrices, appearanceBinding, uniform, name, editorObject()->objectIDAsRamsesLogicID());
80+
81+
// TODO workaround for the LogicEngine SkinBindingImpl::Serialize function reversing the order of the bind matrices.
82+
// Remove this again once the LogicEngine has been fixed.
83+
std::vector<std::array<float, 16>> matrices;
84+
if (sceneAdaptor_->optimizeForExport()) {
85+
std::copy(data->inverseBindMatrices.rbegin(), data->inverseBindMatrices.rend(), std::inserter(matrices, matrices.end()));
86+
} else {
87+
std::copy(data->inverseBindMatrices.begin(), data->inverseBindMatrices.end(), std::inserter(matrices, matrices.end()));
88+
}
89+
90+
auto skinBinding = ramses_base::ramsesSkinBinding(&sceneAdaptor_->logicEngine(), jointBindings, matrices, appearanceBinding,
91+
uniform, name, editorObject()->objectIDAsRamsesLogicID());
8192
if (skinBinding) {
8293
skinBindings_.emplace_back(skinBinding);
8394
} else {

doc/debugging/profiling/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ the Graphics memory section can provide a hint towards the video memory required
5050
Most hardware vendors provide specialized tools for GPU Debugging and profiling. To list a few examples:
5151

5252
* [NVidia NSight](https://developer.nvidia.com/nsight-graphics)
53-
* [Intel GPA](https://www.intel.com/content/www/us/en/developer/tools/graphics-performance-analyzers/download.html)
5453
* [Snapdragon profiler](https://developer.qualcomm.com/software/snapdragon-profiler)
54+
* Intel GPA
5555

5656
Those tools are very powerful and usually give device-specific hints about optimization potentials in your app.

doc/debugging/versions/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ We also mention changes to the shipped library versions in the CHANGELOG file in
1717

1818
For a comprehensive list of the Ramses Toolchain releases (of which the Ramses Composer is a part of)
1919
alongside upgrade hints and future plans, please refer to the
20-
[Ramses SDK docs](https://ramses-sdk.readthedocs.io/en/latest/versions.html).
20+
[Ramses SDK docs](https://ramses-sdk.readthedocs.io/en/latest/).
2121

2222
## Switching to a newer version of the Composer (Project files)
2323

screenshot_tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ if(WIN32)
3636
duck
3737
morphing
3838
skinning
39+
skinning-rigged-figure
3940
)
4041

4142
set(RACO_DOC_PROJECTS
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#version 300 es
2+
3+
precision mediump float;
4+
5+
in float lambertian;
6+
7+
out vec4 FragColor;
8+
9+
uniform vec3 u_color;
10+
11+
void main() {
12+
FragColor = vec4(lambertian * u_color.rgb, 1.0);
13+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#version 300 es
2+
3+
precision mediump float;
4+
5+
in vec3 a_Position;
6+
in vec3 a_Normal;
7+
8+
uniform mat4 u_VMatrix;
9+
uniform mat4 u_PMatrix;
10+
11+
in vec4 a_Joints0;
12+
in vec4 a_Weights0;
13+
14+
uniform mat4 u_jointMat[19];
15+
16+
out float lambertian;
17+
18+
void main() {
19+
lambertian = mix(0.4, 0.8, max(abs(dot(vec3(1.5,2.4,1.0),a_Normal)), 0.0));
20+
21+
mat4 skinMat =
22+
a_Weights0.x * u_jointMat[int(a_Joints0.x)] +
23+
a_Weights0.y * u_jointMat[int(a_Joints0.y)] +
24+
a_Weights0.z * u_jointMat[int(a_Joints0.z)] +
25+
a_Weights0.w * u_jointMat[int(a_Joints0.w)];
26+
27+
gl_Position = u_PMatrix * u_VMatrix * skinMat * vec4(a_Position, 1.0);
28+
}

0 commit comments

Comments
 (0)