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