Mercurial > hg > Members > e085711
comparison webGL/dandy/resources/parse.js~ @ 26:933062d8e917
update library J3DI.js J3DMath.js
author | NOBUYASU Oshiro |
---|---|
date | Tue, 09 Nov 2010 00:03:42 +0900 |
parents | 1f234cbb53f1 |
children |
comparison
equal
deleted
inserted
replaced
25:e8c591a01a8e | 26:933062d8e917 |
---|---|
187 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject); | 187 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.normalObject); |
188 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); | 188 ctx.vertexAttribPointer(0, 3, ctx.FLOAT, false, 0, 0); |
189 | 189 |
190 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject); | 190 ctx.bindBuffer(ctx.ARRAY_BUFFER, glObj.texCoordObject); |
191 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); | 191 ctx.vertexAttribPointer(1, 2, ctx.FLOAT, false, 0, 0); |
192 | 192 |
193 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); | 193 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); |
194 | |
194 | 195 |
195 // generate the model-view matrix | 196 // generate the model-view matrix |
196 var mvMatrix = new J3DIMatrix4(); | 197 var mvMatrix = new J3DIMatrix4(); |
197 mvMatrix.translate( x, y, 1); | |
198 mvMatrix.scale(scale, scale, scale); | 198 mvMatrix.scale(scale, scale, scale); |
199 mvMatrix.translate( x, y, 10); | |
199 | 200 |
200 // construct the normal matrix from the model-view matrix | 201 // construct the normal matrix from the model-view matrix |
201 var normalMatrix = new J3DIMatrix4(mvMatrix); | 202 var normalMatrix = new J3DIMatrix4(mvMatrix); |
202 normalMatrix.invert(); | 203 normalMatrix.invert(); |
203 normalMatrix.transpose(); | 204 normalMatrix.transpose(); |
204 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); | 205 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); |
205 | 206 |
206 // construct the model-view * projection matrix | 207 // construct the model-view * projection matrix |
207 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix); | 208 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix); |
208 mvpMatrix.multiply(mvMatrix); | 209 mvpMatrix.multiply(mvMatrix); |
209 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); | 210 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); |
210 | 211 |
211 | 212 |
212 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); | 213 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); |
213 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); | 214 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); |
214 | 215 |
215 | 216 |
216 } | 217 } |
217 | 218 |
218 function PutSpriteLock(ctx, x, y, scale, angle, glObj) | 219 function PutSpriteA(ctx, x, y, scale, angle, glObj) |
219 { | 220 { |
220 | 221 |
221 // setup VBOs | 222 // setup VBOs |
222 ctx.enableVertexAttribArray(0); | 223 ctx.enableVertexAttribArray(0); |
223 ctx.enableVertexAttribArray(1); | 224 ctx.enableVertexAttribArray(1); |
234 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); | 235 ctx.bindBuffer(ctx.ELEMENT_ARRAY_BUFFER, glObj.indexObject); |
235 | 236 |
236 // generate the model-view matrix | 237 // generate the model-view matrix |
237 var mvMatrix = new J3DIMatrix4(); | 238 var mvMatrix = new J3DIMatrix4(); |
238 mvMatrix.scale(scale, scale, scale); | 239 mvMatrix.scale(scale, scale, scale); |
240 mvMatrix.translate( x, y, 10); | |
239 mvMatrix.rotate(angle, 0, 0, 1); | 241 mvMatrix.rotate(angle, 0, 0, 1); |
240 mvMatrix.translate( x, y, 10); | |
241 | 242 |
242 // construct the normal matrix from the model-view matrix | 243 // construct the normal matrix from the model-view matrix |
243 var normalMatrix = new J3DIMatrix4(mvMatrix); | 244 var normalMatrix = new J3DIMatrix4(mvMatrix); |
244 normalMatrix.invert(); | 245 normalMatrix.invert(); |
245 normalMatrix.transpose(); | 246 normalMatrix.transpose(); |
246 // ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false, normalMatrix.getAsFloat32Array()); | |
247 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); | 247 normalMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_normalMatrix"), false); |
248 | 248 |
249 // construct the model-view * projection matrix | 249 // construct the model-view * projection matrix |
250 var mvpMatrix = new J3DIMatrix4(mvMatrix); | 250 var mvpMatrix = new J3DIMatrix4(ctx.perspectiveMatrix); |
251 mvpMatrix.multiply(ctx.perspectiveMatrix); | 251 mvpMatrix.multiply(mvMatrix); |
252 // ctx.uniformMatrix4fv(ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false, mvpMatrix.getAsFloat32Array()); | |
253 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); | 252 mvpMatrix.setUniform(ctx, ctx.getUniformLocation(ctx.program, "u_modelViewProjMatrix"), false); |
254 | 253 |
255 | 254 |
256 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); | 255 ctx.bindTexture(ctx.TEXTURE_2D, glObj.texture); |
257 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); | 256 ctx.drawElements(ctx.TRIANGLES, glObj.numIndices, ctx.UNSIGNED_SHORT, 0); |