Skip to content
1 change: 1 addition & 0 deletions Apps/Playground/Android/BabylonNative/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ target_link_libraries(BabylonNativeJNI
PRIVATE Blob
PRIVATE Canvas
PRIVATE Console
PRIVATE File
PRIVATE GraphicsDevice
PRIVATE NativeCamera
PRIVATE NativeCapture
Expand Down
1 change: 1 addition & 0 deletions Apps/Playground/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ target_link_libraries(Playground
PRIVATE Canvas
PRIVATE Console
PRIVATE ExternalTexture
PRIVATE File
PRIVATE GraphicsDevice
PRIVATE NativeCamera
PRIVATE NativeCapture
Expand Down
54 changes: 13 additions & 41 deletions Apps/Playground/Scripts/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -1375,76 +1375,58 @@
"title": "GLTF Serializer with Negative World Matrix (left handed, once)",
"playgroundId": "#KX53VK#88",
"replace": "//options//, useRightHandedSystem = false; iterations = 1;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerNegativeWorldMatrix.png"
},
{
"title": "GLTF Serializer with Negative World Matrix (left handed, twice)",
"playgroundId": "#KX53VK#88",
"replace": "//options//, useRightHandedSystem = false; iterations = 2;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerNegativeWorldMatrix.png"
},
{
"title": "GLTF Serializer with Negative World Matrix (right handed, once)",
"playgroundId": "#KX53VK#88",
"replace": "//options//, useRightHandedSystem = true; iterations = 1;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerNegativeWorldMatrix.png"
},
{
"title": "GLTF Serializer with Negative World Matrix (right handed, twice)",
"playgroundId": "#KX53VK#88",
"replace": "//options//, useRightHandedSystem = true; iterations = 2;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerNegativeWorldMatrix.png"
},
{
"title": "GLTF Serializer Shared Buffer Conversions",
"playgroundId": "#KX53VK#85",
"replace": "//options//, meshCount = 2;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerSharedBufferConversions.png"
},
{
"title": "GLTF Serializer Skinning and Animation",
"playgroundId": "#DMZBX1#1",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "gltfSerializerSkinningAndAnimation.png"
},
{
"title": "GLTF Serializer Skinning and Animation (Right Handed)",
"playgroundId": "#DMZBX1#2",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "gltfSerializerSkinningAndAnimation.png"
},
{
"title": "GLTF Serializer Morph Target Animation",
"playgroundId": "#84M2SR#107",
"renderCount": 2,
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "gltfSerializerMorphTargetAnimation.png"
},
{
"title": "GLTF Serializer Morph Target Animation Group",
"playgroundId": "#T087A8#29",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "gltfSerializerMorphTargetAnimationGroup.png"
},
{
"title": "GLTF Serializer KHR draco mesh compression",
"playgroundId": "#F8BF8N#3",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "Draco loader passes 'utf8' label; BN TextDecoder only accepts 'utf-8' (WHATWG label normalization not implemented)",
"referenceImage": "glTFSerializerKhrDracoMeshCompression.png"
},
{
Expand All @@ -1457,63 +1439,57 @@
{
"title": "GLTF Serializer KHR gpu instancing",
"playgroundId": "#1Q2BWN#10",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Pixel diff 3.4% on OpenGL backend (Linux JSC); passes on D3D11.",
"referenceImage": "glTFSerializerKhrGpuInstancing.png"
},
{
"title": "GLTF Serializer KHR punctual light, left-handed",
"playgroundId": "#FLXW8B#27",
"replace": "//options//, roundtrip = true; useRightHandedSystem = false;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerKHRPunctualLightLH.png"
},
{
"title": "GLTF Serializer KHR punctual light, right-handed",
"playgroundId": "#FLXW8B#27",
"replace": "//options//, roundtrip = true; useRightHandedSystem = true;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerKHRPunctualLightRH.png"
},
{
"title": "GLTF Serializer Camera, left-handed",
"playgroundId": "#O0M0J9#25",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Camera roundtrip diverges on OpenGL backend (Linux JSC), 21% pixel diff; passes on D3D11.",
"replace": "//options//, roundtripCount = 1; useRightHandedSystem = false;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerCameraLeftHand.png"
},
{
"title": "GLTF Serializer Camera, right-handed",
"playgroundId": "#O0M0J9#25",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Camera roundtrip diverges on OpenGL backend; passes on D3D11.",
"replace": "//options//, roundtripCount = 1; useRightHandedSystem = true;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerCameraRightHand.png"
},
{
"title": "GLTF Serializer Camera, left-handed, round trip twice",
"playgroundId": "#O0M0J9#25",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Camera roundtrip diverges on OpenGL backend; passes on D3D11.",
"replace": "//options//, roundtripCount = 2; useRightHandedSystem = false;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerCameraLeftHand.png"
},
{
"title": "GLTF Serializer Camera, right-handed, round trip twice",
"playgroundId": "#O0M0J9#25",
"excludedGraphicsApis": ["OpenGL"],
"reason": "Camera roundtrip diverges on OpenGL backend; passes on D3D11.",
"replace": "//options//, roundtripCount = 2; useRightHandedSystem = true;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerCameraRightHand.png"
},
{
"title": "GLTF Serializer Rotation conversion, left-handed",
"playgroundId": "#UK7FLI#1",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"referenceImage": "glTFSerializerRotationConversionLH.png"
},
{
Expand Down Expand Up @@ -1873,31 +1849,27 @@
"title": "OBJ Stanford Bunny normals (round trip, LH)",
"playgroundId": "#26R8NS#6",
"replace": "//options//, roundTrip = true;",
"excludeFromAutomaticTesting": true,
"reason": "File API not available in Babylon Native JS runtime (ReferenceError)",
"referenceImage": "objStanfordBunnyNormalsRoundTripLH.png"
},
{
"title": "OBJ Stanford Bunny normals (round trip, RH)",
"playgroundId": "#26R8NS#6",
"replace": "//options//, roundTrip = true; useRightHandedSystem = true;",
"excludeFromAutomaticTesting": true,
"reason": "File API not available in Babylon Native JS runtime (ReferenceError)",
"referenceImage": "objStanfordBunnyNormalsRoundTripRH.png"
},
{
"title": "glTF to OBJ (LH)",
"playgroundId": "#HYZWGK#3",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "Hangs on Win32 Chakra D3D11 - glTF to OBJ round trip",
"referenceImage": "gltfToObjLH.png"
},
{
"title": "glTF to OBJ (RH)",
"playgroundId": "#HYZWGK#3",
"replace": "//options//, useRightHandedSystem = true;",
"excludeFromAutomaticTesting": true,
"reason": "Pixel comparison fails (more than 20% pixels differ)",
"reason": "Hangs on Win32 Chakra D3D11 - glTF to OBJ round trip",
"referenceImage": "gltfToObjRH.png"
},
{
Expand Down
2 changes: 2 additions & 0 deletions Apps/Playground/Shared/AppContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <Babylon/Polyfills/Blob.h>
#include <Babylon/Polyfills/Canvas.h>
#include <Babylon/Polyfills/Console.h>
#include <Babylon/Polyfills/File.h>
#include <Babylon/Polyfills/Performance.h>
#include <Babylon/Polyfills/TextDecoder.h>
#include <Babylon/Polyfills/Window.h>
Expand Down Expand Up @@ -156,6 +157,7 @@ AppContext::AppContext(
}

Babylon::Polyfills::Blob::Initialize(env);
Babylon::Polyfills::File::Initialize(env);

Babylon::Polyfills::Console::Initialize(env, [env, debugLog](const char* message, Babylon::Polyfills::Console::LogLevel logLevel) {
std::ostringstream ss{};
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ FetchContent_Declare(ios-cmake
GIT_TAG 4.5.0
EXCLUDE_FROM_ALL)
FetchContent_Declare(JsRuntimeHost
GIT_REPOSITORY https://github.com/BabylonJS/JsRuntimeHost.git
GIT_TAG 1e9b17e4544862270420f0e192c5dfe56fe768d2)
GIT_REPOSITORY https://github.com/bkaradzic-microsoft/JsRuntimeHost.git
GIT_TAG fa84e76beb9d86ba5634ed0cebac8e91accdd1fc)
FetchContent_Declare(libwebp
GIT_REPOSITORY https://github.com/webmproject/libwebp.git
GIT_TAG 57e324e2eb99be46df46d77b65705e34a7ae616c
Expand Down
Loading