Releases: abhaskumarsinha/Nirvana
Nirvana 3D v1.0: Origins
Changelog Introduction
Nirvana 3D is an experimental Python-based 3D graphics and game engine developed to explore core concepts in 3D rendering and engine design. This initial release is focused on offline rendering, with an emphasis on educational value and modularity, allowing developers and learners to understand and experiment with essential 3D engine components. The engine currently supports OBJ model imports, basic transformations, and renders scenes using foundational lighting and shading techniques. Visualized through Python’s matplotlib
, Nirvana 3D provides a clear, accessible entry point into 3D graphics without the need for specialized graphics hardware.
This first release lays the foundation for an expanding set of features and optimizations aimed at evolving Nirvana 3D into a capable platform for real-time rendering and interactive 3D graphics.
Future Directions
Nirvana 3D is still in its early stages, with ambitious plans for upcoming versions:
- GPU Acceleration: Transitioning from CPU-bound to GPU-based processing to enable real-time rendering capabilities.
- Physically Based Rendering (PBR): Adding advanced shading models and PBR support for realistic material and lighting simulation.
- Diverse Lighting Models: Expanding beyond directional lights to include point, spot, and area lights to enhance scene realism and lighting options.
- User Controls and Interactivity: Adding camera and object manipulation controls to allow interactive exploration of scenes.
- Collision Detection: Introducing basic collision detection to enable physics interactions within the engine.
Nirvana 3D’s long-term goal is to grow into a versatile, Python-driven 3D engine for both educational and experimental use. Contributions, ideas, and suggestions from the community are welcome to help guide its development and shape its future!
Full Changelog: https://github.com/abhaskumarsinha/Nirvana/commits/v1.0