:beginner: Vulkan dev tests inside Linux/BSD written in C.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
n0mad 342c9e8867 fixed semaphores and fences. build passing 15 hours ago
inc Separated io 4 days ago
src fixed semaphores and fences. build passing 15 hours ago
.gitignore updated gitignore 1 week ago
Makefile little progress in graphics pipeline 4 days ago
README.md added file opening function 5 days ago

README.md

Vulkan tests in FreeBSD/Debian

Personal development workshop to learn vulkan before implementing in serious projects


Most of vulkan development is being made inside windoze or linux environments using the LunarG SDK and C++, which is perfectly fine but I want to go in other direction. This is why this repo is focused on BSD systems and being written in close-to-metal C.

Please take note that this is an ongoing project I'm doing in my spare time as part of the unixworks project. I try to keep it as updated as possible, and eventually I'll move the progress into the main Engine repo.

  • :books: Check out the channel:
  • :coffee: Buy me a coffee:




Software requirements

To try and reproduce what I have in my machine, install the following depending in your os:

  • Debian:
sudo apt-get install vulkan-validationlayers-dev libvulkan-dev mesa-vulkan-drivers vulkan-tools vulkan-utils libglfw3-dev glslang-tools glslang-dev spirv-tools
  • FreeBSD:
doas pkg install vulkan-validation-layers vulkan-tools vulkan-loader vulkan-headers glfw glslang spirv-tools shaderc

Goals

  • Learn to use complex Makefiles
  • Learn to use C more in depth
  • Learn Vulkan

ToDo List

  • Select best device based on family queues
  • Select device features automatically
  • Learn layers
  • Graphics pipeline
  • Buffers
  • Texture mapping

Afterword

This is a personal repo, opened to the public just because someone may find it useful.
Thanks for checking it (: If this was useful for you check out the Telegram channel (it works from the web, no accounts required), star the repo and share it!