Index: /issm/trunk-jpl/src/m/plot/plot_mesh.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 19869)
+++ /issm/trunk-jpl/src/m/plot/plot_mesh.js	(revision 19870)
@@ -21,11 +21,17 @@
 	//}}}
 
-	//Compute coordinates and data range: 
-	xmin = ArrayMin(x);
-	xmax = ArrayMax(x);
-	ymin = ArrayMin(y);
-	ymax = ArrayMax(y);
-	zmin = ArrayMin(z);
-	zmax = ArrayMax(z);
+	//Compute coordinates and data range:
+	var modelxlim = [ArrayMin(x),ArrayMax(x)];
+	var modelylim = [ArrayMin(y),ArrayMax(y)];
+	var modelzlim = [ArrayMin(z),ArrayMax(z)];
+	var xlim = options.getfieldvalue('xlim',modelxlim);
+	var ylim = options.getfieldvalue('ylim',modelylim);
+	var zlim = options.getfieldvalue('zlim',modelzlim);
+	xmin = xlim[0];
+	xmax = xlim[1];
+	ymin = ylim[0];
+	ymax = ylim[1];
+	zmin = zlim[0];
+	zmax = zlim[1];
 
 	//Compute scaling: 
Index: /issm/trunk-jpl/src/m/plot/plot_overlay.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 19869)
+++ /issm/trunk-jpl/src/m/plot/plot_overlay.js	(revision 19870)
@@ -27,10 +27,7 @@
 
 	//Compute coordinates and data range:
-	var modelxlim = [ArrayMin(x),ArrayMax(x)];
-	var modelylim = [ArrayMin(y),ArrayMax(y)];
-	var modelzlim = [ArrayMin(z),ArrayMax(z)];
-	var xlim = options.getfieldvalue('xlim',modelxlim);
-	var ylim = options.getfieldvalue('ylim',modelylim);
-	var zlim = options.getfieldvalue('zlim',modelzlim);
+	var xlim = options.getfieldvalue('xlim',[ArrayMin(x),ArrayMax(x)]);
+	var ylim = options.getfieldvalue('ylim',[ArrayMin(y),ArrayMax(y)]);
+	var zlim = options.getfieldvalue('zlim',[ArrayMin(z),ArrayMax(z)]);
 	xmin = xlim[0];
 	xmax = xlim[1];
@@ -45,5 +42,5 @@
 	node["scale"] = [scale, scale, scale];
 	node["rotation"] = options.getfieldvalue('view',[0,0,0]);
-	node["translation"] = [(modelxlim[0] + modelxlim[1]) / (-2 / scale), (modelylim[0] + modelylim[1]) / (-2 / scale), (modelzlim[0] + modelzlim[1]) / (-2 / scale)];
+	node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (-2 / scale)];
 	node["modelMatrix"] = recalculateModelMatrix(node);
 	node["texture"] = initTexture(gl,options.getfieldvalue('image','images/penguin.png'));
@@ -59,8 +56,8 @@
 
 	//redefine overlay as square plane
-	x = [xmin, xmax, xmin, xmax];
-	y = [ymin, ymin, ymax, ymax];
-	z = [zmin, zmin, zmin, zmin];
-	elements = [[1,2,3],[2,4,3]];
+	//x = [xmin, xmax, xmin, xmax];
+	//y = [ymin, ymin, ymax, ymax];
+	//z = [zmin, zmin, zmin, zmin];
+	//elements = [[1,2,3],[2,4,3]];
 	
 	//generate mesh:
Index: /issm/trunk-jpl/src/m/plot/plot_unit.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 19869)
+++ /issm/trunk-jpl/src/m/plot/plot_unit.js	(revision 19870)
@@ -32,12 +32,15 @@
 	//}}}
 
-	//Compute coordinates and data range: 
-	xmin = ArrayMin(x);
-	xmax = ArrayMax(x);
-	ymin = ArrayMin(y);
-	ymax = ArrayMax(y);
-	zmin = ArrayMin(z);
-	zmax = ArrayMax(z);
-	caxis= options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
+	//Compute coordinates and data range:
+	var xlim = options.getfieldvalue('xlim',[ArrayMin(x),ArrayMax(x)]);
+	var ylim = options.getfieldvalue('ylim',[ArrayMin(y),ArrayMax(y)]);
+	var zlim = options.getfieldvalue('zlim',[ArrayMin(z),ArrayMax(z)]);
+	xmin = xlim[0];
+	xmax = xlim[1];
+	ymin = ylim[0];
+	ymax = ylim[1];
+	zmin = zlim[0];
+	zmax = zlim[1];
+	var caxis= options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
 	datamin = caxis[0];
 	datamax = caxis[1];
Index: /issm/trunk-jpl/src/m/plot/webgl.js
===================================================================
--- /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19869)
+++ /issm/trunk-jpl/src/m/plot/webgl.js	(revision 19870)
@@ -92,10 +92,7 @@
 	gl.bindTexture(gl.TEXTURE_2D, texture);
 	gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
-	gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, texture.image);
-	gl.generateMipmap(gl.TEXTURE_2D);
-	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_LINEAR);
-	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-	gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
+	gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, texture.image);
+    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
+    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
 	gl.bindTexture(gl.TEXTURE_2D, null);
 } //}}}
