EZ3.js: A robust and flexible WebGL-based 3D engine

We present EZ3.js, a modern, robust and flexible WebGL-based JavaScript engine for developing interactive and real-time 3D graphics applications on the web. This engine tackles the problem of rendering 3D models with complex instructions, non-portable code, and well documented code focus on software engineers which works over web browsers. EZ3.js offers a simple code-structure to load, transform and render 3D models applying different effects over them, based on efficient data structures and rendering algorithms. Template models for diffuse and specular reflection are included, joined with local lighting and texture mapping techniques. The full management of resources is optimized to obtain an outstanding performance, also reducing the memory consumption. Our engine is an open source library which provides an available entire documentation that can be extended in future for the graphics community of developers, being a great contribution in comparison to similar existing web 3D engines. Tests executed evaluated the performance, the memory consumption, and the number of required lines of code to render complex models, showing remarkable aspects of EZ3.js as a WebGL-based 3D engine.