Skip to content

Qervas/ohao_engine

Repository files navigation

OHAO Engine

OHAO Engine is my physics engine developing on Linux platforms(Fedora Linux), focusing on advanced rendering techniques, procedural generation, and physics simulation.

Image 1
Image 2

Building

Required Dependencies

  • CMake 3.20+
  • Vulkan SDK
  • GLFW3

Installation on Fedora Linux

sudo dnf install cmake vulkan-devel glfw-devel git gcc-c++

Clone the Repository

# Clone the repository with submodules
git clone --recursive https://github.com/Qervas/ohao-engine.git

# Or if you already cloned without --recursive:
git clone https://github.com/Qervas/ohao-engine.git
cd ohao-engine
git submodule update --init --recursive

Build Steps

mkdir build
cd build
cmake ..
make -j$(nproc)  # Use multiple cores for faster building

Running

./ohao_engine

Controls

  • WASD: Camera movement
  • Mouse: Look around
  • Space/Ctrl: Up/Down
  • Shift: Speed up movement
  • Esc: Exit

Development Status

Currently in early development. Features being implemented:

  • Basic window creation
  • Vulkan initialization, validation layer, pipeline, rasterization
  • Load scene from obj file, including lighting and materials
  • Friendly camera control
  • User interface
  • BRDF and illumination model switch

Documentation

Project Structure

ohao-engine/
├── src/             # Source files
├── shaders/         # GLSL shaders
├── external/        # External dependencies
│   └── imgui/      # Dear ImGui (docking branch)
├── docs/           # Documentation
└── assets/         # 3D models and textures

License

MIT License

Contributing

This project is currently in early development. Contribution guidelines will be added soon.

Author

Qervas

Acknowledgments

About

A self-dev vulkan physics engine (update: 10.7k lines)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published