Coder Social home page Coder Social logo

form-scene-graph's Introduction

Form Scene Graph

Rendering framework inspired on GSK for Pharo.

Loading the framework in Pharo

For loading this framework with the default software based backend, you need to execute the following script in a playground:

"Scene graph rendering framework"
Metacello new
   baseline: 'FormSceneGraph';
   repository: 'github://desromech/form-scene-graph';
   onConflictUseIncoming;
   load.

If you feel adventurous, and want to try the experiment OpenGL ES accelerated backend, you need to load it with the following script in a playground, and then select it in the Setting browser:

"Scene graph rendering framework"
Metacello new
   baseline: 'FormSceneGraph';
   repository: 'github://desromech/form-scene-graph';
   onConflictUseIncoming;
   load: #AcceleratedOpenGL.

If you feel even more adventurous, and want to try the experiment AbstractGPU accelerated backend (Vulkan, Metal and Direct3D 12), you need to load it with the following script in a playground, and then select it in the Setting browser:

"Scene graph rendering framework"
Metacello new
   baseline: 'FormSceneGraph';
   repository: 'github://ronsaldo/form-scene-graph';
   onConflictUseIncoming;
   load: #AcceleratedAbstractGPU.

Enabling the new renderer on the main Pharo window.

For enabling this new renderer for the Pharo Morphic World, in addition to loading this baseline it is required to also enable its usage through the Settings browser:

Renderer Enabling Setting

The effect of changing this setting is only visible after restarting the image by doing a save and quit.

Comparison

The followings are comparisons with a scale factor of 1.5:

Old Renderer at 1.5x: Old Renderer 1.5x

New Renderer at 1.5x with Athens backend: New Renderer 1.5x

New Renderer at 1.5x with OSWindow SDL2 renderer backend: New Renderer 1.5x

Extra: opening external windows (Very experimental)

"Open an external world with the Athens based scene graph renderer. (Most of the work goes here)"
FormSGAthensWorldMorph new open.

"Open an external world with the SDL2 based renderer."
FormOSWindowGenericRendererSGWorldRenderer new open.

"Open an external world with the BitBlt based renderer. (Incomplete)"
FormSGCanvasWorldMorph new open.

"Open an external world with the OpenGL ES based scene graph renderer. (Experimental, may be unstable)"
FormSGOpenGLESRendererWorldMorph new open.

"Open an external world with the AbstractGPU based scene graph renderer. (Experimental, may be unstable)"
FormSGAGPURendererWorldMorph new open.

form-scene-graph's People

Contributors

ducasse avatar ronsaldo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.