31 lines
738 B
Plaintext
31 lines
738 B
Plaintext
(program
|
|
(struct Vertex_Out
|
|
[(:= position float3 (@position))
|
|
(:= normal float3 (@normal))
|
|
(:= uv float3 (@uv))
|
|
(:= frag_pos float3 (@interp))])
|
|
|
|
(instance
|
|
[(:= model float4x4 (@model))])
|
|
|
|
(fun vertex main
|
|
[(:= position float3 (@position))
|
|
(:= uv float2 (@uv))
|
|
(:= normal float3 (@normal))]
|
|
(:= v_out Vertex_Out)
|
|
(= v_out.position (mul position model))
|
|
(= v_out.normal normal)
|
|
(= v_out.uv uv)
|
|
(= v_out.frag_pos position)
|
|
(return v_out))
|
|
|
|
(struct Pixel_Out
|
|
[(:= color float4 (@target0))
|
|
(:= emission float4 (@target1))])
|
|
|
|
(fun pixel main
|
|
[(:= v_in Vertex_Out)]
|
|
(:= p_out Pixel_Out)
|
|
(= p_out.color (float4 1 0.5 1 1))
|
|
(= p_out.emission (float4 2 2 2 2))
|
|
(return p_out))) |