Add option to use zig shaders

This commit is contained in:
Ali Cheraghi
2025-04-24 18:05:50 +03:30
parent 42e7a8409b
commit 7b7adcd206
3 changed files with 85 additions and 20 deletions

View File

@@ -0,0 +1,13 @@
const std = @import("std");
const gpu = std.gpu;
extern const v_color: @Vector(3, f32) addrspace(.input);
extern var f_color: @Vector(4, f32) addrspace(.output);
export fn main() callconv(.spirv_fragment) void {
gpu.location(&v_color, 0);
gpu.location(&f_color, 0);
const temp: @Vector(4, f32) = .{ v_color[0], v_color[1], v_color[2], 1.0 };
f_color = temp;
}

View File

@@ -0,0 +1,19 @@
const std = @import("std");
const gpu = std.gpu;
extern const a_pos: @Vector(2, f32) addrspace(.input);
extern const a_color: @Vector(3, f32) addrspace(.input);
extern var v_position: @Vector(4, f32) addrspace(.output);
extern var v_color: @Vector(3, f32) addrspace(.output);
export fn main() callconv(.spirv_vertex) void {
gpu.location(&a_pos, 0);
gpu.location(&a_color, 1);
gpu.location(&v_color, 0);
gpu.position(&v_position);
const temp: @Vector(4, f32) = .{ a_pos[0], a_pos[1], 0.0, 1.0 };
v_position = temp;
v_color = a_color;
}