Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Apps/Playground/Android/BabylonNative/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,12 @@ target_link_libraries(BabylonNativeJNI
-lz
AndroidExtensions
AppRuntime
Blob
Canvas
Console
GraphicsDevice
NativeCamera
NativeEncoding
NativeEngine
NativeInput
NativeOptimizations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@
#include <Babylon/AppRuntime.h>
#include <Babylon/Graphics/Device.h>
#include <Babylon/ScriptLoader.h>
#include <Babylon/Plugins/NativeEncoding.h>
#include <Babylon/Plugins/NativeEngine.h>
#include <Babylon/Plugins/NativeInput.h>
#include <Babylon/Plugins/NativeXr.h>
#include <Babylon/Plugins/NativeCamera.h>
#include <Babylon/Plugins/NativeOptimizations.h>
#include <Babylon/Polyfills/Blob.h>
#include <Babylon/Polyfills/Console.h>
#include <Babylon/Polyfills/Window.h>
#include <Babylon/Polyfills/XMLHttpRequest.h>
Expand Down Expand Up @@ -98,6 +100,8 @@ extern "C"
{
device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, Babylon::Polyfills::Console::LogLevel level)
{
switch (level)
Expand All @@ -114,6 +118,7 @@ extern "C"
}
});

Babylon::Plugins::NativeEncoding::Initialize(env);
Babylon::Plugins::NativeEngine::Initialize(env);
Babylon::Plugins::NativeOptimizations::Initialize(env);

Expand All @@ -136,6 +141,7 @@ extern "C"
scriptLoader->LoadScript("app:///Scripts/babylonjs.loaders.js");
scriptLoader->LoadScript("app:///Scripts/babylonjs.materials.js");
scriptLoader->LoadScript("app:///Scripts/babylon.gui.js");
scriptLoader->LoadScript("app:///Scripts/babylonjs.serializers.js");
}
}

Expand Down
6 changes: 6 additions & 0 deletions Apps/Playground/Android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ task copyFiles {
into 'src/main/assets/Scripts'
}
copy
{
from '../../../node_modules/babylonjs-serializers'
include "babylonjs.serializers.js"
into 'src/main/assets/Scripts'
}
copy
{
from '../../../Dependencies'
include "*.js"
Expand Down
5 changes: 4 additions & 1 deletion Apps/Playground/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ set(BABYLON_SCRIPTS
"../node_modules/babylonjs-loaders/babylonjs.loaders.js"
"../node_modules/babylonjs/babylon.max.js"
"../node_modules/babylonjs-materials/babylonjs.materials.js"
"../node_modules/babylonjs-gui/babylon.gui.js")
"../node_modules/babylonjs-gui/babylon.gui.js"
"../node_modules/babylonjs-serializers/babylonjs.serializers.js")

