# Three.js Dark Room Experience A Three.js experience featuring two point lights in a dark room with mouse-controlled camera direction. ## Features - **Dark Room Environment**: A fully enclosed room with walls, floor, and ceiling - **Two Point Lights**: - Warm orange/red light positioned at (-6, 3, -6) - Cool blue/cyan light positioned at (6, 3, 6) - **Fixed Camera Position**: Camera stays at (0, 2, 0) but direction follows mouse movement - **Interactive Objects**: Floating cubes, central pedestal, and corner pillars - **Atmospheric Lighting**: Subtle animations and shadows for immersive experience ## How to Run ### Option 1: Using Node.js Server (Recommended) ```bash node server.js ``` Then open your browser to `http://localhost:3000` ### Option 2: Using Python HTTP Server ```bash python3 -m http.server 8000 ``` Then open your browser to `http://localhost:8000` ### Option 3: Using any other local server Simply serve the files from this directory using any local HTTP server. ## Controls - **Mouse Movement**: Look around the room (camera direction follows mouse) - **Camera Position**: Fixed at the center of the room, slightly elevated ## Technical Details - Built with Three.js (loaded via CDN) - Uses WebGL renderer with shadow mapping - Point lights with dynamic intensity animation - Responsive design that adapts to window size - Smooth camera rotation interpolation for fluid mouse control ## Files - `index.html` - Main HTML file with the Three.js setup - `app.js` - JavaScript code for the 3D scene - `server.js` - Simple Node.js HTTP server for local development - `README.md` - This file ## Browser Requirements - Modern browser with WebGL support - Works best in Chrome, Firefox, Safari, or Edge