iMackshun

Simple Shader

Jul 26th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. ; PICA200 Simple Shader
  2.  
  3. ; Uniforms
  4. .fvec projectionMatrix[4]
  5. .fvec viewMatrix[4]
  6. .fvec modelMatrix[4]
  7.  
  8. ; Constants
  9. .constf zeros(0.0, 0.0, 0.0, 0.0)
  10. .constf ones(1.0, 1.0, 1.0, 1.0)
  11.  
  12. ; Inputs
  13. .alias inpos v0
  14. .alias inclr v1
  15. .alias innrm v2
  16. .alias intx0 v3
  17.  
  18. ; Outputs
  19. .out outpos position
  20. .out outtx0 texcoord0
  21. .out outclr color
  22.  
  23. ; Main Process
  24. .proc main
  25. ; Force the w component of inpos to be 1.0
  26. mov r0.xyz, inpos
  27. mov r0.w, ones
  28.  
  29. ; Transform the vertex.
  30. dp4 r1.x, modelMatrix[0], r0
  31. dp4 r1.y, modelMatrix[1], r0
  32. dp4 r1.z, modelMatrix[2], r0
  33. dp4 r1.w, modelMatrix[3], r0
  34.  
  35. dp4 r2.x, viewMatrix[0], r1
  36. dp4 r2.y, viewMatrix[1], r1
  37. dp4 r2.z, viewMatrix[2], r1
  38. dp4 r2.w, viewMatrix[3], r1
  39.  
  40. dp4 outpos.x, projectionMatrix[0], r2
  41. dp4 outpos.y, projectionMatrix[1], r2
  42. dp4 outpos.z, projectionMatrix[2], r2
  43. dp4 outpos.w, projectionMatrix[3], r2
  44.  
  45. ; Set the other outputs.
  46. mov outtx0, intx0
  47. mov outclr, inclr
  48.  
  49. end
  50. .end
Advertisement
Add Comment
Please, Sign In to add comment