# HG changeset patch # User Nobuyasu Oshiro # Date 1334505774 -32400 # Node ID 85896f291a9517ac52e593e15955979aa09fba3e # Parent 86eb5933aeb9704fbdd77419d8830b520177e16d modify drawObj diff -r 86eb5933aeb9 -r 85896f291a95 drawObj/drawObj.html --- a/drawObj/drawObj.html Sun Apr 15 19:17:56 2012 +0900 +++ b/drawObj/drawObj.html Mon Apr 16 01:02:54 2012 +0900 @@ -68,17 +68,25 @@ gl.enable(gl.TEXTURE_2D); - parseXml(gl);//parse.js + modelMap = new XMLModelMap(gl); + modelMap.load("./xml/Cube.xml"); + object = modelMap["Cube"]; return gl; } - - function parseXml(gl) - { - loadObjXml(gl, "./xml/cube.xml"); + function XMLModelMap(gl) { + this.gl = gl; } + XMLModelMap.prototype.load = function(file) { + var data = parseObj(file); + if(!data) return; + for(var name in data) { + this[name] = makeXmlObj(gl,data[name]); + this[name].texture = loadImageTexture(this.gl, data[name].image); + } + } function reshape(ctx, ortho) { @@ -142,7 +150,6 @@ // c.height = H; var ctx = init(); - object = gl.obj["Cube"]; // default object. o = function() {opening(ctx, ortho);}; setTimeout(o, 10); @@ -153,9 +160,9 @@ function loadFile(objectname) { var filename = "./xml/"+objectname+".xml"; - loadObjXml(gl, filename); - console.log(filename); - object = gl.obj[objectname]; + modelMap.load(filename); +// console.log(filename); + object = modelMap[objectname]; } function objToString(obj,map,indent){ diff -r 86eb5933aeb9 -r 85896f291a95 drawObj/resources/makePanel.js --- a/drawObj/resources/makePanel.js Sun Apr 15 19:17:56 2012 +0900 +++ b/drawObj/resources/makePanel.js Mon Apr 16 01:02:54 2012 +0900 @@ -10,7 +10,7 @@ obj.normal = splitVector(data["surface"][i]["normal"]); obj.texCoords = splitVector(data["surface"][i]["texture"]); obj.model = splitVector(data["surface"][i]["model"]); - var xmlObjImage = data["surface"][i]["image"]; + var xmlObjImage = data["surface"][i]["image"]; obj.image = 'data:image/png;base64,'+xmlObjImage["#text"]; } } else { diff -r 86eb5933aeb9 -r 85896f291a95 drawObj/resources/parse.js --- a/drawObj/resources/parse.js Sun Apr 15 19:17:56 2012 +0900 +++ b/drawObj/resources/parse.js Mon Apr 16 01:02:54 2012 +0900 @@ -1,3 +1,6 @@ + + + function loadObjXml(gl,url) { @@ -36,8 +39,8 @@ // generate the model-view matrix var mvMatrix = new J3DIMatrix4(); + mvMatrix.translate( x, y, z); mvMatrix.scale(scale, scale, scale); - mvMatrix.translate( x, y, z); mvMatrix.rotate(angle, 0, 0, 1); // construct the normal matrix from the model-view matrix @@ -79,8 +82,8 @@ // generate the model-view matrix var mvMatrix = new J3DIMatrix4(); + mvMatrix.translate( x, y, z); mvMatrix.scale(scale, scale, scale); - mvMatrix.translate( x, y, z); mvMatrix.multiply(matrix); // construct the normal matrix from the model-view matrix