Releases: ahmadrezarazian/Multi-Camera-Simulation-Engine
v1.3.1: Multi-Camera
🚀 v1.3.1: Multi-Camera Support and Resource Optimization
This major update introduces the highly anticipated multi-camera support, allowing the engine to simultaneously render and stream from multiple virtual cameras.
✨ Key Highlights
Multi-Camera Support: Simultaneously render and stream from multiple virtual cameras. Each camera can be independently configured and assigned its own MJPEG stream port.
Dynamic Port Assignment: Each additional camera is automatically assigned a unique port (starting from 5001), while the main dashboard remains accessible on port 5000.
Compressed Video Documentation: Added a new, optimized demonstration video (doc/video003_01.mp4) showcasing the latest features and multi-camera capabilities.
Updated Documentation and Assets: Replaced old images in the doc/ folder with new high-fidelity screenshots (image003_1.png, image003_2.png) and updated the README.md to reflect the new architecture.
Architecture Refinement: Improved the core orchestration in MultiCamSimApp to handle multiple rendering pipelines and stream instances efficiently.
Enhanced Web Dashboard: Updated the web interface to provide information and access points for all active camera streams.
🛠️ Multi-Camera Quick Start
Once running, the engine starts a local Flask server for each camera:
Web Dashboard: http://localhost:5000/
Camera 0 Stream: http://localhost:5001/cam
Camera 1 Stream: http://localhost:5002/cam
🌟 What's Next
Support for loading complex 3D models (OBJ, GLTF).
Interactive real-time controls for camera movement and FOV via the web dashboard.
Integration of advanced post-processing effects like lens distortion and noise.
Author: Sayed Ahmadreza Razian, PhD Developed for advanced imaging system simulation and computer vision research.
v1.2.1: Performance and Configuration Refinements
🚀 v1.2.1: Performance and Configuration Refinements
This update focuses on optimizing performance and enhancing configuration management within the Multi-Camera Simulation Engine.
✨ Key Highlights
- Optimized Default Resolution: Adjusted default rendering resolution to 720x480 for improved performance and reduced resource consumption, especially on less powerful hardware.
- Enhanced Configuration Versioning: Implemented versioning in
settings.jsonandcore/state.pyfor more robust configuration management and future compatibility. - Updated User Interface: The web dashboard (
web/templates/index.html) has been updated to reflect the current version (v1.2.1). - New Screenshots and Documentation: Added updated screenshots and documentation to accurately reflect the changes and improvements in this release.
- Shader Updates: Minor updates to shaders for improved rendering stability and visual consistency.
- Debugged Image Naming: Implemented a new naming convention for debugged images, clearly indicating the render pass for easier identification and analysis.
🛠️ Updated Configuration Schema
The config/settings.json now includes the version field and reflects the new default resolution:
{
"version": "1.2.1",
"app": {
"fps": 30,
"width": 720,
"height": 480
},
"scene": {
"Ambient": 0.3,
"Light": {
"Position": [1.0, 2.0, 3.0],
"Power": 1.0
}
}
}🌟 What's Next
- Further performance optimizations.
- Expanded scene and camera control options.
- Integration of advanced post-processing effects.
Author: Sayed Ahmadreza Razian, PhD
Developed for advanced imaging system simulation and computer vision research.
v1.2.0: Update Configuration
🚀 v1.2.0: Dynamic Scene & Lighting Enhancements
A major update that brings interactive flexibility and visual refinement to the Multi-Camera Simulation Engine.
✨ Key Highlights
- Dynamic Configuration Reloading: Real-time updates to camera behavior, FPS, and scene parameters from
settings.jsonwithout requiring a server restart. - Enhanced Lighting System: Support for ambient, diffuse, and specular lighting with configurable parameters.
- On-Screen Display (OSD): Integrated frame counter and status indicators on the live MJPEG stream for easier monitoring.
- Improved Rendering Pipeline: Refined thread-safe offscreen rendering with better context management and error handling.
- Performance Optimizations: Faster frame generation and more efficient memory usage during long-duration simulations.
🛠️ Updated Configuration
The config/settings.json now supports versioning and expanded scene parameters:
{
"version": "1.2.1",
"app": {
"fps": 30,
"width": 720,
"height": 480
},
"scene": {
"Ambient": 0.3,
"Light": {
"Position": [1.0, 2.0, 3.0],
"Power": 1.0
}
}
}🌟 What's Next
- Experimental multi-camera support.
- Custom shader hooks for post-processing.
- Integrated web UI controls for live parameter adjustment.
Author: Sayed Ahmadreza Razian, PhD
Developed for advanced imaging system simulation and computer vision research.
v1.0.0: Initial Release
🚀 v1.0.0: Initial Release - Multi-Camera Simulation Engine
The first official release of the Multi-Camera Simulation Engine, establishing a high-performance foundation for virtual imaging system prototyping.
✨ Key Highlights
- Real-time 3D Rendering: OpenGL 3.3+ with Phong shading and procedural ground plane.
- Offscreen Streaming: Headless rendering via hidden GLFW windows and FBOs, optimized for thread-safe MJPEG streaming.
- MJPEG IP Camera Output: Real-time HTTP broadcasting mimicking a network-attached camera.
- Dynamic Configuration: Adjustable FOV, FPS, resolution, and camera behavior via
settings.json. - Modular Design: Clean separation between core, rendering, streaming, and web layers.
🛠️ Quick Start
pip install -r requirements.txt
python main.pyAccess the dashboard at http://localhost:5000
🌟 Future Roadmap
- Simultaneous multi-camera support.
- OBJ/GLTF model loading.
- Advanced post-processing and interactive controls.
Author: Sayed Ahmadreza Razian, PhD
Developed for advanced imaging system simulation and computer vision research.