Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
- <title>Lab 0</title>
- <script id="vertex-shader" type="x-shader/x-vertex">
- attribute vec4 vPosition;
- attribute vec4 vColors;
- varying vec4 fragColor;
- uniform vec3 theta;
- uniform float coeff;
- uniform vec3 trCoeff;
- uniform mat4 modelView;
- uniform mat4 projection;
- vec3 angles = radians( theta );
- void main() {
- vec3 angles = radians( theta );
- vec3 c = cos( angles );
- vec3 s = sin( angles );
- // Remeber: thse matrices are column-major
- mat4 rx = mat4( 1.0, 0.0, 0.0, 0.0,
- 0.0, c.x, s.x, 0.0,
- 0.0, -s.x, c.x, 0.0,
- 0.0, 0.0, 0.0, 1.0 );
- mat4 ry = mat4( c.y, 0.0, -s.y, 0.0,
- 0.0, 1.0, 0.0, 0.0,
- s.y, 0.0, c.y, 0.0,
- 0.0, 0.0, 0.0, 1.0 );
- mat4 rz = mat4( c.z, s.z, 0.0, 0.0,
- -s.z, c.z, 0.0, 0.0,
- 0.0, 0.0, 1.0, 0.0,
- 0.0, 0.0, 0.0, 1.0 );
- mat4 sc = mat4(
- coeff, 0, 0, 0,
- 0, coeff, 0, 0,
- 0, 0, coeff, 0,
- 0, 0, 0, 1
- );
- mat4 tr = mat4(
- 1, 0, 0, 0,
- 0, 1, 0, 0,
- 0, 0, 1, 0,
- trCoeff.x, trCoeff.y, trCoeff.z, 1
- );
- fragColor = vColors;
- //projection * modelView *
- gl_Position = rz * ry * rx * vPosition;
- }
- </script>
- <script id="fragment-shader" type="x-shader/x-fragment">
- precision mediump float;
- varying vec4 fragColor;
- void main() {
- gl_FragColor = vec4(fragColor);
- }
- </script>
- <script type="text/javascript" src="webgl-utils.js"></script>
- <script type="text/javascript" src="initShaders.js"></script>
- <script type="text/javascript" src="MV.js"></script>
- <script type="text/javascript" src="shape0.js"></script>
- </head>
- <body>
- <canvas id="gl-canvas" width="512" height="512">
- Oops ... your browser doesn't support the HTML5 canvas element
- </canvas>
- </body>
- <p> </p>
- <button id="xButton">Rotate X</button>
- <button id="yButton">Rotate Y</button>
- <button id="zButton">Rotate Z</button>
- <button id="stopButton">Stop Fucking Rotation</button>
- <p> </p>
- <button id="sUpButton">Scale Up</button>
- <button id="sDownButton">Scale Down</button>
- <p> </p>
- <button id="leftButton">Left</button>
- <button id="rightButton">Right</button>
- <button id="upButton">Up</button>
- <button id="downButton">Down</button>
- <button id="closeButton">Closer</button>
- <button id="furtherButton">Further</button>
- <p> </p>
- <button id="Button1">Increase Z</button>
- <button id="Button2">Decrease Z</button>
- <button id="Button3">Increase R</button>
- <button id="Button4">Decrease R</button>
- <p> </p>
- <button id="Button5">Increase theta</button>
- <button id="Button6">Decrease theta</button>
- <button id="Button7">Increase phi</button>
- <button id="Button8">Decrease phi</button>
- <p> </p>
- <button id="Button9">Add cube</button>
- <p> </p>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement