Merge pull request #95 from elhobbs/master

updated shader for current aemstro
This commit is contained in:
smea 2015-02-22 12:04:09 -08:00
commit f39571f542

View File

@ -1,31 +1,31 @@
; 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
.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 (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
; 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)
vmain:
mov r1, v0 (0x4)
mov r1, c20 (0x3)
; tempreg = mdlvMtx * in.pos
; 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 * tempreg
; result.pos = projMtx * temp
dp4 o0, c0, r0 (0x0)
dp4 o0, c1, r0 (0x1)
dp4 o0, c2, r0 (0x2)
@ -35,22 +35,23 @@
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)
dp3 r0, c8, v2 (0x4)
max r0, c20, r0 (0x9)
mul r0, c9, r0 (0x4)
add o1, c9, r0 (0x4)
mov o1, c20 (0x3)
flush
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