Skip to content

Commit 373490d

Browse files
committed
Add lesson 06: Reading a .STL file.
This loads 4 huge models with a combined 1 million vertices and animates it constantly with 60 fps.
1 parent 643d69d commit 373490d

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#SVN
2+
*.svn
3+
4+
#Python
5+
*.pyc
6+
7+
# project from Eclipse/Aptana IDE
8+
*.project
9+
*.pydevproject
10+
*.settings
11+
12+
#OSX specifics
13+
.DS_Store
14+
15+
# temp files
16+
.temp_*
17+
18+
# all doc files
19+
*/doc/*
20+
21+
# all build files
22+
*-build/*
23+
24+
# all .log files
25+
*.log
26+

06/index.html

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<html>
2+
<head>
3+
<title>XTK Lesson 06: Load a .STL-file</title>
4+
5+
<!-- closure library includes -->
6+
<script type="text/javascript"
7+
src="../../X/xtk/lib/closure-library/closure/goog/base.js"></script>
8+
9+
<!-- ------------ -->
10+
<!-- xtk includes -->
11+
<script type="text/javascript" src="../../X/xtk/xtk-deps.js"></script>
12+
<!-- ------------ -->
13+
14+
<!-- source code -->
15+
<script type="text/javascript">
16+
17+
goog.provide('run');
18+
19+
goog.require('X.box');
20+
goog.require('X.renderer3D');
21+
22+
var run = function() {
23+
24+
try {
25+
26+
var r = new X.renderer3D('r');
27+
r.setBackgroundColor('#000000');
28+
r.init();
29+
30+
//var box1 = new X.box(new goog.math.Vec3(10, 10, 10), 5, 10, 20);
31+
//box1.setTexture(new X.texture('../../X/xtk.png'));
32+
33+
var model = new X.object();
34+
model.load('../../X/xtk-data/P0004_model.stl');
35+
//model.transform().rotateX(90);
36+
37+
var model2 = new X.object();
38+
model2.load('../../X/xtk-data/P0004_neckplane.stl');
39+
40+
var model3 = new X.object();
41+
model3.load('../../X/xtk-data/tissue.stl');
42+
43+
var model4 = new X.object();
44+
model4.load('../../X/xtk-data/skull_bone.stl');
45+
model4.setOpacity(0.4);
46+
model4.transform().rotateY(270);
47+
48+
//r.add(box1);
49+
r.add(model);
50+
r.add(model2);
51+
r.add(model3);
52+
r.add(model4);
53+
54+
setInterval(function() {
55+
model.transform().rotateX(1);
56+
model.transform().rotateY(1);
57+
model3.transform().rotateZ(1);
58+
model4.transform().rotateZ(1);
59+
r.render();
60+
},15);
61+
62+
} catch (e) {
63+
64+
// catch any exception and print the error to the error log
65+
console.error(e);
66+
67+
}
68+
69+
};
70+
71+
72+
</script>
73+
74+
</head>
75+
76+
<body onload="run()">
77+
<div id='r' style='width:100%;height:100%;'></div>
78+
</body>
79+
</html>

0 commit comments

Comments
 (0)