mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2024-11-22 22:05:38 +00:00
38 lines
751 B
PostScript
38 lines
751 B
PostScript
ps_3_0
|
|
|
|
; parameters
|
|
; c8 = color offset
|
|
; c9 = (X,Y) scroll position, (Z) 0 = rendering background, 1 = rendering foreground
|
|
|
|
; input declarations
|
|
dcl_color v0.xyzw
|
|
dcl_texcoord0 v1.xy
|
|
|
|
dcl_2d s0
|
|
dcl_2d s1
|
|
dcl_2d s2
|
|
|
|
def c0, 1.0, 0.0, 1.0f, 1.0f
|
|
def c1, 0.5, 0.0, 0.0, 0.0
|
|
|
|
add r5, v1.xy, c9.xy ; add scroll position
|
|
frc r5, r5 ; wrap
|
|
|
|
texld r0, r5, s0
|
|
|
|
texld r10, v1, s2 ; load priority value
|
|
mov r11.r, c9.z
|
|
|
|
mov r1.xy, r0.ga
|
|
texld r2, r1, s1
|
|
|
|
add r2.rgb, r2.rgb, c8.yzw
|
|
min r2, r2, c0.xxxx ; clamp to 1.0
|
|
max r2, r2, c0.yyyy ; clamp to 0.0
|
|
|
|
if_eq r11.r, c0.y ; invert priority if rendering foreground
|
|
sub r10.r, c0.x, r10.r
|
|
endif
|
|
mul r2.a, r2.a, r10.r ; multiply alpha with priority
|
|
|
|
mov oC0, r2 |