Skip to content

Commit 3f5178a

Browse files
committed
indexedDB works also for textures
1 parent f4f31b0 commit 3f5178a

1 file changed

Lines changed: 14 additions & 9 deletions

File tree

html/js/nexus.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ Mesh.prototype = {
319319
let request = indexedDB.open(url);
320320
request.onsuccess = () => { this.db = request.result; };
321321
request.onupgradeneeded = (event) => {
322-
let db = event.target.result;
322+
let db = event.target.result;
323323
this.meshStore = db.createObjectStore('mesh');
324324
this.texStore = db.createObjectStore('tex');
325325
};
@@ -1093,6 +1093,11 @@ function httpRequestNodeGeometry(context, node) {
10931093
let request = {
10941094
load:function() {
10951095
delete m.georeq[n];
1096+
if(m.db) {
1097+
let transaction = m.db.transaction('mesh', "readwrite");
1098+
transaction.objectStore('mesh').put(this.response, n);
1099+
transaction.commit();
1100+
}
10961101
loadNodeGeometry(this, context, node); },
10971102
error:function() {
10981103
delete m.georeq[n];
@@ -1137,7 +1142,7 @@ function requestNodeTexture(context, node) {
11371142
let request = transaction.objectStore('tex').get(node.id);
11381143
request.onsuccess = (e) => {
11391144
if(request.result) {
1140-
loadNodeTecture({ response: request.result}, context, node);
1145+
loadNodeTexture({ response: request.result}, context, node, tex);
11411146
} else {
11421147
httpRequestNodeTexture(context, node, tex);
11431148
}
@@ -1155,7 +1160,13 @@ function httpRequestNodeTexture(context, node, tex) {
11551160
let request = {
11561161
load:function() {
11571162
delete m.texreq[n];
1158-
loadNodeTexture(this, context, node, tex); },
1163+
if(m.db) {
1164+
let transaction = m.db.transaction('tex', "readwrite");
1165+
transaction.objectStore('tex').put(this.response, tex);
1166+
transaction.commit();
1167+
}
1168+
loadNodeTexture(this, context, node, tex);
1169+
},
11591170
error:function() {
11601171
if(Debug.verbose) console.log("Texture request error!");
11611172
delete m.texreq[n];
@@ -1215,12 +1226,6 @@ function loadNodeGeometry(request, context, node) {
12151226

12161227
node.buffer = request.response;
12171228

1218-
if(m.db) {
1219-
let transaction = m.db.transaction('mesh', "readwrite");
1220-
transaction.objectStore('mesh').put(node.buffer, n);
1221-
transaction.commit();
1222-
}
1223-
12241229
if(!m.compressed)
12251230
readyNode(node);
12261231
else if(m.meco) {

0 commit comments

Comments
 (0)