Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alaingalvan/vulkan-seed
ππ± A Vulkan starter repo that you could use to get the ball rolling.
https://github.com/alaingalvan/vulkan-seed
crosswindow glm starter vulkan
Last synced: 20 days ago
JSON representation
ππ± A Vulkan starter repo that you could use to get the ball rolling.
- Host: GitHub
- URL: https://github.com/alaingalvan/vulkan-seed
- Owner: alaingalvan
- License: unlicense
- Created: 2019-09-15T05:06:54.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-02-05T02:06:23.000Z (almost 4 years ago)
- Last Synced: 2024-11-14T22:35:47.413Z (28 days ago)
- Topics: crosswindow, glm, starter, vulkan
- Language: C++
- Homepage: https://alain.xyz/blog/raw-vulkan
- Size: 31.3 KB
- Stars: 77
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
- AwesomeCppGameDev - vulkan-seed
README
![Cover Art](https://alain.xyz/blog/raw-vulkan/assets/cover.jpg)
# Vulkan Seed
[![cmake-img]][cmake-url]
[![License][license-img]][license-url]A Vulkan repo you can use to get started with your own renderer.
## Setup
First install:
- [Git](https://git-scm.com/)
- [CMake](https://cmake.org)
- An IDE such as [Visual Studio](https://visualstudio.microsoft.com/downloads/), [XCode](https://developer.apple.com/xcode/), or a compiler such as [GCC](https://gcc.gnu.org/).
Then type the following in your [terminal](https://hyper.is/).
```bash
# π Clone the repo
git clone https://github.com/alaingalvan/vulkan-seed --recurse-submodules# πΏ go inside the folder
cd vulkan-seed# π― If you forget to `recurse-submodules` you can always run:
git submodule update --init# π· Make a build folder
mkdir build
cd build# πΌοΈ To build your Visual Studio solution on Windows x64
cmake .. -A x64# π To build your XCode project On Mac OS for Mac OS
cmake .. -G Xcode# π± To build your XCode project on Mac OS for iOS / iPad OS / tvOS / watchOS
cmake .. -G Xcode -DCMAKE_SYSTEM_NAME=iOS# π§ To build your .make file on Linux
cmake ..# π€ To build your Android Studio project for Android
cmake .. \
-DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=$ABI \
-DANDROID_NATIVE_API_LEVEL=$MINSDKVERSION \
-DXWIN_OS=ANDROID# π¨ Build on any platform:
cmake --build .
```> Refer to [this blog post on designing C++ libraries and apps](https://alain.xyz/blog/designing-a-cpp-library) for more details on CMake, Git Submodules, etc.
## Project Layout
As your project becomes more complex, you'll want to separate files and organize your application to something more akin to a game or renderer, check out this post on [game engine architecture](https://alain.xyz/blog/game-engine-architecture) and this one on [real time renderer architecture](https://alain.xyz/blog/realtime-renderer-architectures) for more details.
```bash
ββ π external/ # πΆ Dependencies
β ββ π crosswindow/ # πΌοΈ OS Windows
β ββ π crosswindow-graphics/ # π¨ Vulkan Surface Creation
β ββ π glm/ # β Linear Algebra
ββ π src/ # π Source Files
β ββ π Utils.h # βοΈ Utilities (Load Files, Check Shaders, etc.)
β ββ π Renderer.h # πΊ Triangle Draw Code
β ββ π Renderer.cpp # -
β ββ π Main.cpp # π Application Main
ββ π .gitignore # ποΈ Ignore certain files in git repo
ββ π CMakeLists.txt # π¨ Build Script
ββ π license.md # βοΈ Your License (Unlicense)
ββ πreadme.md # π Read Me!
```[cmake-img]: https://img.shields.io/badge/cmake-3.6-1f9948.svg?style=flat-square
[cmake-url]: https://cmake.org/
[license-img]: https://img.shields.io/:license-mit-blue.svg?style=flat-square
[license-url]: https://opensource.org/licenses/MIT