set(DEPENDENCIES
"../Dependencies/ammo.js"
Expand Down Expand Up @@ -138,6 +139,8 @@ target_link_libraries(Playground
PRIVATE Window
PRIVATE XMLHttpRequest
PRIVATE TestUtils
PRIVATE NativeEncoding
PRIVATE Blob
${ADDITIONAL_LIBRARIES}
${BABYLON_NATIVE_PLAYGROUND_EXTENSION_LIBRARIES})

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions Apps/Playground/Scripts/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,11 @@
"playgroundId": "#YG3BBF#2",
"referenceImage": "glTFSheen.png"
},
{
"title": "GLTF Serializer multimaterial with raw texture",
"playgroundId": "#KU72PX",
"referenceImage": "glTFSerializerMultimaterial.png"
},
{
"title": "GLTF Extension KHR_materials_specular",
"playgroundId": "#RNT7K4#9",
Expand Down
9 changes: 8 additions & 1 deletion Apps/Playground/UWP/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

#include <Babylon/Graphics/Device.h>
#include <Babylon/ScriptLoader.h>
#include <Babylon/Plugins/NativeEncoding.h>
#include <Babylon/Plugins/NativeEngine.h>
#include <Babylon/Plugins/NativeOptimizations.h>
#include <Babylon/Polyfills/Blob.h>
#include <Babylon/Polyfills/Console.h>
#include <Babylon/Polyfills/Window.h>
#include <Babylon/Polyfills/XMLHttpRequest.h>
Expand Down Expand Up @@ -386,16 +388,20 @@ void App::RestartRuntime(Windows::Foundation::Rect bounds)
m_runtime->Dispatch([this](Napi::Env env) {
m_device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, auto) {
OutputDebugStringA(message);
});

m_nativeCanvas.emplace(Babylon::Polyfills::Canvas::Initialize(env));

Babylon::Polyfills::Window::Initialize(env);

Babylon::Polyfills::XMLHttpRequest::Initialize(env);

Babylon::Plugins::NativeEncoding::Initialize(env);

Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -411,6 +417,7 @@ void App::RestartRuntime(Windows::Foundation::Rect bounds)
loader.LoadScript("app:///Scripts/babylonjs.loaders.js");
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");

if (m_files == nullptr)
{
Expand Down
7 changes: 7 additions & 0 deletions Apps/Playground/Win32/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,13 @@
#include <Babylon/Graphics/Device.h>
#include <Babylon/ScriptLoader.h>
#include <Babylon/Plugins/NativeCapture.h>
#include <Babylon/Plugins/NativeEncoding.h>
#include <Babylon/Plugins/NativeEngine.h>
#include <Babylon/Plugins/NativeOptimizations.h>
#include <Babylon/Plugins/NativeCamera.h>
#include <Babylon/Plugins/NativeInput.h>
#include <Babylon/Plugins/TestUtils.h>
#include <Babylon/Polyfills/Blob.h>
#include <Babylon/Polyfills/Console.h>
#include <Babylon/Polyfills/Window.h>
#include <Babylon/Polyfills/XMLHttpRequest.h>
Expand Down Expand Up @@ -167,6 +169,8 @@ namespace
runtime->Dispatch([hWnd](Napi::Env env) {
device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, Babylon::Polyfills::Console::LogLevel logLevel) {
std::ostringstream ss{};
ss << "[" << GetLogLevelString(logLevel) << "] " << message << std::endl;
Expand All @@ -182,6 +186,8 @@ namespace

nativeCanvas.emplace(Babylon::Polyfills::Canvas::Initialize(env));

Babylon::Plugins::NativeEncoding::Initialize(env);

Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -204,6 +210,7 @@ namespace
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/meshwriter.min.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");

std::vector<std::string> scripts = GetCommandLineArguments();
if (scripts.empty())
Expand Down
10 changes: 9 additions & 1 deletion Apps/Playground/X11/App.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@
#include <Babylon/AppRuntime.h>
#include <Babylon/Graphics/Device.h>
#include <Babylon/ScriptLoader.h>
#include <Babylon/Plugins/NativeEncoding.h>
#include <Babylon/Plugins/NativeEngine.h>
#include <Babylon/Plugins/NativeOptimizations.h>
#include <Babylon/Plugins/NativeInput.h>
#include <Babylon/Plugins/TestUtils.h>
#include <Babylon/Polyfills/Blob.h>
#include <Babylon/Polyfills/Console.h>
#include <Babylon/Polyfills/Window.h>
#include <Babylon/Polyfills/XMLHttpRequest.h>
Expand Down Expand Up @@ -70,6 +72,8 @@ namespace
runtime.emplace();

runtime->Dispatch([window](Napi::Env env) {
Babylon::Polyfills::Blob::Initialize(env);

Babylon::Polyfills::Console::Initialize(env, [](const char* message, auto) {
printf("%s\n", message);
fflush(stdout);
Expand All @@ -79,8 +83,11 @@ namespace
Babylon::Polyfills::XMLHttpRequest::Initialize(env);
nativeCanvas.emplace(Babylon::Polyfills::Canvas::Initialize(env));

// Initialize NativeEngine plugin.
device->AddToJavaScript(env);

Babylon::Plugins::NativeEncoding::Initialize(env);

// Initialize NativeEngine plugin.
Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -98,6 +105,7 @@ namespace
loader.LoadScript("app:///Scripts/babylonjs.loaders.js");
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");

if (scripts.empty())
{
Expand Down
7 changes: 7 additions & 0 deletions Apps/Playground/iOS/LibNativeBridge.mm
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
#import <Babylon/Graphics/Device.h>
#import <Babylon/ScriptLoader.h>
#import <Babylon/Plugins/NativeCamera.h>
#import <Babylon/Plugins/NativeEncoding.h>
#import <Babylon/Plugins/NativeEngine.h>
#import <Babylon/Plugins/NativeInput.h>
#import <Babylon/Plugins/NativeOptimizations.h>
#import <Babylon/Plugins/NativeXr.h>
#import <Babylon/Polyfills/Blob.h>
#import <Babylon/Polyfills/Canvas.h>
#import <Babylon/Polyfills/Console.h>
#import <Babylon/Polyfills/Window.h>
Expand Down Expand Up @@ -74,6 +76,8 @@ - (void)init:(MTKView*)view screenScale:(float)inScreenScale width:(int)inWidth
{
device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, auto) {
NSLog(@"%s", message);
});
Expand All @@ -86,6 +90,8 @@ - (void)init:(MTKView*)view screenScale:(float)inScreenScale width:(int)inWidth

Babylon::Plugins::NativeCamera::Initialize(env);

Babylon::Plugins::NativeEncoding::Initialize(env);

Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -104,6 +110,7 @@ - (void)init:(MTKView*)view screenScale:(float)inScreenScale width:(int)inWidth
loader.LoadScript("app:///Scripts/babylonjs.loaders.js");
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");
loader.LoadScript("app:///Scripts/experience.js");
}

Expand Down
7 changes: 7 additions & 0 deletions Apps/Playground/macOS/ViewController.mm
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

#import <Babylon/AppRuntime.h>
#import <Babylon/Graphics/Device.h>
#import <Babylon/Plugins/NativeEncoding.h>
#import <Babylon/Plugins/NativeEngine.h>
#import <Babylon/Plugins/NativeInput.h>
#import <Babylon/Polyfills/Blob.h>
#import <Babylon/Polyfills/Window.h>
#import <Babylon/Polyfills/XMLHttpRequest.h>
#import <Babylon/Polyfills/Canvas.h>
Expand Down Expand Up @@ -118,6 +120,8 @@ - (void)refreshBabylon {
{
device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, auto) {
NSLog(@"%s", message);
});
Expand All @@ -130,6 +134,8 @@ - (void)refreshBabylon {

Babylon::Plugins::NativeCamera::Initialize(env);

Babylon::Plugins::NativeEncoding::Initialize(env);

Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -145,6 +151,7 @@ - (void)refreshBabylon {
loader.LoadScript("app:///Scripts/babylonjs.loaders.js");
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");

if (scripts.empty())
{
Expand Down
7 changes: 7 additions & 0 deletions Apps/Playground/visionOS/LibNativeBridge.mm
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
#import <Babylon/AppRuntime.h>
#import <Babylon/Graphics/Device.h>
#import <Babylon/ScriptLoader.h>
#import <Babylon/Plugins/NativeEncoding.h>
#import <Babylon/Plugins/NativeEngine.h>
#import <Babylon/Plugins/NativeInput.h>
#import <Babylon/Plugins/NativeOptimizations.h>
#import <Babylon/Polyfills/Blob.h>
#import <Babylon/Polyfills/Canvas.h>
#import <Babylon/Polyfills/Console.h>
#import <Babylon/Polyfills/Window.h>
Expand Down Expand Up @@ -53,6 +55,8 @@ - (bool)initializeWithWidth:(NSInteger)width height:(NSInteger)height {
_runtime->Dispatch([self](Napi::Env env) {
self->_device->AddToJavaScript(env);

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

Babylon::Polyfills::Console::Initialize(env, [](const char* message, auto) {
NSLog(@"%s", message);
});
Expand All @@ -63,6 +67,8 @@ - (bool)initializeWithWidth:(NSInteger)width height:(NSInteger)height {

Babylon::Polyfills::XMLHttpRequest::Initialize(env);

Babylon::Plugins::NativeEncoding::Initialize(env);

Babylon::Plugins::NativeEngine::Initialize(env);

Babylon::Plugins::NativeOptimizations::Initialize(env);
Expand All @@ -77,6 +83,7 @@ - (bool)initializeWithWidth:(NSInteger)width height:(NSInteger)height {
loader.LoadScript("app:///Scripts/babylonjs.loaders.js");
loader.LoadScript("app:///Scripts/babylonjs.materials.js");
loader.LoadScript("app:///Scripts/babylon.gui.js");
loader.LoadScript("app:///Scripts/babylonjs.serializers.js");
loader.LoadScript("app:///Scripts/experience.js");
self.initialized = YES;

Expand Down
Loading
Loading