Skip to content

SGI demos from long ago, running in your browser today.

License

Notifications You must be signed in to change notification settings

sgi-demos/sgi-demos

Repository files navigation

SGI demos from long ago, running in your browser today.

Old problems require modern solutions.

This is the original SGI demo source code, compiled for the web using Emscripten and SDL2. Rendering is done using an IRIS GL software rasterizer from the Alice 4 project. Event handling is done by SDL2, with events translated into GL's event system. Each demo is a separate web page, with its own Javascript + WASM compiled by Emscripten from the original C/C++ source. Minimal modifications have been made to the original source, in order to run in the browser and to work with compilers 35 years newer.

Working demos:

Work in progress demos:

  • Flight (cockpit glitches, planes too slow in web version, night mode 'shimmers', no network play)
  • Newave (no mesh editing, no popup menus, only wireframe)
  • Arena (no network play)

Next up:

  • Electropaint, Cedit, any other IRIS GL demos I can find

To do:

  • Arbitrary window size
  • Triangle rendering via OpenGLES/WebGL
  • Popup menus
  • Rudimentary context for each demo: name, author, year (as text in lower corner), code link
  • Virtual mouse and keyboard:
    • Only display virtual keys and mouse functions used by the demo; use demo's qdevice() calls to determine this
    • Displayed as transparent virtual mouse and key pictures overlaid on demo
    • On always for touch devices
    • On/off for mouse/keyboard devices, as hints
  • More demos, all the demos. WIP: IRIS GL, TBD: OpenGL, GLUT, Inventor, Performer
  • Run GL demo in its own WASM worker, to avoid slicing up the code for SDL's event loop
  • Description/history/context for each demo - can obtain some descriptions from .Info slide files
  • Man pages

Credits: