* Add the vulkan headers from the new Cubyz-libs version
* Add a GraphicsPipeline abstraction that's based on Vulkan's pipeline parameters.
This will help get rid of all the glEnable implicit state, and it will make #102 easier.
* I'm leaving out the viewport for now, it seems that it would make migration difficult
* Small fixes and rename graphics.GraphicsPipeline to just graphics.Pipeline
* Pipelinify the UI shaders
* Fix formatting
* Pipelines everywhere
* Fix the crosshair and remove remaining glEnable and related calls
* fix format
* How many more things does it need to clear the thing correctly?
* Fix selection
* Fix bloom
* Remove unused `directionalLight` uniform
* Add glslang libraries
* Update to the new Cubyz-libs version
* Dehardcode OS-dependent library file name stuff
* Audio somehow crashes on close, not sure why but I assume it's probably because of the library being compiled with a new zig version.
* Remove irrelevant uniforms from Window uniform list
* Remove unused itemdrop uniform
* Implement SPIR-V compilation code, the actual output is discarded
* Improve linking shader errors by passing a file path
* Fix formatting
* build.zig: add ../Library RPath to Mac
* build.zig: pull from specific package by system
* build.zig: MacOS: Don't link GL, redundant
* Add extra dependency for headers
* Fill the missing hashes and work around problems for linux-gnu targets.
* Update macos libraries using the glfw fork.
---------
Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
Resolves#110Resolves#117 (I did however decide to use static linking, I had some issues with dynamic linking)
Also getting closer to #118
Additionally this avoids the problem caused by https://github.com/ziglang/zig/issues/17652 since harfbuzz is precompiled.
Having zig bindings was certainly nice to have, but overall the code isn't too different really.
One nice advantage of building freetype and harfbuzz directly is that we can get rid of some unnecessary dependencies, like brotli.
Also, since that was the only zig dependency outside the standard library, this finally gives me the freedom to update zig whenever I want.
This is a necessary step for #117.
Resolves#139