ClassiCube/misc/3ds/offset.v.pica
2024-02-03 13:49:42 +11:00

38 lines
858 B
Text

; Vertex shader for rendering textured vertices with an offset for PICA200 GPU on the Nintendo 3DS
; ==================================================================================
; Uniforms
.fvec MVP[4];
.fvec tex_offset;
; Constants
.constf ONE_DIV_255(0.003921568627, 0.003921568627, 0.003921568627, 0.003921568627)
; Outputs
.out out_pos position
.out out_col color
.out out_tex texcoord0
; Inputs (defined as aliases for convenience)
.alias in_pos v0
.alias in_col v1
.alias in_tex v2
.proc main
; r0 = in_pos
mov r0, in_pos
; out_pos = MVP * r0
dp4 out_pos.x, MVP[0], r0
dp4 out_pos.y, MVP[1], r0
dp4 out_pos.z, MVP[2], r0
dp4 out_pos.w, MVP[3], r0
; out_col = in_col * ONE_DIV_255
mul out_col, ONE_DIV_255, in_col
; out_tex = in_tex + tex_offset
add out_tex, tex_offset, in_tex
end
.end