Skip to content

Commit

Permalink
restructured files
Browse files Browse the repository at this point in the history
  • Loading branch information
Andor committed Jun 15, 2010
1 parent 6d435dc commit a8301fa
Show file tree
Hide file tree
Showing 9 changed files with 157 additions and 119 deletions.
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ XB PointStream
XB PointStream is a cross-browser JavaScript tool which emulates Arius3D's PointStream viewer.
It can render a large amount of point cloud data to the <canvas> tag using WebGL.

Website: http://zenit.senecac.on.ca/wiki/index.php/XB_PointStream
GitHub: http://github.com/asalga/XB-PointStream
Site: http://zenit.senecac.on.ca/wiki/index.php/XB_PointStream
Lighthouse: http://cdot.lighthouseapp.com/projects/52886-xb-pointstream/
Twitter: XBPointStream
112 changes: 0 additions & 112 deletions XB PointStream/index.html

This file was deleted.

26 changes: 26 additions & 0 deletions demos/acorn.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<html>

<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="../processing.js"></script>
<script>
var filename = "acorn1.asc";
var lightOn = true;
var drawOctree = true;
</script>
</head>

<body onload="document.getElementById('filename').innerHTML = filename;">
<canvas datasrc="../xb.js" id="cvs"></canvas>

<span id="Filename_log">Downloading <span class="filename" id="filename"></span>: ..</span><span class="progress" id="load_percent">0%</span><br />
<span id="Parse_log"></span><span class="progress" id="parse_percent"></span><br />
<span id="NumPoints_log"></span><span class="progress" id="num_points"></span><br />
<span id="Octree_log"></span><span class="progress" id="octree_percent"></span><br />
<span id="VBO_log"></span><span class="progress" id="vbo_progress"></span><br />
<br />
<span id="fps"></span><br />
<span id="controls"></span>
</body>

</html>
File renamed without changes.
File renamed without changes.
26 changes: 26 additions & 0 deletions demos/mickey.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<html>

<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script src="../processing.js"></script>
<script>
var filename = "mickey.asc";
var lightOn = true;
var drawOctree = true;
</script>
</head>

<body onload="document.getElementById('filename').innerHTML = filename;">
<canvas datasrc="../xb.js" id="cvs"></canvas>

<span id="Filename_log">Downloading <span class="filename" id="filename"></span>: ..</span><span class="progress" id="load_percent">0%</span><br />
<span id="Parse_log"></span><span class="progress" id="parse_percent"></span><br />
<span id="NumPoints_log"></span><span class="progress" id="num_points"></span><br />
<span id="Octree_log"></span><span class="progress" id="octree_percent"></span><br />
<span id="VBO_log"></span><span class="progress" id="vbo_progress"></span><br />
<br />
<span id="fps"></span><br />
<span id="controls"></span>
</body>

</html>
18 changes: 18 additions & 0 deletions demos/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
span{
vertical-align: top;
font-family: monospace;
}

.progress{
color:purple;
}

.filename{
color: green;
}

canvas{
float: left;
width: 500;
height: 500;
}
6 changes: 3 additions & 3 deletions XB PointStream/processing.js → processing.js
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@
cameraX = curElement.width / 2,
cameraY = curElement.height / 2,
cameraZ = cameraY / Math.tan(cameraFOV / 2),
cameraNear = cameraZ / 10,
cameraNear = cameraZ / 1000,
cameraFar = cameraZ * 10,
cameraAspect = curElement.width / curElement.height;

Expand Down Expand Up @@ -564,7 +564,7 @@
" gl_FrontColor = vec4(finalDiffuse[0] * col[0], finalDiffuse[1] * col[1], finalDiffuse[2] * col[2], 1.0);" +
" }" +

" gl_PointSize = 4.0;" +
" gl_PointSize = 3.0;" +
" gl_Position = projection * view * model * vec4( aVertex, 1.0 );" +
"}";

