Questions tagged [dreemgl]

DreemGL is an open source toolkit for prototyping GPU-accelerated multi-screen experiences with IoT integration for smart environments. DreemGL applications are written in JavaScript, which can be run both client-side (web browser) or server-side (node.js). DreemGL applications are multi-screen by default, with APIs for IoT integration.

DreemGL is an open source toolkit for prototyping GPU-accelereated multi-screen experiences with IoT integration for smart environments. DreemGL simplifies the prototyping of applications that connect large screens in the environment to multiple handheld devices, tablets, or IoT smart objects.

The UI on all screens can take advantage of GPU capabilities, enabling more fluid and subtle animations on mobile GPUs, matching video game level graphics performance. DreemGL applications are written in pure JavaScript, the The Lingua Franca of the Web.

DreemGL rendering

DreemGL uses a specific approach to rendering the UI, where each visible component or view has a render function, which returns the children of that specific view. The rendering is highly optimized for performance, enabling thousands of visual objects on the screen running at high framerates.

Open source

DreemGL has been released under the Apache 2.0 license, and supports all major browsers and operating systems. DreemGL is unique in the way that the whole UI with UI widgets is getting rendered to WebGL.

DreemGL is a collaboration between Teeming Society & Samsung Electronics, sponsored by Samsung and others.

ADVANTAGES

  • DreemGL runs directly on the GPU by rendering the full UI in WebGL (including text/fonts and all UI widgets). This allows for the creation of multi-screen applications running on 4k TVs, as well as resource constrained devices supporting WebGL. A screen in DreemGL is a device with a display.
  • DreemGL compositions are multi-screen by default. All code for your multi-screen experience can be shared across clients.
  • DreemGL classes can be run both server and client side (using Node.js for the server). The class definition system is both compatible with browsers and headless JavaScript machines like Node.js.
  • GLSL shaders can be written in JavaScript. DreemGL includes a shader compiler, which will compile the JavaScript functions into GLSL on-the-fly.
  • You can value-bind to attributes or properties across screens without writing specific code for communication between screens.
  • DreemGL supports live-coding, where changes to the source code are injected into the running application. The feature is called partial reloading.

Resources

https://dreemproject.org/ (Official)

https://github.com/dreemproject/dreemgl (Github repo)

DreemGL Documentation

2 questions
1
vote
1 answer

How do I embed a dreemgl widget outside the server framework?

I'd like to use the DreemGL framework (in particular the widgets, a very nice set of GL widgets) in my frontend code, but I'd rather not use the backend server pieces. How can I embed and use just the widgets, without using the server on the…
Seth
  • 2,712
  • 3
  • 25
  • 41
1
vote
1 answer

Creating a multiscreen application with DreemGL

How do I create a multiscreen application with DreemGL? If I have a multiple screens in my application, through which URL can I access those screens?
raju-bitter
  • 8,906
  • 4
  • 42
  • 53