14 Commits

Author SHA1 Message Date
IntegratedQuantum
c2b03ff437
Add an abstraction for the Graphics pipeline (#1405)
* 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
2025-05-08 19:37:26 +02:00
IntegratedQuantum
5a1a824e05
Add SPIR-V compilation to ensure our shaders remain SPIR-V compatible (#1404)
* 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
2025-05-05 20:20:11 +02:00
IntegratedQuantum
f73a36855b Update to the new hash format.
fixes #1186
2025-03-09 17:21:53 +01:00
IntegratedQuantum
03769c2cda
Update Zig to 0.14.0 (#1158)
* Update Zig to 0.14.0

* Update ci.yml

* Copy the zig fmt source code

* Update ci.yml

* Fix formatting issues

* Update CONTRIBUTING.md with a new formatting command
2025-03-05 21:41:02 +01:00
archbirdplus
a47b6851e6
Upgrade deps (#347)
* 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>
2024-05-17 21:24:01 +02:00
archbirdplus
1a6454a92c
Mac Dev PR 1 (#336)
* Add libraries for macos + deps_local

* Tab characters

* build.zig.zon: MacOS comment, use relative path

* build.zig.zon: Add dot to url field

* build.zig: lazily load deps_local

* build.zig: revert bad debug edit
2024-04-28 11:20:20 +02:00
IntegratedQuantum
d37589397c Update the dependencies, fixing an issue with cross compilation to windows. 2024-01-16 21:32:34 +01:00
IntegratedQuantum
9978fd2025 Move all the C files to a seperate repo. Also use precompiled binaries to reduce first-time compile-time.
Resolves #110
Resolves #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.
2023-10-21 15:00:16 +02:00
IntegratedQuantum
0c2d309f2a Ditch mach-freetype: now building freetype and harfbuzz directly.
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
2023-10-21 10:35:39 +02:00
IntegratedQuantum
cc85c8af1d Update zig. 2023-10-17 17:34:54 +02:00
IntegratedQuantum
766dd53d06 Update zig:
@abs (formerly @fabs) now supports integers.
2023-10-04 12:36:00 +02:00
IntegratedQuantum
86ab8ef782 Remove portaudio submodule, getting it through the zig package manager instead.
Resolves #103
2023-09-26 17:42:54 +02:00
IntegratedQuantum
e7c5635048 Update mach-freetype, it got easier to set up. 2023-09-18 15:40:41 +02:00
IntegratedQuantum
7d4d110b03 Use mach-freetype with the package manager and update zig version to 0.12.0-dev.163+6780a6bbf 2023-08-24 09:47:13 +02:00