Shadow Engine

Shadow Engine


Engine JavaScript 3D Graphics Rendering Game Dev Shadow Engine
Shadow Engine — quick look at primitives, camera and lighting.

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

Engine Demo

🕹 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
© 2025 Driconmax