RayTracerNG is a powerful, real-time 2D ray tracing engine designed using modern OpenGL and C++. It provides an interactive environment to explore light physics, offering dynamic lighting, interactive scene manipulation, and real-time performance metrics.
- π¦ Real-time 2D ray tracing with 360Β° light emission
- π§© Drag-and-drop scene editing with collision detection
- π‘ Dynamic light sources and configurable reflections
- ποΈ ImGui-based control panel for real-time tweaks
- π Built-in CPU/GPU performance monitoring
- π Save/load scenes, auto-generate obstacles
- βοΈ Cross-platform compatibility (Windows/Linux)
Languages & Libraries:
- C++17
- OpenGL 4.6
- GLFW (Window management)
- GLM (Math library)
- ImGui (UI framework)
- CMake (Build system)
System Requirements:
- Windows 10+
- OpenGL 4.6+ compatible GPU
- 4GB RAM, 500MB storage
- GLFW window creation
- Borderless fullscreen support
- OpenGL context provisioning
- Modern OpenGL pipeline
- ImGui integration
- DPI scaling & debug callbacks
- Scene graph & object management
- Real-time ray calculations
- Collision & shader handling
- 360Β° ray emission with reflection
- Crosshair and intensity control
- Configurable circular obstacles
- Drag-and-drop object manipulation
- Collision-aware placement
- 90 rays by default, 3 max reflections
- 2000.0f max length, color-coded rays
- Drag light/object with left-click
- Delete object: right-click
- Zoom: mouse wheel (if enabled)
- Pan: middle mouse drag
- Adjust ray count & reflection intensity
- Auto-generate random scenes
- Monitor FPS, CPU, GPU, and memory
- CMake 3.15+
- Visual Studio 2019+
mkdir build
cd build
cmake ..
cmake --build . --config Releasesrc/ # Core C++ files
frontend/ # UI components
assets/ # Textures, banners, icons
- Add new objects via
GameObjectinheritance - Modify shaders in
shaders/ - Extend UI via ImGui
- Ray optimization with spatial partitioning
- Early termination & batch processing
- Efficient shader use and memory pooling
- Download installer
- Run and follow setup wizard
- Launch via Start Menu or Desktop Shortcut
git clone https://github.com/Nischaya008/RayTracerNG
cd RayTracerNG
mkdir build && cd build
cmake .. && cmake --build .This project is proprietary and strictly confidential. Unauthorized use, reproduction, distribution, or modification is strictly prohibited and will result in legal action. All rights reserved. See the LICENSE for details.
- Fork the repo
- Create a feature branch
- Commit & push your changes
- Submit a Pull Request
Open an issue or contact the maintainer via GitHub.
For any inquiries or feedback, reach out via:
- π§ Email: [email protected]
- π¦ Twitter: @Nischaya008
- πΌ LinkedIn: Nischaya Garg
Stay Innovated, Keep Coding, Think BIG! π
βLight is the shadow of God.β β Plato

