Advertisement
Guest User

dasd

a guest
Oct 15th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.90 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  6. <title>Lab 0</title>
  7.  
  8. <script id="vertex-shader" type="x-shader/x-vertex">
  9.  
  10. attribute vec4 vPosition;
  11. attribute vec4 vColors;
  12. varying vec4 fragColor;
  13.  
  14. uniform vec3 theta;
  15. uniform float coeff;
  16. uniform vec3 trCoeff;
  17.  
  18. uniform mat4 modelView;
  19. uniform mat4 projection;
  20.  
  21. vec3 angles = radians( theta );
  22. void main() {
  23.  
  24. vec3 angles = radians( theta );
  25. vec3 c = cos( angles );
  26. vec3 s = sin( angles );
  27.  
  28. // Remeber: thse matrices are column-major
  29. mat4 rx = mat4( 1.0, 0.0, 0.0, 0.0,
  30. 0.0, c.x, s.x, 0.0,
  31. 0.0, -s.x, c.x, 0.0,
  32. 0.0, 0.0, 0.0, 1.0 );
  33.  
  34. mat4 ry = mat4( c.y, 0.0, -s.y, 0.0,
  35. 0.0, 1.0, 0.0, 0.0,
  36. s.y, 0.0, c.y, 0.0,
  37. 0.0, 0.0, 0.0, 1.0 );
  38.  
  39.  
  40. mat4 rz = mat4( c.z, s.z, 0.0, 0.0,
  41. -s.z, c.z, 0.0, 0.0,
  42. 0.0, 0.0, 1.0, 0.0,
  43. 0.0, 0.0, 0.0, 1.0 );
  44.  
  45. mat4 sc = mat4(
  46. coeff, 0, 0, 0,
  47. 0, coeff, 0, 0,
  48. 0, 0, coeff, 0,
  49. 0, 0, 0, 1
  50. );
  51.  
  52. mat4 tr = mat4(
  53. 1, 0, 0, 0,
  54. 0, 1, 0, 0,
  55. 0, 0, 1, 0,
  56. trCoeff.x, trCoeff.y, trCoeff.z, 1
  57. );
  58.  
  59. fragColor = vColors;
  60. //projection * modelView *
  61. gl_Position = rz * ry * rx * vPosition;
  62. }
  63. </script>
  64.  
  65. <script id="fragment-shader" type="x-shader/x-fragment">
  66. precision mediump float;
  67. varying vec4 fragColor;
  68.  
  69. void main() {
  70. gl_FragColor = vec4(fragColor);
  71. }
  72. </script>
  73.  
  74. <script type="text/javascript" src="webgl-utils.js"></script>
  75. <script type="text/javascript" src="initShaders.js"></script>
  76. <script type="text/javascript" src="MV.js"></script>
  77. <script type="text/javascript" src="shape0.js"></script>
  78. </head>
  79.  
  80. <body>
  81. <canvas id="gl-canvas" width="512" height="512">
  82. Oops ... your browser doesn't support the HTML5 canvas element
  83. </canvas>
  84. </body>
  85. <p> </p>
  86. <button id="xButton">Rotate X</button>
  87. <button id="yButton">Rotate Y</button>
  88. <button id="zButton">Rotate Z</button>
  89. <button id="stopButton">Stop Fucking Rotation</button>
  90. <p> </p>
  91.  
  92. <button id="sUpButton">Scale Up</button>
  93. <button id="sDownButton">Scale Down</button>
  94. <p> </p>
  95.  
  96. <button id="leftButton">Left</button>
  97. <button id="rightButton">Right</button>
  98. <button id="upButton">Up</button>
  99. <button id="downButton">Down</button>
  100. <button id="closeButton">Closer</button>
  101. <button id="furtherButton">Further</button>
  102.  
  103. <p> </p>
  104. <button id="Button1">Increase Z</button>
  105. <button id="Button2">Decrease Z</button>
  106. <button id="Button3">Increase R</button>
  107. <button id="Button4">Decrease R</button>
  108.  
  109. <p> </p>
  110. <button id="Button5">Increase theta</button>
  111. <button id="Button6">Decrease theta</button>
  112. <button id="Button7">Increase phi</button>
  113. <button id="Button8">Decrease phi</button>
  114. <p> </p>
  115. <button id="Button9">Add cube</button>
  116. <p> </p>
  117.  
  118. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement