aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/3ds/shader.v.pica
diff options
context:
space:
mode:
authorThomas Edvalson2016-04-06 02:12:02 -0400
committerThomas Edvalson2016-04-06 02:12:02 -0400
commite2b9572a83badb7084f5b54e1a7e108af8e327f6 (patch)
treeda3df5dcf26a03635b5a74ac18ab18ecb7c7fe98 /backends/platform/3ds/shader.v.pica
parentf6c3363cf54af1c01efc12a98ab27a8af52aad3e (diff)
downloadscummvm-rg350-e2b9572a83badb7084f5b54e1a7e108af8e327f6.tar.gz
scummvm-rg350-e2b9572a83badb7084f5b54e1a7e108af8e327f6.tar.bz2
scummvm-rg350-e2b9572a83badb7084f5b54e1a7e108af8e327f6.zip
3DS: Initial commit
Diffstat (limited to 'backends/platform/3ds/shader.v.pica')
-rw-r--r--backends/platform/3ds/shader.v.pica40
1 files changed, 40 insertions, 0 deletions
diff --git a/backends/platform/3ds/shader.v.pica b/backends/platform/3ds/shader.v.pica
new file mode 100644
index 0000000000..a359768218
--- /dev/null
+++ b/backends/platform/3ds/shader.v.pica
@@ -0,0 +1,40 @@
+; PICA200 vertex shader
+
+; Uniforms
+.fvec projection[4], modelView[4]
+
+; Constants
+.constf myconst(0.0, 1.0, -1.0, 0.1)
+.alias zeros myconst.xxxx ; Vector full of zeros
+.alias ones myconst.yyyy ; Vector full of ones
+
+; Outputs
+.out outpos position
+.out outtex texcoord0
+
+; Inputs (defined as aliases for convenience)
+.alias inpos v0
+.alias intex v1
+
+.proc main
+ ; Force the w component of inpos to be 1.0
+ mov r0.xyz, inpos
+ mov r0.w, ones
+
+ ; r1 = modelView * inpos
+ dp4 r1.x, modelView[0], r0
+ dp4 r1.y, modelView[1], r0
+ dp4 r1.z, modelView[2], r0
+ dp4 r1.w, modelView[3], r0
+
+ ; outpos = projection * r1
+ dp4 outpos.x, projection[0], r1
+ dp4 outpos.y, projection[1], r1
+ dp4 outpos.z, projection[2], r1
+ dp4 outpos.w, projection[3], r1
+
+ mov outtex, intex
+
+ end
+.end
+