Index: /issm/trunk-jpl/src/m/plot/webgl.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19945)
+++ /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19946)
@@ -34,6 +34,6 @@
 	// Add context state variables
 	//TODO:Group variables in objects for organization and naming
-	canvas.zoomBounds = options.getfieldvalue('zoombounds',[0,-.52]);
-	canvas.zoomFactor = clamp(options.getfieldvalue('zoomfactor',canvas.zoomBounds[1]), canvas.zoomBounds[1], canvas.zoomBounds[0]);
+	canvas.zoomBounds = options.getfieldvalue('zoombounds',[0,100.0]);
+	canvas.zoomFactor = clamp(options.getfieldvalue('zoomfactor',1.0), canvas.zoomBounds[0], canvas.zoomBounds[1]);
 	canvas.zoomLast = canvas.zoomFactor;
 	canvas.cameraMatrix = mat4.create();
@@ -118,5 +118,4 @@
 		level:0,
 		useIndexBuffer:true,
-		useOrthographic:false,
 		alpha:1.0,
 		disableDepthTest:false, 
@@ -130,5 +129,4 @@
 		modelMatrix:mat4.create(),
 		shaderName:"colored",
-		overlay:false,
 		drawOrder:0,
 		maskEnabled:false,
@@ -328,6 +326,6 @@
 	}
 	if (ev.srcEvent.shiftKey || ev.pointers.length == 2) {
-		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth * canvas.zoomFactor * 2;
-		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight * canvas.zoomFactor * 2;
+		var deltaX = (canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2;
+		var deltaY = (canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2;
 		
 		canvas.translation[0] += Math.cos(radians(canvas.rotation[0])) * deltaX - Math.sin(radians(canvas.rotation[0])) * deltaY;
@@ -335,6 +333,6 @@
 	}
 	else {
-		canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth * canvas.zoomFactor * 2);
-		canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight * canvas.zoomFactor * 2);
+		canvas.rotation[0] += degrees((canvas.lastDeltaX - ev.deltaX) / canvas.clientWidth / canvas.zoomFactor * -2);
+		canvas.rotation[1] += degrees((canvas.lastDeltaY - ev.deltaY) / canvas.clientHeight / canvas.zoomFactor * -2);
 		
 		if (canvas.rotation[0] > 360) {canvas.rotation[0] -= 360};
@@ -357,5 +355,5 @@
 	}
 	else {
-		canvas.zoomFactor = clamp(ev.scale * canvas.zoomLast, canvas.zoomBounds[1], canvas.zoomBounds[0]);
+		canvas.zoomFactor = clamp(ev.scale * canvas.zoomLast, canvas.zoomBounds[0], canvas.zoomBounds[1]);
 		if (displaylog) console.log(canvas.zoomFactor);
 	}
@@ -364,5 +362,6 @@
 	ev.preventDefault();
 	var delta = 1/10 * clamp(ev.scale || ev.wheelDelta || -ev.detail, -1, 1);
-	canvas.zoomFactor = clamp(canvas.zoomFactor - delta * canvas.zoomFactor, canvas.zoomBounds[1], canvas.zoomBounds[0]);
+	canvas.zoomFactor = clamp(canvas.zoomFactor + delta / canvas.zoomFactor, canvas.zoomBounds[0], canvas.zoomBounds[1]);
+	
 	if (displaylog) console.log(canvas.zoomFactor);
 } //}}}
@@ -379,5 +378,5 @@
 
 	if (canvas.twod) {
-		mat4.ortho(pMatrix, 1*canvas.zoomFactor, -1*canvas.zoomFactor, 1*canvas.zoomFactor, -1*canvas.zoomFactor, -1, 1.0);
+		mat4.ortho(pMatrix, -1/canvas.zoomFactor, 1/canvas.zoomFactor, -1/canvas.zoomFactor, 1/canvas.zoomFactor, -1.0, 10000.0);
 	}
 	else {
@@ -399,5 +398,5 @@
 	//Apply screenspace translation
 	mat4.identity(translateMatrix);
-	mat4.translate(translateMatrix, translateMatrix, [0.0, 0.0, canvas.zoomFactor]);
+	mat4.translate(translateMatrix, translateMatrix, [0.0, 0.0, -1/canvas.zoomFactor]);
 	mat4.multiply(vMatrix, translateMatrix, vMatrix);
 
@@ -417,10 +416,5 @@
 	bindAttributes(gl, node["shader"], node["buffers"]);
 	var mvpMatrix = mat4.create();
-	if (node["useOrthographic"] == true) {
-		mat4.ortho(mvpMatrix, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
-	}
-	else {
-		mat4.multiply(mvpMatrix, canvas.cameraMatrix, node["modelMatrix"]);
-	}
+	mat4.multiply(mvpMatrix, canvas.cameraMatrix, node["modelMatrix"]);
 	gl.uniformMatrix4fv(node["shader"]["uMVPMatrix"], false, mvpMatrix);
 	gl.uniform1f(node["shader"]["uAlpha"], node["alpha"]);
@@ -433,10 +427,4 @@
 		gl.uniform1i(node["shader"]["uColorSampler"], 0);	
 	}
-	//if (node["overlay"] == true) {
-	//	gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
-	//}
-	//else {
-	//	gl.blendFunc (gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
-	//}
 	gl.blendFunc (gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
 	if  (node["useIndexBuffer"] == true) {