Expand Down Expand Up @@ -4427,7 +4427,7 @@
//in case canvas is resized
cameraY = curElement.height / 2;
cameraZ = cameraY / Math.tan(cameraFOV / 2);
cameraNear = cameraZ / 10;
cameraNear = cameraZ / 100;
cameraFar = cameraZ * 10;
cameraAspect = curElement.width / curElement.height;
p.perspective(cameraFOV, cameraAspect, cameraNear, cameraFar);
Expand Down
86 changes: 83 additions & 3 deletions XB PointStream/xb.js → xb.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
var AJAX = new XMLHttpRequest();

//
var verts = [];
var cols = [];
var norms = [];

//
var MaxX = -10000;
var MaxY = -10000;
var MaxZ = -10000;

var stillDownloading = true;
var s = 3;

var ready = false;
float fps;
var isSetup = false;
Expand Down Expand Up @@ -236,8 +251,74 @@ class Octree{
}
}




function parse(){
var values = AJAX.responseText.split(/\s+/);

// xyz rgb normals
for(var i = 0, len = values.length; i < len; i += 9){

var currX = parseFloat(values[i+0]) * s;
var currY = parseFloat(values[i+1]) * s;
var currZ = parseFloat(values[i+2]) * s;

verts.push(currX);
verts.push(currY);
verts.push(currZ);

if(currX > MaxX){MaxX = currX;}
if(currY > MaxY){MaxY = currY;}
if(currZ > MaxZ){MaxZ = currZ;}

cols.push(parseInt(values[i+3])/255);
cols.push(parseInt(values[i+4])/255);
cols.push(parseInt(values[i+5])/255);

norms.push(parseFloat(values[i+6]));
norms.push(parseFloat(values[i+7]));
norms.push(parseFloat(values[i+8]));

//sss += "<br />" + parseFloat(currX+10) + " " + parseFloat(currY+10) + " " + parseFloat(currZ+10) + " " +
//values[i+3] + " " + values[i+4] + " " + values[i+5] + " " +
// values[i+6] + " " + values[i+7] + " " + values[i+8];
}

document.getElementById('parse_percent').innerHTML = "done";
document.getElementById('NumPoints_log').innerHTML = "Number of points: ........";
document.getElementById('num_points').innerHTML = values.length/9;
document.getElementById('Octree_log').innerHTML ="Inserting into octree: ...";

stillDownloading = false;
}


function changed(){

if(AJAX.readyState === 4){

document.getElementById('load_percent').innerHTML = "done";
document.getElementById('Parse_log').innerHTML = "Parsing <span class='filename'>" + filename + "</span>: ......";

setTimeout(parse, 50);
}
else{
if(filename =="mickey.asc"){
document.getElementById('load_percent').innerHTML = "" + Math.ceil(100 * AJAX.responseText.length/10636534) + "%";
}
else{
document.getElementById('load_percent').innerHTML = "" + Math.ceil(100 * AJAX.responseText.length/3997253) + "%";
}
}
}


void setup() {
AJAX.onreadystatechange = changed;
AJAX.open("GET", filename, true);
AJAX.send(null);

void setup() {
size(500, 500, OPENGL);

stroke(255);
Expand Down Expand Up @@ -270,7 +351,7 @@ if(stillDownloading === false){
}

document.getElementById('octree_percent').innerHTML = "done";
document.getElementById('vbo_title').innerHTML = "Creating VBOs: ...........";
document.getElementById('VBO_log').innerHTML = "Creating VBOs: ...........";

octree.createBuffersR();
document.getElementById('vbo_progress').innerHTML = "done";
Expand Down Expand Up @@ -312,7 +393,6 @@ if(ready){
lastX = mouseX;
}


if(lightOn){
// (point light) not a directional light, check shader
directionalLight(255, 255, 255, 400, 0, -500);
Expand Down

0 comments on commit a8301fa

Please sign in to comment.