My email address for feedback and small freelance tasks:
Examples from WebGL Programming Guide by K. Matsuda, R. Lea
Setting up SDL3 for Android, Web, and Windows using CMake and MinGW-w64
How to set up JavaScript libraries as ES6-modules
My notes about LibGDX
My useful examples on GitHub
- Super Mario 2D with free resources using pure OpenGL ES 2.0, C++, Qt6, Box2D, OpenAL, custom buttons/checkboxes/text (distance field font from Hiero), Free Texture Packer, and Tiled Map Editor for Android, Desktop, and WebAssembly. Box2D and OpenAL are included to the project. You can download and run it if you have set up Android SDK, NDK, JDK, and emsdk (for WebAssembly)
- Loading models from DAE COLLADA using pure OpenGL ES 2.0, C++, Qt6, for Android, Desktop, and WebAssembly. This example shows how to parse XML (.dae) using QDomDocument. It was tested on Android 7.1.1, Windows 10, and WebAssembly. It uses QOpenGLWindow.
- Simple movement 3D Super Mario using pure OpenGL ES 2.0, C++, Qt6, Bullet Physics, and DAE COLLADA for Android, Desktop, and WebAssembly. Bullet Physics is included to the project as source files. It allows to build for Desktop, Android, and WebAssembly
My step by step tutorials for Windows 10, 64-bit:
My tutorials for SDL3, Android, WebAssembly, and OpenGL ES 2.0:
My tutorials for Deploy:
My demos:
-
Co-op room with Jill This demo uses free hosting from Render.com. You must wait 15-20 seconds to start the server for the first time. The server on a free hosting falls asleep 30 minutes after the last activity.
- Based on RE1
- Simple lighthouse
-
Output of English, Russian and Chinese fonts with stroke and Distance Field (the text is not pixelated when the camera zooms in) on JS and Rollup. Fonts converted to Distance Field using Hiero. Demo in the browser
-
Imported door animation for Blender from COLLADA format (.dae). Click detection is with color ID method. There are shadows. Demo in browser
-
I placed tiles and colliders in Tiled. Packed tiles and sprites into one texture atlas using Free Texture Packer. Physics at box2d/core. Drawn with pure WebGL 1.0 and linear algebra with glMatrix. Demo in browser
-
Debug Drawer, OpenGL ES 2.0, Qt6, C++. Download APK
-
OpenAL example to play music in Qt6 and C++. Download APK
-
Custom buttons in OpenGL 2.1 on QOpenGLWindow. GitHub repo
-
Detecting objects with a ray in Box2D, OpenGL 2.1/ES2, Qt6, C++
Android:
Desktop: