OpenGL to WebGL using Emscripten

Demonstrates the basics of porting desktop graphics apps to the web using Emscripten, via a collection of C++/SDL/OpenGL samples. (README and source).

Full window canvas

Hello Triangle Minimal

Hello Triangle

Hello Texture

Hello Text TTF

Hello Text TXF

Hello Image

Canvas + console

Hello Triangle Minimal Debug

Hello Triangle Debug

Hello Texture Debug

Hello Text TTF Debug

Hello Text TXF Debug

Hello Image Debug


GLES for Mac

Native OpenGLES development on Mac using OpenGLES implementation from Chrome's ANGLE library, with Emscripten build.

Hello Triangle Minimal for Mac


WebGL Report

Backup of webglreport.com, which seems to be down intermittently as of early 2025.

WebGL Report


WebGL 1 hardware acceleration tests

Working with WebGL in virtual machines can be hit or miss with hardware acceleration, especially WebGL 2. These tests provide a quick verification that least WebGL 1 hardware acceleration is enabled.

1. For a quick test of 3D acceleration: WebGL Water

2. For more extensive tests: Three.js r152 examples


Emscripten GLUT resizing fix

Demonstrates a browser resizing bug in Emscripten's GLUT, along with two potential fixes. (README and source).

Hello World GLES (original without fix)

Hello World GLES (client-side fix)

Hello World GLES (GLUT-side fix)