1
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
1 <html>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
2 <head>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
3 <title>Earth and Mars</title>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
4 <script src="jkl-parsexml.js"></script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
5 <script src="exml.js"></script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
6 <script src="resources/J3DI.js"> </script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
7 <script src="resources/J3DIMath.js" type="text/javascript"> </script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
8
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
9 <script id="vshader" type="x-shader/x-vertex">
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
10 uniform mat4 u_modelViewProjMatrix;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
11 uniform mat4 u_normalMatrix;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
12 uniform vec3 lightDir;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
13
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
14 attribute vec3 vNormal;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
15 attribute vec4 vTexCoord;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
16 attribute vec4 vPosition;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
17
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
18 varying float v_Dot;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
19 varying vec2 v_texCoord;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
20
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
21 void main()
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
22 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
23 gl_Position = u_modelViewProjMatrix * vPosition;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
24 v_texCoord = vTexCoord.st;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
25 vec4 transNormal = u_normalMatrix * vec4(vNormal,1);
|
5
|
26 v_Dot = max(dot(transNormal.xyz, lightDir), 0.0);
|
1
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
27 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
28 </script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
29
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
30 <script id="fshader" type="x-shader/x-fragment">
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
31 #ifdef GL_ES
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
32 precision mediump float;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
33 #endif
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
34
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
35 uniform sampler2D sampler2d;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
36
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
37 varying float v_Dot;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
38 varying vec2 v_texCoord;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
39
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
40 void main()
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
41 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
42 vec4 color = texture2D(sampler2d,v_texCoord);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
43 color += vec4(0.1,0.1,0.1,1);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
44 gl_FragColor = vec4(color.xyz * v_Dot, color.a);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
45 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
46 </script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
47
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
48 <script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
49 function init()
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
50 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
51 var gl = initWebGL("example", "vshader", "fshader",
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
52 [ "vNormal", "vTexCoord", "vPosition"],
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
53 [ 0, 0, 0, 1 ], 10000);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
54
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
55 gl.uniform3f(gl.getUniformLocation(gl.program, "lightDir"), 0, 0, 1);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
56 gl.uniform1i(gl.getUniformLocation(gl.program, "sampler2d"), 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
57
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
58 gl.enable(gl.TEXTURE_2D);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
59
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
60 // xml_fileからtextureを読み込んでいる。
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
61 loadObjXml(gl, "./earth.xml");
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
62 loadObjXml(gl, "./moon.xml");
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
63
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
64 return gl;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
65 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
66
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
67 width = -1;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
68 height = -1;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
69
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
70 function reshape(ctx)
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
71 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
72 var canvas = document.getElementById('example');
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
73 if (canvas.width == width && canvas.width == height)
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
74 return;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
75
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
76 width = canvas.width;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
77 height = canvas.height;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
78
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
79 ctx.viewport(0, 0, width, height);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
80
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
81 ctx.perspectiveMatrix = new J3DIMatrix4();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
82 ctx.perspectiveMatrix.perspective(30, width/height, 1, 10000);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
83 ctx.perspectiveMatrix.lookat(0,0,500, 0, 0, 0, 0, 1, 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
84 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
85
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
86 function drawOne(ctx, glObj, star)
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
87 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
88 // setup VBOs
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
89 ctx.enableVertexAttribArray(0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
90 ctx.enableVertexAttribArray(1);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
91 ctx.enableVertexAttribArray(2);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
92
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
93 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.vertexObject);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
94 ctx.vertexAttribPointer(2, 3, ctx.FLOAT, false, 0, 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
95
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
96 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
97 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
98
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
99 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
100 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
101
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
102 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
103
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
104
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
105 var mvMatrix = new J3DIMatrix4();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
106 var $siman2 = new J3DIMatrix4();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
107
|
11
|
108
|
1
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
109 mvMatrix = star.mat;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
110 mvMatrix.rotate(star.angle, 0,1,0); // 親の変換行列を取得
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
111 mvMatrix.translate(star.x,star.y,star.z);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
112 mvMatrix.getAsArrayMatrix($siman2.$matrix); // 自身の変換行列を取得
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
113 for(num in star.cn){
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
114 star.cn.mat = $siman2; // 自分の子どもに変換行列を渡す。
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
115 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
116
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
117 mvMatrix.scale(star.scale, star.scale, star.scale);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
118
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
119 var normalMatrix = new J3DIMatrix4(mvMatrix);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
120 normalMatrix.invert();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
121 normalMatrix.transpose();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
122 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
123
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
124 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
125 mvpMatrix.multiply(mvMatrix);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
126 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
127
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
128 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
129 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
130 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
131
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
132
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
133 function drawPicture(ctx)
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
134 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
135 reshape(ctx);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
136 ctx.clear(ctx.COLOR_BUFFER_BIT | ctx.DEPTH_BUFFER_BIT);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
137
|
2
|
138 var Moon2 = new star( ctx.obj.Moon, null, currentAngle, 20, 0, 0, 0.3);
|
|
139 var Moon = new star( ctx.obj.Moon, Moon2, currentAngle , 200, 0, 0, 0.6);
|
1
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
140 var Earth = new star( ctx.obj.Earth, Moon, currentAngle, 0, 0, 0, 1.0);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
141
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
142
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
143 render(ctx,Earth);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
144
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
145 ctx.flush();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
146
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
147 framerate.snapshot();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
148
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
149 currentAngle += incAngle;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
150 if (currentAngle > 360)
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
151 currentAngle -= 360;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
152 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
153
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
154 function start()
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
155 {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
156 var c = document.getElementById("example");
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
157 var w = Math.floor(window.innerWidth * 0.9);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
158 var h = Math.floor(window.innerHeight * 0.9);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
159
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
160 c.width = w;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
161 c.height = h;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
162
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
163 var ctx = init();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
164 currentAngle = 0;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
165 incAngle = 0.4;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
166 var f = function() { drawPicture(ctx) };
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
167 setInterval(f, 10);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
168 framerate = new Framerate("framerate");
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
169 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
170
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
171 function render(ctx,star){
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
172 var p = new Object();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
173 for(p=star; p; p = p.cn ){
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
174 drawOne(ctx, p.texture, p);
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
175 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
176 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
177
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
178 // 惑星の情報を格納している。
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
179 function star(texture,cn,angle,x,y,z,scale){
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
180 this.x = x;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
181 this.y = y;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
182 this.z = z;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
183 this.mat = new J3DIMatrix4();
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
184 this.angle = angle;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
185 this.scale = scale;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
186 this.texture = texture;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
187 this.cn = cn; // 子どもの名前
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
188 return this;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
189 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
190 </script>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
191 <style type="text/css">
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
192 canvas {
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
193 border: 2px solid black;
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
194 }
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
195 </style>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
196 </head>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
197 <body onload="start()">
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
198 <canvas id="example">
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
199 There is supposed to be an example drawing here, but it's not important.
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
200 </canvas>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
201 <div id="framerate"></div>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
202 <div id="console"></div>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
203 </body>
|
e085737@tamayose-syuuichi-no-macbook.local
parents:
diff
changeset
|
204 </html>
|