1 /*
  2   Copyright (c) 2008 Seneca College
  3   Licenced under the MIT License (http://www.c3dl.org/index.php/mit-license/)
  4 */
  5 
  6 /*
  7 	HTML pages which make use of c3dl must include the following script tag
  8     in the page header.
  9 	Note the path for the src attribute may need to be changed, depending
 10     on where c3dapi.js has been placed.
 11 
 12 	<script type="application/javascript" src="../canvas3dapi/c3dapi.js"></script>		
 13 */
 14 
 15 var scripts = document.getElementsByTagName("script");
 16 var parts = scripts[scripts.length -1].src.split("/");
 17 parts.pop();
 18 var basePath = parts.join("/");
 19 var head = document.getElementsByTagName("head")[0];
 20 
 21 /**
 22 	@private
 23 	
 24 	@param {String} path Path of the resource to include.
 25 	
 26 	Create a function to keep subsequent lines shorter.
 27 */
 28 c3dl_require = function(path) {
 29     document.write('<' + 'script');
 30     document.write(' language="javascript"');
 31     document.write(' type="text/javascript"');
 32     document.write(' src="' + basePath + "/"+ path + '">');
 33     document.write('</' + 'script' + '>');
 34 }
 35 
 36 // Some classes depend on others, so the order of the following lines should not be
 37 // changed carelessly.
 38 c3dl_require('c3dlnamespace.js');
 39 c3dl_require('constants.js');
 40 
 41 c3dl_require('effects/effect_docs.js');
 42 
 43 // make the debugger one of the first things included, so other 
 44 // js files can make use of c3dl.debug.log*
 45 c3dl_require('debug.js');
 46 
 47 // Renderers
 48 c3dl_require('renderer/renderer.js');
 49 c3dl_require('renderer/rendererwebgl.js');
 50 c3dl_require('renderer/programobject.js');
 51 
 52 // Math
 53 c3dl_require('math/mathutils.js');
 54 c3dl_require('math/vector.js');
 55 c3dl_require('math/matrix.js');
 56 c3dl_require('math/quaternion.js');
 57 c3dl_require('matrixstack.js');
 58 
 59 // cameras
 60 c3dl_require('camera/camera.js');
 61 c3dl_require('camera/freecamera.js');
 62 c3dl_require('camera/orbitcamera.js');
 63 
 64 // bounding volumes
 65 c3dl_require('enclosure/boundingsphere.js');
 66 c3dl_require('enclosure/visualboundingsphere.js');
 67 
 68 // actors
 69 c3dl_require('actors/actor.js');
 70 c3dl_require('actors/primitive.js');
 71 c3dl_require('actors/point.js');
 72 c3dl_require('actors/line.js');
 73 
 74 //
 75 c3dl_require('scene.js');
 76 c3dl_require('texture/texture.js');
 77 c3dl_require('texture/texturemanager.js');
 78 c3dl_require('texture/textureutils.js');
 79 
 80 // collada management
 81 c3dl_require('collada/colladamanager.js');
 82 //c3dl_require('collada/instancegeometry.js');
 83 c3dl_require('collada/colladaloader.js');
 84 c3dl_require('collada/colladaqueue.js');
 85 c3dl_require('collada/geometry.js');
 86 c3dl_require('collada/primitiveset.js');
 87 
 88 // lights
 89 c3dl_require('light/light.js');
 90 c3dl_require('light/positionallight.js');
 91 c3dl_require('light/directionallight.js');
 92 c3dl_require('light/spotlight.js');
 93 
 94 // material
 95 c3dl_require('material.js');
 96 
 97 // scenegraph stuff
 98 c3dl_require('collada/collada.js');
 99 c3dl_require('scenegraph/scenenode.js');
100 
101 // misc utilities
102 c3dl_require('utilities/utilities.js');
103 
104 // shaders
105 c3dl_require('shaders/model/light/light_vs.js');
106 c3dl_require('shaders/model/material/material.js');
107 
108 c3dl_require('shaders/model/standard/model_fs.js');
109 c3dl_require('shaders/model/standard/model_vs.js');
110 c3dl_require('shaders/model/standard/std_callback.js');
111 
112 c3dl_require('shaders/particle_system/psys_vs.js');
113 c3dl_require('shaders/particle_system/psys_fs.js');
114 c3dl_require('shaders/point/point/point_vs.js');
115 c3dl_require('shaders/point/point/point_fs.js');
116 c3dl_require('shaders/point/sphere/point_sphere_vs.js');
117 c3dl_require('shaders/point/sphere/point_sphere_fs.js');
118 c3dl_require('shaders/line/line_vs.js');
119 c3dl_require('shaders/line/line_fs.js');
120 c3dl_require('shaders/bounding_sphere/bounding_sphere_vs.js');
121 c3dl_require('shaders/bounding_sphere/bounding_sphere_fs.js');
122 
123 c3dl_require('shaders/model/greyscale/greyscale_vs.js');
124 c3dl_require('shaders/model/greyscale/greyscale_fs.js');
125 c3dl_require('shaders/model/greyscale/greyscale_callback.js');
126 
127 c3dl_require('shaders/model/sepia/sepia_vs.js');
128 c3dl_require('shaders/model/sepia/sepia_fs.js');
129 c3dl_require('shaders/model/sepia/sepia_callback.js');
130 
131 c3dl_require('shaders/model/cartoon/cartoon_vs.js');
132 c3dl_require('shaders/model/cartoon/cartoon_fs.js');
133 c3dl_require('shaders/model/cartoon/cartoon_callback.js');
134 
135 c3dl_require('shaders/model/gooch/gooch_vs.js');
136 c3dl_require('shaders/model/gooch/gooch_fs.js');
137 c3dl_require('shaders/model/gooch/gooch_callback.js');
138 
139 c3dl_require('shaders/model/solid_color/solid_color_vs.js');
140 c3dl_require('shaders/model/solid_color/solid_color_fs.js');
141 c3dl_require('shaders/model/solid_color/solid_color_callback.js');
142 
143 // effects and instance effects
144 c3dl_require('effects/effecttemplate.js');
145 c3dl_require('effects/effect.js');
146 
147 // particle system
148 c3dl_require('particle_system/particlesystem.js');
149 c3dl_require('particle_system/particle.js');
150 
151 // initialization
152 c3dl_require('init.js');
153 
154 // interaction
155 c3dl_require('interaction/picking.js');
156 c3dl_require('interaction/pickingresult.js');
157