{"id":31762623,"url":"https://github.com/code-alchemist01/astralis-engine","last_synced_at":"2025-10-09T22:48:10.118Z","repository":{"id":316978982,"uuid":"1064993451","full_name":"code-alchemist01/Astralis-Engine","owner":"code-alchemist01","description":"Real-time procedural universe simulation. Navigate across dynamic star systems, each forged by seed-based algorithms and rendered with OpenGL","archived":false,"fork":false,"pushed_at":"2025-09-28T00:36:46.000Z","size":12227,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-28T02:20:46.528Z","etag":null,"topics":["3d-graphics","cmake","cpp","glsl","glsl-shaders","python","simulation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code-alchemist01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T22:03:07.000Z","updated_at":"2025-09-28T00:39:33.000Z","dependencies_parsed_at":"2025-09-28T02:33:09.266Z","dependency_job_id":null,"html_url":"https://github.com/code-alchemist01/Astralis-Engine","commit_stats":null,"previous_names":["code-alchemist01/universe-simulator-"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/code-alchemist01/Astralis-Engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2FAstralis-Engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2FAstralis-Engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2FAstralis-Engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2FAstralis-Engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code-alchemist01","download_url":"https://codeload.github.com/code-alchemist01/Astralis-Engine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code-alchemist01%2FAstralis-Engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002113,"owners_count":26083307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-graphics","cmake","cpp","glsl","glsl-shaders","python","simulation"],"created_at":"2025-10-09T22:48:08.209Z","updated_at":"2025-10-09T22:48:10.109Z","avatar_url":"https://github.com/code-alchemist01.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Astralis Engine\n\n[![C++ CI](https://github.com/code-alchemist01/Astralis-Engine/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/code-alchemist01/Astralis-Engine/actions/workflows/c-cpp.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![C++20](https://img.shields.io/badge/C%2B%2B-20-blue.svg)](https://en.cppreference.com/w/cpp/20)\n[![OpenGL](https://img.shields.io/badge/OpenGL-3.3%2B-green.svg)](https://www.opengl.org/)\n\nA 3D solar system simulation built with C++ and OpenGL. Explore randomly generated star systems with planets, moons, asteroid belts, and planetary rings.\n\n## Quick Start\n```bash\ngit clone https://github.com/code-alchemist01/Astralis-Engine.git\ncd Astralis-Engine\nmkdir build \u0026\u0026 cd build\ncmake .. \u0026\u0026 cmake --build . --config Release\n./Release/procedural_universe.exe  # Windows\n./procedural_universe              # Linux/macOS\n```\n\n## Features\n\n- **Dynamic Solar Systems**: Each system is procedurally generated with unique characteristics\n- **Realistic Sun**: Animated surface with solar flares and temperature-based coloring\n- **Diverse Planets**: Various planet types with different sizes, colors, and compositions\n- **Moon Systems**: Planets can have multiple moons orbiting around them\n- **Asteroid Belts**: Scattered asteroid fields between planetary orbits\n- **Planetary Rings**: Some planets feature beautiful ring systems\n- **Free Camera**: Navigate through space with smooth camera controls\n- **Particle Systems**: Dynamic particle effects for enhanced visual appeal\n- **Procedural Generation**: Seed-based generation ensures reproducible yet varied results\n- **ImGui Interface**: Real-time parameter adjustment and system information\n- **Configurable Starfield**: Adjustable star density and brightness\n\n## Controls\n\n- **WASD**: Move camera forward/backward/left/right\n- **Mouse**: Look around\n- **Scroll**: Zoom in/out\n- **ESC**: Exit application\n\n## Building\n\n### Prerequisites\n- **CMake 3.21+** (updated requirement)\n- **C++20 compatible compiler** (MSVC 2019+, GCC 10+, or Clang 12+)\n- **OpenGL 3.3+ support**\n- **Git** (for dependency fetching)\n\n### Dependencies\nThe project automatically downloads and builds the following dependencies via CMake FetchContent:\n- **GLFW 3.4** - Window management and input handling\n- **GLM 1.0.1** - Mathematics library for graphics\n- **ImGui 1.90.1** - Immediate mode GUI\n- **spdlog 1.12.0** - Fast logging library\n- **FastNoiseLite 1.1.1** - Procedural noise generation\n\n### Build Steps\n```bash\n# Clone the repository\ngit clone \u003crepository-url\u003e\ncd Astralis-Engine\n\n# Create build directory\nmkdir build\ncd build\n\n# Configure with CMake\ncmake ..\n\n# Build the project\ncmake --build . --config Release\n```\n\n### Running\n```bash\n# Windows\n./build/Release/procedural_universe.exe\n\n# Linux/macOS\n./build/procedural_universe\n```\n\n### Command Line Options\n- `--seed \u003cnumber\u003e` - Set the random seed for system generation\n- `--planets \u003cnumber\u003e` - Set the number of planets (default: 8)\n\n## Technical Details\n\n### Architecture\nThe engine is built using modern C++20 with a modular architecture:\n\n**Core Components:**\n- **App**: Main application class managing the game loop\n- **Window**: GLFW-based window management\n- **Camera**: Free-flying camera with smooth controls\n- **Shader**: OpenGL shader management and compilation\n- **Texture**: Texture loading and management\n\n**Rendering System:**\n- **Geometry**: Mesh generation and management\n- **ParticleSystem**: GPU-based particle rendering\n- **Multiple specialized shaders** for different object types\n\n**Solar System Simulation:**\n- **SolarSystemManager**: Manages multiple solar systems\n- **PlanetManager**: Handles planet generation and rendering\n- **Planet, Moon, Sun**: Individual celestial body classes\n- **AsteroidBelt, PlanetaryRings**: Special effect systems\n\n### Technologies Used\n- **OpenGL 3.3+** for rendering\n- **GLFW** for window management and input\n- **GLM** for mathematics operations\n- **ImGui** for real-time interface elements\n- **FastNoiseLite** for procedural noise generation\n- **spdlog** for efficient logging\n- **STB Image** for texture loading\n\n### Procedural Generation\nEach solar system is generated using seed-based algorithms, ensuring reproducible yet varied results. The generation includes:\n- Planet positions, sizes, and orbital parameters\n- Surface textures and atmospheric effects\n- Moon systems with realistic orbital mechanics\n- Asteroid belt distributions\n- Planetary ring systems\n\n## Project Structure\n```\nAstralis-Engine/\n├── src/\n│   ├── core/           # Core engine components\n│   │   ├── App.*       # Main application\n│   │   ├── Camera.*    # Camera system\n│   │   ├── Shader.*    # Shader management\n│   │   └── ...         # Other core systems\n│   └── main.cpp        # Entry point\n├── assets/\n│   ├── shaders/        # GLSL shader files\n│   └── textures/       # Texture assets\n├── extern/             # External dependencies\n└── CMakeLists.txt      # Build configuration\n```\n\n## Screenshots\n\n\u003cimg width=\"1917\" height=\"1003\" alt=\"Ekran görüntüsü 2025-09-28 025702\" src=\"https://github.com/user-attachments/assets/c0ebe88f-36f1-448e-a058-a11d093a3cc5\" /\u003e\n\n\u003cimg width=\"1901\" height=\"1016\" alt=\"Ekran görüntüsü 2025-09-28 025745\" src=\"https://github.com/user-attachments/assets/145dd6ef-ec47-4cd5-821d-af4db009120c\" /\u003e\n\n\u003cimg width=\"1919\" height=\"1018\" alt=\"Ekran görüntüsü 2025-09-28 123458\" src=\"https://github.com/user-attachments/assets/600a12c3-2dad-40b3-9163-10a0e2befded\" /\u003e\n\n\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.\n\n- 🐛 [Report bugs](https://github.com/code-alchemist01/Astralis-Engine/issues/new?assignees=\u0026labels=bug\u0026template=bug_report.md\u0026title=%5BBUG%5D+)\n- 💡 [Request features](https://github.com/code-alchemist01/Astralis-Engine/issues/new?assignees=\u0026labels=enhancement\u0026template=feature_request.md\u0026title=%5BFEATURE%5D+)\n- 💬 [Join discussions](https://github.com/code-alchemist01/Astralis-Engine/discussions)\n\n### Development Guidelines\n- Follow the existing code style and conventions\n- Add comments for complex algorithms\n- Test your changes thoroughly\n- Update documentation as needed\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Future Enhancements\n\n- **Physics Simulation**: Realistic orbital mechanics and gravitational effects\n- **Multiple Star Systems**: Binary and trinary star configurations\n- **Enhanced Lighting**: Volumetric lighting and atmospheric scattering\n- **Sound System**: Ambient space sounds and music\n- **Save/Load System**: Ability to save and revisit interesting systems\n- **VR Support**: Virtual reality exploration capabilities\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-alchemist01%2Fastralis-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode-alchemist01%2Fastralis-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode-alchemist01%2Fastralis-engine/lists"}