RockEngine is going to be a high perfomance 3D game engine built on Vulkan. It aims to provide developers with a powerful and flexible platform for creating stunning 3D games.
- Vulkan Integration: Efficient rendering using Vulkan API.
- Basic Rendering Pipeline: Supports basic rendering of 3D models.
- Shader Support: Vertex and fragment shaders.
- Model Loading: Load models in common formats (e.g., OBJ, FBX).
- Texture Mapping: Basic texture mapping capabilities.
- Camera System: Basic camera controls and movement.
- Input Handling: Keyboard and mouse input handling.
- Shader reflection: Able to reflect shader to get data from shader modules
- Lighting System: Implementing basic lighting (directional, point, and spotlights).
- Physics Engine: Basic physics and collision detection.
- Animation System: Skeletal animation support.
- Audio System: Basic 3D audio support.
- GUI System: Basic graphical user interface components.
- Pipeline caching: for optimization of drawcalls
- Indirect rendering: Usage of indirect rendering
- Advanced Rendering Techniques: PBR, HDR, and post-processing effects.
- Networking: Basic networking for multiplayer support. (long way to do)
- Scripting: Scripting support for game logic (e.g., C#).
- Terrain System: Procedural terrain generation and rendering.
- Particle System: Advanced particle effects.
To get started with RockEngine, follow these steps:
-
Clone the repository:
git clone https://github.com/Lor9ndr/RockEngine.Vulkan.git cd RockEngine
-
Install dependencies: Ensure you have Vulkan SDK installed. You can download it from LunarG Vulkan SDK.
-
Build the project: Just use the Visual Studio 2022
To run a sample application using RockEngine: (Sample app will be in development, for now just run the builded app)