A pure HTML5 canvas 3D engine that renders voxel worlds without OpenGL or 3D acceleration.
Cube Engine is a 3D graphics engine written entirely in HTML5 and JavaScript, using the canvas element for rendering without OpenGL or hardware acceleration. It creates and displays voxel-based worlds similar to Minecraft, allowing users to interact with a dynamically generated environment. The project serves as an educational tool and proof of concept for implementing basic 3D rendering techniques in a web browser.
Developers and learners interested in computer graphics, 3D rendering algorithms, and JavaScript-based game development, particularly those exploring software rendering without GPU dependencies.
It provides a unique, accessible way to understand 3D rendering fundamentals by avoiding complex libraries and hardware acceleration, making it ideal for educational purposes and experimentation with voxel worlds in a pure web environment.
3D engine completely written in HTML5 without OpenGL
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements core 3D algorithms like painter's algorithm, back-face culling, and frustum culling purely in JavaScript, making it a hands-on learning resource for software rendering without GPU dependencies.
Uses HTML5 canvas for all rendering, avoiding OpenGL and hardware acceleration, which demonstrates how to achieve basic 3D effects in a constrained web environment.
Features dynamic, infinite world generation with pseudo-random height maps and 16x16 chunk systems, similar to Minecraft, allowing for procedural terrain exploration.
Supports affine texture mapping with PNG files that are compatible with Minecraft texture packs, enabling visual customization alongside a faster plain-color renderer for performance tuning.
Requires a 'ludicrously powerful computer' for acceptable frame rates, as stated in the README, due to CPU-intensive software rendering without hardware acceleration.
Lacks essential game elements like physics, enemies, ores, and tunnels, as the README notes, because rendering consumes most processing power, restricting it to basic demos.
Suffers from specific bugs: Chrome has trouble with the fill() function in plain-color mode, and Firefox restricts pointer lock to full-screen mode, hindering smooth cross-browser usage.