diff --git a/public/index.html b/public/index.html
index 569b771d61eaaf544104664ce7ccdaa5aa9a5347..3e9ce6c3a392d6aa7472b29718c5979d311e967f 100644
--- a/public/index.html
+++ b/public/index.html
@@ -39,6 +39,21 @@ const cube = new THREE.Mesh(new THREE.BoxBufferGeometry(0.2, 0.2, 0.2), material
 cube.position.set(1, 1, 1);
 scene.add(cube);
 
+// Set up the WebGLRenderer, which handles rendering to the session's base layer.
+const renderer = new THREE.WebGLRenderer({
+  alpha: true,
+  preserveDrawingBuffer: true,
+  canvas: canvas,
+  context: gl
+});
+renderer.autoClear = false;
+
+// The API directly updates the camera matrices.
+// Disable matrix auto updates so three.js doesn't attempt
+// to handle the matrices independently.
+const camera = new THREE.PerspectiveCamera();
+camera.matrixAutoUpdate = false;
+
 }
 </script>
 </body>