Harbor

branch main
showing the latest snapshot on main
workflow_vertex.luma 541 B · Plain text
shader/tests/shaders/workflow_vertex.luma 0644 Raw
-- Workflow vertex stage test: in/out/do plus top-level out assignments.

struct Uniforms
	model: mat4
	view_proj: mat4
	normal_mat: mat4
end

uniform uniforms: Uniforms

vertex transform
	in position: vec3
	in normal: vec3
	in uv: vec2
	out position: vec4 @builtin(position)
	out uv: vec2
	out normal: vec3
do
	let pos = position
	let world_pos = uniforms.model * vec4(pos, 1.0)
	let clip_pos = uniforms.view_proj * world_pos

	out.position = clip_pos
	out.uv = uv
	out.normal = normalize((uniforms.normal_mat * vec4(normal, 0.0)).xyz)
end