add more debug comments around image loading
[lantea.git] / js / map.js
index ccfa87d419f74d138bd2d67923d72fbad74ce8f7..b734113d1cec49c88f95ed76bf2bb60ac36a20a3 100644 (file)
--- a/js/map.js
+++ b/js/map.js
@@ -121,15 +121,19 @@ function loadPrefs(aEvent) {
 
       document.getElementById("body").addEventListener("keydown", mapEvHandler, false);
 
 
       document.getElementById("body").addEventListener("keydown", mapEvHandler, false);
 
+      console.log("Events added.");
       document.getElementById("copyright").innerHTML =
           gMapStyles[gMap.activeMap].copyright;
 
       document.getElementById("copyright").innerHTML =
           gMapStyles[gMap.activeMap].copyright;
 
+      console.log("Init loading tile...");
       gLoadingTile = new Image();
       gLoadingTile = new Image();
-      gLoadingTile.src = "style/loading.png";
       gLoadingTile.onload = function() {
       gLoadingTile.onload = function() {
+        console.log("Loading tile loaded.");
         var throwEv = new CustomEvent("prefload-done");
         gAction.dispatchEvent(throwEv);
       };
         var throwEv = new CustomEvent("prefload-done");
         gAction.dispatchEvent(throwEv);
       };
+      console.log("Set loading tile...");
+      gLoadingTile.src = "style/loading.png";
     }
   }
   else {
     }
   }
   else {
@@ -235,7 +239,7 @@ var gMap = {
     '  gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n' +
     '  vTextureCoord = aTextureCoord;\n' +
     '}'; },
     '  gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n' +
     '  vTextureCoord = aTextureCoord;\n' +
     '}'; },
-  getFragShaderSource:function() {
+  getFragShaderSource: function() {
     return 'varying highp vec2 vTextureCoord;\n\n' +
     'uniform sampler2D uImage;\n\n' +
     'void main(void) {\n' +
     return 'varying highp vec2 vTextureCoord;\n\n' +
     'uniform sampler2D uImage;\n\n' +
     'void main(void) {\n' +
@@ -244,12 +248,14 @@ var gMap = {
 
   initGL: function() {
     // When called from the event listener, the "this" reference doesn't work, so use the object name.
 
   initGL: function() {
     // When called from the event listener, the "this" reference doesn't work, so use the object name.
+    console.log("Initializing WebGL...");
     if (gMap.gl) {
       gMap.gl.viewport(0, 0, gMap.gl.drawingBufferWidth, gMap.gl.drawingBufferHeight);
       gMap.gl.clearColor(0.0, 0.0, 0.0, 0.5);                          // Set clear color to black, fully opaque.
       gMap.gl.clear(gMap.gl.COLOR_BUFFER_BIT|gMap.gl.DEPTH_BUFFER_BIT);  // Clear the color.
 
       // Create and initialize the shaders.
     if (gMap.gl) {
       gMap.gl.viewport(0, 0, gMap.gl.drawingBufferWidth, gMap.gl.drawingBufferHeight);
       gMap.gl.clearColor(0.0, 0.0, 0.0, 0.5);                          // Set clear color to black, fully opaque.
       gMap.gl.clear(gMap.gl.COLOR_BUFFER_BIT|gMap.gl.DEPTH_BUFFER_BIT);  // Clear the color.
 
       // Create and initialize the shaders.
+      console.log("Create and compile shaders...");
       var vertShader = gMap.gl.createShader(gMap.gl.VERTEX_SHADER);
       var fragShader = gMap.gl.createShader(gMap.gl.FRAGMENT_SHADER);
       gMap.gl.shaderSource(vertShader, gMap.getVertShaderSource());
       var vertShader = gMap.gl.createShader(gMap.gl.VERTEX_SHADER);
       var fragShader = gMap.gl.createShader(gMap.gl.FRAGMENT_SHADER);
       gMap.gl.shaderSource(vertShader, gMap.getVertShaderSource());
@@ -269,6 +275,7 @@ var gMap = {
         return null;
       }
 
         return null;
       }
 
+      console.log("Create and link shader program...");
       gMap.glShaderProgram = gMap.gl.createProgram();
       gMap.gl.attachShader(gMap.glShaderProgram, vertShader);
       gMap.gl.attachShader(gMap.glShaderProgram, fragShader);
       gMap.glShaderProgram = gMap.gl.createProgram();
       gMap.gl.attachShader(gMap.glShaderProgram, vertShader);
       gMap.gl.attachShader(gMap.glShaderProgram, fragShader);
@@ -283,6 +290,7 @@ var gMap = {
       gMap.glTextureCoordAttr = gMap.gl.getAttribLocation(gMap.glShaderProgram, "aTextureCoord");
       gMap.glResolutionAttr = gMap.gl.getUniformLocation(gMap.glShaderProgram, "uResolution");
 
       gMap.glTextureCoordAttr = gMap.gl.getAttribLocation(gMap.glShaderProgram, "aTextureCoord");
       gMap.glResolutionAttr = gMap.gl.getUniformLocation(gMap.glShaderProgram, "uResolution");
 
+      console.log("Set up vertex buffer...");
       var tileVerticesBuffer = gMap.gl.createBuffer();
       gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, tileVerticesBuffer);
       // The vertices are the coordinates of the corner points of the square.
       var tileVerticesBuffer = gMap.gl.createBuffer();
       gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, tileVerticesBuffer);
       // The vertices are the coordinates of the corner points of the square.
@@ -303,6 +311,7 @@ var gMap = {
       gMap.gl.uniform2f(gMap.glResolutionAttr, gGLMapCanvas.width, gGLMapCanvas.height);
 
       // Create a buffer for the position of the rectangle corners.
       gMap.gl.uniform2f(gMap.glResolutionAttr, gGLMapCanvas.width, gGLMapCanvas.height);
 
       // Create a buffer for the position of the rectangle corners.
+      console.log("Set up coord buffer...");
       var mapVerticesTextureCoordBuffer = gMap.gl.createBuffer();
       gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, mapVerticesTextureCoordBuffer);
       gMap.gl.enableVertexAttribArray(gMap.glVertexPositionAttr);
       var mapVerticesTextureCoordBuffer = gMap.gl.createBuffer();
       gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, mapVerticesTextureCoordBuffer);
       gMap.gl.enableVertexAttribArray(gMap.glVertexPositionAttr);
@@ -355,7 +364,7 @@ var gMap = {
               var imgObj = new Image();
               imgObj.onload = function() {
                 gMap.loadImageToTexture(imgObj, aTileKey);
               var imgObj = new Image();
               imgObj.onload = function() {
                 gMap.loadImageToTexture(imgObj, aTileKey);
-                requestAnimationFrame(function(aTimestamp) { gMap.drawGL() });
+                window.requestAnimationFrame(function(aTimestamp) { gMap.drawGL() });
                 URL.revokeObjectURL(imgURL);
               }
               imgObj.src = imgURL;
                 URL.revokeObjectURL(imgURL);
               }
               imgObj.src = imgURL;
@@ -364,7 +373,7 @@ var gMap = {
         }
       }
     }
         }
       }
     }
-    requestAnimationFrame(function(aTimestamp) { gMap.drawGL() });
+    window.requestAnimationFrame(function(aTimestamp) { gMap.drawGL() });
   },
 
   drawGL: function() {
   },
 
   drawGL: function() {