Stream int instead of strings (I hope)
This commit is contained in:
parent
c6f75a6b0b
commit
0272477503
|
@ -32,46 +32,38 @@ var ProgressiveLoader = function(res, scene) {
|
||||||
// We'll receive an array of string (obj)
|
// We'll receive an array of string (obj)
|
||||||
for (var i = 0; i < arr.length; i++) {
|
for (var i = 0; i < arr.length; i++) {
|
||||||
|
|
||||||
var line = arr[i];
|
var elts = arr[i];
|
||||||
|
|
||||||
// console.log(line);
|
// console.log(line);
|
||||||
|
|
||||||
if (line[0] === 'v') {
|
if (elts[0] === 'v') {
|
||||||
|
|
||||||
var elts = line.split(' ');
|
|
||||||
|
|
||||||
mesh.geometry.vertices.push(new THREE.Vector3(
|
mesh.geometry.vertices.push(new THREE.Vector3(
|
||||||
parseFloat(elts[1]),
|
elts[1],
|
||||||
parseFloat(elts[2]),
|
elts[2],
|
||||||
parseFloat(elts[3])
|
elts[3]
|
||||||
));
|
));
|
||||||
|
|
||||||
mesh.geometry.verticesNeedUpdate = true;
|
mesh.geometry.verticesNeedUpdate = true;
|
||||||
|
|
||||||
} else if (line[0] === 'f') {
|
} else if (elts[0] === 'f') {
|
||||||
|
|
||||||
var elts = line.split(' ');
|
|
||||||
|
|
||||||
elts[1] = parseInt(elts[1]) - 1;
|
|
||||||
elts[2] = parseInt(elts[2]) - 1;
|
|
||||||
elts[3] = parseInt(elts[3]) - 1;
|
|
||||||
|
|
||||||
if (elts[4])
|
if (elts[4])
|
||||||
elts[4] = parseInt(elts[4]) - 1;
|
elts[4] = parseInt(elts[4]);
|
||||||
|
|
||||||
mesh.geometry.faces.push(new THREE.Face3(
|
mesh.geometry.faces.push(new THREE.Face3(
|
||||||
parseInt(elts[1]),
|
elts[1],
|
||||||
parseInt(elts[2]),
|
elts[2],
|
||||||
parseInt(elts[3])
|
elts[3]
|
||||||
));
|
));
|
||||||
|
|
||||||
// If the face has 4 vertices, create second triangle
|
// If the face has 4 vertices, create second triangle
|
||||||
if (elts[4]) {
|
if (elts[4]) {
|
||||||
|
|
||||||
mesh.geometry.faces.push(new THREE.Face3(
|
mesh.geometry.faces.push(new THREE.Face3(
|
||||||
parseInt(elts[1]),
|
elts[1],
|
||||||
parseInt(elts[3]),
|
elts[3],
|
||||||
parseInt(elts[4])
|
elts[4]
|
||||||
));
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
32
socket.js
32
socket.js
|
@ -1,6 +1,34 @@
|
||||||
var fs = require('fs');
|
var fs = require('fs');
|
||||||
var sleep = require('sleep');
|
var sleep = require('sleep');
|
||||||
|
|
||||||
|
function parseLine(line) {
|
||||||
|
var elts = line.split(' ');
|
||||||
|
if (elts[0] === 'v') {
|
||||||
|
|
||||||
|
return [
|
||||||
|
'v',
|
||||||
|
parseFloat(elts[1]),
|
||||||
|
parseFloat(elts[2]),
|
||||||
|
parseFloat(elts[3])
|
||||||
|
];
|
||||||
|
|
||||||
|
} else if (elts[0] === 'f') {
|
||||||
|
|
||||||
|
var tmp = [
|
||||||
|
'f',
|
||||||
|
parseInt(elts[1]) - 1,
|
||||||
|
parseInt(elts[2]) - 1,
|
||||||
|
parseInt(elts[3]) - 1
|
||||||
|
];
|
||||||
|
|
||||||
|
if (elts[4]) {
|
||||||
|
tmp.push(parseInt(elts[4]) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function(io) {
|
module.exports = function(io) {
|
||||||
io.on('connection', function(socket) {
|
io.on('connection', function(socket) {
|
||||||
|
|
||||||
|
@ -33,12 +61,12 @@ module.exports = function(io) {
|
||||||
|
|
||||||
for (var i = 0; i < 50; i++) {
|
for (var i = 0; i < 50; i++) {
|
||||||
while (line && line[0] !== 'f') {
|
while (line && line[0] !== 'f') {
|
||||||
toSend.push(line);
|
toSend.push(parseLine(line));
|
||||||
line = lines[++index];
|
line = lines[++index];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line && line[0] === 'f') {
|
if (line && line[0] === 'f') {
|
||||||
toSend.push(line);
|
toSend.push(parseLine(line));
|
||||||
line = lines[++index];
|
line = lines[++index];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue