提交 22e51263 编写于 作者: A alteredq

Added VTK and STL models to scene loader example. Added optional callback...

Added VTK and STL models to scene loader example. Added optional callback parameter to VTKLoader and STLLoader load to be compatible with other loaders.

Work in progress. Not really sure how to best deal with different loaders using different APIs. We should unify them somehow. Still need to handle ColladaLoader, UTF8Loader and OBJMTLLoader, every one of them is different from the others.
上级 9ad52bdd
......@@ -28,7 +28,7 @@ THREE.STLLoader.prototype = {
constructor: THREE.STLLoader,
load: function ( url ) {
load: function ( url, callback ) {
var scope = this;
var request = new XMLHttpRequest();
......@@ -51,6 +51,16 @@ THREE.STLLoader.prototype = {
}, false );
if ( callback ) {
scope.addEventListener( 'load', function ( event ) {
callback( event.content );
} );
}
request.open( 'GET', url, true );
request.send( null );
......
......@@ -12,7 +12,7 @@ THREE.VTKLoader.prototype = {
constructor: THREE.VTKLoader,
load: function ( url ) {
load: function ( url, callback ) {
var scope = this;
var request = new XMLHttpRequest();
......@@ -35,6 +35,16 @@ THREE.VTKLoader.prototype = {
}, false );
if ( callback ) {
scope.addEventListener( 'load', function ( event ) {
callback( event.content );
} );
}
request.open( 'GET', url, true );
request.send( null );
......
......@@ -224,6 +224,24 @@
"visible" : true
},
"bunny" : {
"geometry": "bunny",
"materials": [ "phong_bunny" ],
"position" : [ -25, -14, 0 ],
"rotation" : [ 0, 0, 0 ],
"scale" : [ 100, 100, 100 ],
"visible" : true
},
"disk" : {
"geometry": "disk",
"materials": [ "phong_disk" ],
"position" : [ 7, -10, 30 ],
"rotation" : [ 1.57, 0, 0 ],
"scale" : [ 10, 10, 10 ],
"visible" : true
},
"quad_bg" : {
"geometry" : "quad",
"materials": [ "textured_bg" ],
......@@ -430,6 +448,16 @@
"useBuffers" : true
},
"bunny": {
"type": "vtk",
"url" : "models/vtk/bunny.vtk"
},
"disk": {
"type": "stl",
"url" : "models/stl/slotted_disk.stl"
},
"hand": {
"type": "utf8",
"url" : "models/utf8/hand.utf8",
......@@ -516,6 +544,16 @@
"parameters": { "color": 14531481, "ambient": 14531481, "specular": 2236962, "shininess": 40, "wrapAround": true, "wrapRGB": [ 0.15, 0.02, 0.01 ] }
},
"phong_bunny": {
"type": "MeshPhongMaterial",
"parameters": { "color": 16777215, "ambient": 16777215, "specular": 1118481, "shininess": 10 }
},
"phong_disk": {
"type": "MeshPhongMaterial",
"parameters": { "color": 16733491, "ambient": 16733491, "specular": 1118481, "shininess": 30, "wireframe": false }
},
"phong_normal": {
"type": "MeshPhongMaterial",
"parameters": { "color": 0, "specular": 16777215, "shininess": 25, "envMap": "cube_reflection", "reflectivity": 0.1, "lightMap": "texture_ao", "normalMap": "texture_normal", "normalScale": [ 1, -1 ], "displacementMap": "texture_displacement", "displacementScale": 2.436143, "displacementBias": -0.428408 }
......
......@@ -154,6 +154,8 @@
<script src="js/loaders/ctm/CTMLoader.js"></script>
<script src="js/loaders/OBJLoader.js"></script>
<script src="js/loaders/VTKLoader.js"></script>
<script src="js/loaders/STLLoader.js"></script>
<script src="js/Detector.js"></script>
<script src="js/libs/stats.min.js"></script>
......@@ -347,6 +349,9 @@
var loader = new THREE.SceneLoader();
loader.addGeometryHandler( "ctm", THREE.CTMLoader );
loader.addGeometryHandler( "vtk", THREE.VTKLoader );
loader.addGeometryHandler( "stl", THREE.STLLoader );
loader.addHierarchyHandler( "obj", THREE.OBJLoader );
loader.callbackSync = callbackSync;
......
......@@ -95,7 +95,7 @@
scene.add( mesh );
} );
loader.load ( "models/vtk/bunny.vtk" );
loader.load( "models/vtk/bunny.vtk" );
// renderer
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册