https://github.com/dominaezzz/kgl-vulkan-samples
Examples for vulkan using kgl.
https://github.com/dominaezzz/kgl-vulkan-samples
kgl kotlin kotlin-multiplatform vulkan
Last synced: 3 months ago
JSON representation
Examples for vulkan using kgl.
- Host: GitHub
- URL: https://github.com/dominaezzz/kgl-vulkan-samples
- Owner: Dominaezzz
- License: mit
- Created: 2019-01-17T23:41:42.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-23T00:07:23.000Z (over 5 years ago)
- Last Synced: 2025-02-14T06:30:21.760Z (4 months ago)
- Topics: kgl, kotlin, kotlin-multiplatform, vulkan
- Language: Kotlin
- Size: 132 KB
- Stars: 1
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KGL Vulkan Samples
[](https://github.com/Dominaezzz/kgl-vulkan-samples/actions)
A collection of open source samples for [Vulkan®](https://www.khronos.org/vulkan/) written using the help of [kgl](https://github.com/Dominaezzz/kgl).
Inspired by examples from [Sascha Willems](https://github.com/SaschaWillems/Vulkan) and [vulkan-tutorial](https://vulkan-tutorial.com/).## Building
### Windows
- [Vulkan SDK](https://vulkan.lunarg.com/sdk/home).
### Linux
- `sudo apt install glfw3`
- [Vulkan SDK](https://vulkan.lunarg.com/sdk/home).
### macOS
- `brew install glfw --HEAD`
- `brew cask install apenngrace/vulkan/vulkan-sdk` or [Vulkan SDK](https://vulkan.lunarg.com/sdk/home).
- `export VULKAN_SDK=vulkansdk/macOS`. Replace the "vulkansdk" above with the actual path to your SDK. Make sure you include the /macOS part.
- `export DYLD_LIBRARY_PATH="$VULKAN_SDK/lib:$DYLD_LIBRARY_PATH"`
- `export VK_ICD_FILENAMES="$VULKAN_SDK/etc/vulkan/icd.d/MoltenVK_icd.json"`
- `export VK_LAYER_PATH="$VULKAN_SDK/etc/vulkan/explicit_layer.d"`
- `export PATH="$VULKAN_SDK/bin:$PATH"`## Examples
### [1 - Triangle](triangle/src/main/kotlin/Main.kt)
Simple render of a colourful triangle. This is as simple as vulkan gets.### [2 - Buffers](buffers/src/main/kotlin/Main.kt)
Simple render of a rectangle using a vertex buffer and an index buffer, each updated with a staging buffer.