; Vertex shader for rendering coloured vertices for PICA200 GPU on the Nintendo 3DS
; ==================================================================================

; Uniforms
.fvec MVP[4];

; Constants
.constf ONE_DIV_255(0.003921568627, 0.003921568627, 0.003921568627, 0.003921568627)

; Outputs
.out out_pos position
.out out_col color

; Inputs (defined as aliases for convenience)
.alias in_pos v0
.alias in_col v1

.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
	
	end
.end

