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);