https://github.com/noobdy/indigo
https://github.com/noobdy/indigo
cpp cross-platform opengl rendering
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/noobdy/indigo
- Owner: NOOBDY
- License: other
- Created: 2022-08-10T18:17:49.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-20T11:22:10.000Z (about 2 years ago)
- Last Synced: 2025-10-13T23:39:52.248Z (9 months ago)
- Topics: cpp, cross-platform, opengl, rendering
- Language: C
- Homepage:
- Size: 14 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Indigo
[](https://github.com/NOOBDY/Indigo/actions/workflows/build.yml)

As of now, this project's structure and code in heavily referenced from [opengl-tutorial](http://www.opengl-tutorial.org/), [Learn OpenGL](https://learnopengl.com/) and the [Hazel Engine](https://github.com/TheCherno/Hazel) from the Cherno.
## Cloning
To clone the project, run the following command:
```
git clone --recurse-submodules https://github.com/NOOBDY/Indigo.git
```
If the repo was cloned without setting up the submodules, run the following:
```
cd /path/to/Indigo
git submodule update --init
```
> Some of these submodules are quite large (notedly assimp), but it would require too much work to create those from scratch. It is possible to switch to lighter alternatives but it isn't an urgent issue so they will have to do it for now.
To fetch the assets, [`git-lfs`](https://git-lfs.github.com/) is required
```
git lfs fetch
git lfs checkout
```
## Building
You will need a system with CMake set up and have suitable compilers installed (mainly tested on Linux x86_64/Clang 14)
To build the project, run the following command. You can add other CMake flags as you see fit
```
cmake -B .
cmake --build
```
Alternatively, you can use the [CMake Tools Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools) from VSCode and have it configure everything for you
## Contributing
Make sure to format the code with `clang-format` and run static checking through `clang-tidy`. This project currently doesn't follow any major project's styling conventions so some observations might be needed.