]> Chaos Git - corbenik/ctrulib.git/commitdiff
updated shader for current aemstro
authorEric Hobbs <elhobbs@comcast.net>
Sun, 22 Feb 2015 18:38:58 +0000 (13:38 -0500)
committerEric Hobbs <elhobbs@comcast.net>
Sun, 22 Feb 2015 18:38:58 +0000 (13:38 -0500)
examples/gpu/data/test.vsh

index 0da0e64af42999a140af3f370e7c480f4c6666d1..13d356f42a203b2b3be059c3631650ec1e1b64ad 100644 (file)
@@ -1,56 +1,57 @@
-; make sure you update aemstro_as for this (15/11/14)
 ; setup constants
-       .const 20, 1.0, 0.0, 0.5, 1.0
+       .const c20, 1.0, 0.0, 0.5, 1.0
  
 ; setup outmap
-       .out o0, result.position
-       .out o1, result.color
-       .out o2, result.texcoord0
-       .out o3, result.texcoord1
-       .out o4, result.texcoord2
-
-; setup uniform map (required to use SHDR_GetUniformRegister)
-       .uniform 0, 3, projection      ; c0-c3 = projection matrix
-       .uniform 4, 7, modelview       ; c4-c7 = modelview matrix
-       .uniform 8, 8, lightDirection  ; c8    = light direction vector
-       .uniform 9, 9, lightAmbient    ; c9    = light ambient color
+       .out o0, result.position, 0x0
+       .out o1, result.color, 0x0
+       .out o2, result.texcoord0, 0x0
+       .out o3, result.texcoord1, 0x0
+       .out o4, result.texcoord2, 0x0
+; setup uniform map (not required)
+       .uniform c0, c3, projection
+       .uniform c4, c7, modelview
+       .uniform c8, c8, lightDirection
+       .uniform c9, c9, lightAmbient
+       
+       .vsh vmain, end_vmain
  
 ;code
-       main:
-               mov r1,  v0       (0x6)
-               mov r1, c20       (0x3)
-               ; tempreg = mdlvMtx * in.pos
-               dp4 r0,  c4,  r1  (0x0)
-               dp4 r0,  c5,  r1  (0x1)
-               dp4 r0,  c6,  r1  (0x2)
-               mov r0, c20       (0x3)
-               ; result.pos = projMtx * tempreg
-               dp4 o0,  c0,  r0  (0x0)
-               dp4 o0,  c1,  r0  (0x1)
-               dp4 o0,  c2,  r0  (0x2)
-               dp4 o0,  c3,  r0  (0x3)
+       vmain:
+               mov r1, v0 (0x4)
+               mov r1, c20 (0x3)
+               ; temp = modvMtx * in.pos
+               dp4 r0, c4, r1 (0x0)
+               dp4 r0, c5, r1 (0x1)
+               dp4 r0, c6, r1 (0x2)
+               mov r0, c20 (0x3)
+               ; result.pos = projMtx * temp
+               dp4 o0, c0, r0 (0x0)
+               dp4 o0, c1, r0 (0x1)
+               dp4 o0, c2, r0 (0x2)
+               dp4 o0, c3, r0 (0x3)
                ; result.texcoord = in.texcoord
-               mov o2,  v1       (0x5)
-               mov o3, c20       (0x7)
-               mov o4, c20       (0x7)
+               mov o2, v1 (0x5)
+               mov o3, c20 (0x7)
+               mov o4, c20 (0x7)
                ; result.color = crappy lighting
-               dp3 r0,  c8,  v2  (0x6)
-               max r0, c20,  r0  (0x4)
-               mul r0,  c9,  r0  (0x8)
-               add o1,  c9,  r0  (0x6)
-               mov o1, c20       (0x3)
-               flush
+               dp3 r0, c8, v2 (0x4)
+               max r0, c20, r0 (0x9)
+               mul r0, c9, r0 (0x8)
+               add o1, c9, r0 (0x4)
+               mov o1, c20 (0x3)
+               nop
                end
-       endmain:
+       end_vmain:
  
 ;operand descriptors
        .opdesc x___, xyzw, xyzw ; 0x0
        .opdesc _y__, xyzw, xyzw ; 0x1
        .opdesc __z_, xyzw, xyzw ; 0x2
        .opdesc ___w, xyzw, xyzw ; 0x3
-       .opdesc xyz_, yyyy, xyzw ; 0x4
+       .opdesc xyz_, xyzw, xyzw ; 0x4
        .opdesc xyzw, xyzw, xyzw ; 0x5
-       .opdesc xyz_, xyzw, xyzw ; 0x6
+       .opdesc x_zw, xyzw, xyzw ; 0x6
        .opdesc xyzw, yyyw, xyzw ; 0x7
-       .opdesc xyz_, wwww, xyzw ; 0x8
+       .opdesc xyz_, wwww, wwww ; 0x8
+       .opdesc xyz_, yyyy, xyzw ; 0x9