
Shadow Engine
Engine JavaScript 3D Graphics Rendering Game Dev Shadow Engine
Shadow Engine is a fully custom 3D rendering engine written entirely in JavaScript.
It runs directly in the browser—no installation, no dependencies—making it both accessible for learners and a powerful sandbox for experimenting with core engine concepts.
🌟 Features
- From-scratch rendering pipeline: world → view → projection → draw
- Custom math library: vectors, matrices, quaternions, interpolation
- Geometry system: procedural meshes (circles, squares) + OBJ model loading
- Lighting & shading: basic per-triangle lighting with colors and intensity
- Script API (ShadowScript): plug in custom logic with
Create()
,Update()
,Destroy()
- Input: keyboard and mouse
- Live in the browser: perfect for learning, demos, or quick iteration
🕹 Example Scripts
- Body1.sdw.js → Procedural circles & squares with animated rotation and lights
- CameraController.sdw.js → WASD navigation + mouse rotation + zoom
- Suzanne.sdw.js → Blender’s monkey head model rendered via OBJ parsing
- Room.sdw.js & House.sdw.js → Structured spaces built from primitives
📖 Why Shadow Engine?
It’s a bridge project:
- For learners → Code is simple, readable, and runs anywhere
- For myself → A stepping stone toward building a full C++ engine
- For everyone → No setup, no heavy frameworks—just open the browser and explore
🛣️ Next Steps
- Add texture mapping + UV support
- Implement advanced lighting models (Phong, Blinn-Phong)
- Expand physics (collision, rigidbodies)
- Make a WebGL version
▶️ Play the Demo
Tips: WASD to move, mouse to look, wheel to zoom. Pointer-lock may be requested.
👉 Want to see where this is heading? Check out Candle Engine — the full C++ evolution of this idea.
Repository
View source on GitHub
Explore the code behind Shadow Engine, including the renderer, math library, scene objects, and scripting API.
git clone https://github.com/driconmax/ShadowEngine.git