Skip to content

Releases: benoitlahoz/node-syphon

Electron example v1.0.0

24 Feb 12:55
02addad
Compare
Choose a tag to compare

A working example in Electron using Three.js with:

  • Passing pixels:

    • OpenGL Server: HTMLCanvasElement -> Uint8Array -> IPC -> Main Process -> node-syphon -> OpenGL Texture -> Syphon
    • Metal Server: HTMLCanvasElement -> Uint8Array -> IPC -> Main Process -> node-syphon -> Metal Texture -> Syphon
    • OpenGL Client: Syphon -> OpenGL Texture -> Uint8Array -> Main Process -> IPC -> HTMLCanvasElement
    • Metal Client: Syphon -> Metal Texture -> Uint8Array -> Main Process -> IPC -> HTMLCanvasElement
  • Passing IOSurface handle (sharedTextureHandle):

    • OpenGLServer (uncontrolled): HTMLCanvasElement in BrowserWindow -> window handle (IOSurface) -> node-syphon -> OpenGL Texture -> Syphon
    • OpenGLServer (with WebRTC): HTMLCanvasElement -> electron-window-rtc -> Offscreen Window -> window handle -> node-syphon -> OpenGL Texture -> Syphon

To switch between implementations see 'Implementations' menu.

Note: Switching between client is kind of buggy for the time being.