[{"data":1,"prerenderedAt":1420},["ShallowReactive",2],{"navigation":3,"/api/loaders/gltf-model":490,"/api/loaders/gltf-model-surround":1415},[4,26],{"title":5,"path":6,"stem":7,"children":8},"Getting Started","/getting-started","1.getting-started/1.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation Guide","/getting-started/installation","1.getting-started/2.installation",{"title":15,"path":16,"stem":17},"Usage","/getting-started/usage","1.getting-started/3.usage",{"title":19,"path":20,"stem":21},"Loading Models","/getting-started/loading-models","1.getting-started/4.loading-models",{"title":23,"path":24,"stem":25},"Upgrade Guide","/getting-started/upgrade-guide","1.getting-started/5.upgrade-guide",{"title":27,"path":28,"stem":29,"children":30},"Api","/api","2.api",[31,34,88,118,160,202,300,326,360,410,456],{"title":32,"path":28,"stem":33},"All","2.api/index",{"title":35,"path":36,"stem":37,"children":38},"Abstractions","/api/abstractions","2.api/1.abstractions/index",[39,40,44,48,52,56,60,64,68,72,76,80,84],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43},"Align","/api/abstractions/align","2.api/1.abstractions/align",{"title":45,"path":46,"stem":47},"Billboard","/api/abstractions/billboard","2.api/1.abstractions/billboard",{"title":49,"path":50,"stem":51},"Camera Shake","/api/abstractions/camera-shake","2.api/1.abstractions/camera-shake",{"title":53,"path":54,"stem":55},"Decal","/api/abstractions/decal","2.api/1.abstractions/decal",{"title":57,"path":58,"stem":59},"Edges","/api/abstractions/edges","2.api/1.abstractions/edges",{"title":61,"path":62,"stem":63},"Fit","/api/abstractions/fit","2.api/1.abstractions/fit",{"title":65,"path":66,"stem":67},"Levioso (Float)","/api/abstractions/levioso","2.api/1.abstractions/levioso",{"title":69,"path":70,"stem":71},"Mask","/api/abstractions/mask","2.api/1.abstractions/mask",{"title":73,"path":74,"stem":75},"Outline","/api/abstractions/outline","2.api/1.abstractions/outline",{"title":77,"path":78,"stem":79},"Sampler","/api/abstractions/sampler","2.api/1.abstractions/sampler",{"title":81,"path":82,"stem":83},"ScreenSizer","/api/abstractions/screen-sizer","2.api/1.abstractions/screen-sizer",{"title":85,"path":86,"stem":87},"ScreenSpace","/api/abstractions/screen-space","2.api/1.abstractions/screen-space",{"title":89,"path":90,"stem":91,"children":92},"Controls","/api/controls","2.api/2.controls/index",[93,94,98,102,106,110,114],{"title":89,"path":90,"stem":91},{"title":95,"path":96,"stem":97},"Camera Controls","/api/controls/camera-controls","2.api/2.controls/camera-controls",{"title":99,"path":100,"stem":101},"Keyboard Controls","/api/controls/keyboard-controls","2.api/2.controls/keyboard-controls",{"title":103,"path":104,"stem":105},"Map Controls","/api/controls/map-controls","2.api/2.controls/map-controls",{"title":107,"path":108,"stem":109},"Orbit Controls","/api/controls/orbit-controls","2.api/2.controls/orbit-controls",{"title":111,"path":112,"stem":113},"PointerLock Controls","/api/controls/pointer-lock-controls","2.api/2.controls/pointer-lock-controls",{"title":115,"path":116,"stem":117},"Transform Controls","/api/controls/transform-controls","2.api/2.controls/transform-controls",{"title":119,"path":120,"stem":121,"children":122},"Loaders","/api/loaders","2.api/3.loaders/index",[123,124,128,132,136,140,144,148,152,156],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"useGLTF","/api/loaders/use-gltf","2.api/3.loaders/1.use-gltf",{"title":129,"path":130,"stem":131},"GLTFModel","/api/loaders/gltf-model","2.api/3.loaders/2.gltf-model",{"title":133,"path":134,"stem":135},"useFBX","/api/loaders/use-fbx","2.api/3.loaders/3.use-fbx",{"title":137,"path":138,"stem":139},"FBXModel","/api/loaders/fbx-model","2.api/3.loaders/4.fbx-model",{"title":141,"path":142,"stem":143},"useTexture","/api/loaders/use-texture","2.api/3.loaders/5.use-texture",{"title":145,"path":146,"stem":147},"useTextures","/api/loaders/use-textures","2.api/3.loaders/6.use-textures",{"title":149,"path":150,"stem":151},"useSVG","/api/loaders/use-svg","2.api/3.loaders/7.use-svg",{"title":153,"path":154,"stem":155},"useProgress","/api/loaders/use-progress","2.api/3.loaders/use-progress",{"title":157,"path":158,"stem":159},"useVideoTexture","/api/loaders/use-video-texture","2.api/3.loaders/use-video-texture",{"title":161,"path":162,"stem":163,"children":164},"Materials","/api/materials","2.api/4.materials/index",[165,166,170,174,178,182,186,190,194,198],{"title":161,"path":162,"stem":163},{"title":167,"path":168,"stem":169},"Custom Shader Material","/api/materials/custom-shader-material","2.api/4.materials/custom-shader-material",{"title":171,"path":172,"stem":173},"Mesh Glass Material","/api/materials/glass-material","2.api/4.materials/glass-material",{"title":175,"path":176,"stem":177},"Holographic Material","/api/materials/holographic-material","2.api/4.materials/holographic-material",{"title":179,"path":180,"stem":181},"Mesh Discard Material","/api/materials/mesh-discard-material","2.api/4.materials/mesh-discard-material",{"title":183,"path":184,"stem":185},"Mesh Portal Material","/api/materials/mesh-portal-material","2.api/4.materials/mesh-portal-material",{"title":187,"path":188,"stem":189},"Mesh Reflection Material","/api/materials/mesh-reflection-material","2.api/4.materials/mesh-reflection-material",{"title":191,"path":192,"stem":193},"Mesh Transmission Material","/api/materials/mesh-transmission-material","2.api/4.materials/mesh-transmission-material",{"title":195,"path":196,"stem":197},"Point Material","/api/materials/point-material","2.api/4.materials/point-material",{"title":199,"path":200,"stem":201},"Wobble Material","/api/materials/wobble-material","2.api/4.materials/wobble-material",{"title":203,"path":204,"stem":205,"children":206},"Shapes","/api/shapes","2.api/5.shapes/index",[207,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296],{"title":203,"path":204,"stem":205},{"title":209,"path":210,"stem":211},"Box","/api/shapes/box","2.api/5.shapes/box",{"title":213,"path":214,"stem":215},"CatmullRomCurve3","/api/shapes/catmullromcurve3","2.api/5.shapes/catmullromcurve3",{"title":217,"path":218,"stem":219},"Circle","/api/shapes/circle","2.api/5.shapes/circle",{"title":221,"path":222,"stem":223},"Cone","/api/shapes/cone","2.api/5.shapes/cone",{"title":225,"path":226,"stem":227},"Cubic Bezier Line","/api/shapes/cubic-bezier-line","2.api/5.shapes/cubic-bezier-line",{"title":229,"path":230,"stem":231},"Cylinder","/api/shapes/cylinder","2.api/5.shapes/cylinder",{"title":233,"path":234,"stem":235},"Dodecahedron","/api/shapes/dodecahedron","2.api/5.shapes/dodecahedron",{"title":237,"path":238,"stem":239},"Grid","/api/shapes/grid","2.api/5.shapes/grid",{"title":241,"path":242,"stem":243},"Icosahedron","/api/shapes/icosahedron","2.api/5.shapes/icosahedron",{"title":245,"path":246,"stem":247},"Line2","/api/shapes/line2","2.api/5.shapes/line2",{"title":249,"path":250,"stem":251},"Octahedron","/api/shapes/octahedron","2.api/5.shapes/octahedron",{"title":253,"path":254,"stem":255},"Plane","/api/shapes/plane","2.api/5.shapes/plane",{"title":257,"path":258,"stem":259},"Quadratic Bezier Line","/api/shapes/quadratic-bezier-line","2.api/5.shapes/quadratic-bezier-line",{"title":261,"path":262,"stem":263},"Ring","/api/shapes/ring","2.api/5.shapes/ring",{"title":265,"path":266,"stem":267},"Rounded Box","/api/shapes/rounded-box","2.api/5.shapes/rounded-box",{"title":269,"path":270,"stem":271},"Rounded Plane","/api/shapes/rounded-plane","2.api/5.shapes/rounded-plane",{"title":273,"path":274,"stem":275},"Screen Quad","/api/shapes/screen-quad","2.api/5.shapes/screen-quad",{"title":277,"path":278,"stem":279},"Sphere","/api/shapes/sphere","2.api/5.shapes/sphere",{"title":281,"path":282,"stem":283},"Superformula","/api/shapes/superformula","2.api/5.shapes/superformula",{"title":285,"path":286,"stem":287},"Tetrahedron","/api/shapes/tetrahedron","2.api/5.shapes/tetrahedron",{"title":289,"path":290,"stem":291},"Torus","/api/shapes/torus","2.api/5.shapes/torus",{"title":293,"path":294,"stem":295},"Torus Knot","/api/shapes/torus-knot","2.api/5.shapes/torus-knot",{"title":297,"path":298,"stem":299},"Tube","/api/shapes/tube","2.api/5.shapes/tube",{"title":301,"path":302,"stem":303,"children":304},"Debug/Performance","/api/debug-performance","2.api/6.debug-performance/index",[305,306,310,314,318,322],{"title":301,"path":302,"stem":303},{"title":307,"path":308,"stem":309},"Helper","/api/debug-performance/helper","2.api/6.debug-performance/helper",{"title":311,"path":312,"stem":313},"LOD","/api/debug-performance/lod","2.api/6.debug-performance/lod",{"title":315,"path":316,"stem":317},"Stats","/api/debug-performance/stats","2.api/6.debug-performance/stats",{"title":319,"path":320,"stem":321},"StatsGl","/api/debug-performance/stats-gl","2.api/6.debug-performance/stats-gl",{"title":323,"path":324,"stem":325},"useBVH","/api/debug-performance/use-bvh","2.api/6.debug-performance/use-bvh",{"title":327,"path":328,"stem":329,"children":330},"Light/Shadow","/api/light-shadow","2.api/7.light-shadow/index",[331,332,336,340,344,348,352,356],{"title":327,"path":328,"stem":329},{"title":333,"path":334,"stem":335},"Accumulative Shadows","/api/light-shadow/accumulative-shadows","2.api/7.light-shadow/accumulative-shadows",{"title":337,"path":338,"stem":339},"Bake Shadows","/api/light-shadow/bake-shadows","2.api/7.light-shadow/bake-shadows",{"title":341,"path":342,"stem":343},"Circle Shadow","/api/light-shadow/circle-shadow","2.api/7.light-shadow/circle-shadow",{"title":345,"path":346,"stem":347},"Contact Shadows","/api/light-shadow/contact-shadows","2.api/7.light-shadow/contact-shadows",{"title":349,"path":350,"stem":351},"Lensflare","/api/light-shadow/lensflare","2.api/7.light-shadow/lensflare",{"title":353,"path":354,"stem":355},"Randomized Lights","/api/light-shadow/randomized-lights","2.api/7.light-shadow/randomized-lights",{"title":357,"path":358,"stem":359},"Soft Shadows","/api/light-shadow/soft-shadows","2.api/7.light-shadow/soft-shadows",{"title":361,"path":362,"stem":363,"children":364},"Staging","/api/staging","2.api/8.staging/index",[365,366,370,374,378,382,386,390,394,398,402,406],{"title":361,"path":362,"stem":363},{"title":367,"path":368,"stem":369},"Environment","/api/staging/environment","2.api/8.staging/1.environment",{"title":371,"path":372,"stem":373},"useEnvironment","/api/staging/use-environment","2.api/8.staging/2.use-environment",{"title":375,"path":376,"stem":377},"Lightformer","/api/staging/lightformer","2.api/8.staging/3.lightformer",{"title":379,"path":380,"stem":381},"Backdrop","/api/staging/backdrop","2.api/8.staging/backdrop",{"title":383,"path":384,"stem":385},"Ocean","/api/staging/ocean","2.api/8.staging/ocean",{"title":387,"path":388,"stem":389},"Precipitation","/api/staging/precipitation","2.api/8.staging/precipitation",{"title":391,"path":392,"stem":393},"Sky","/api/staging/sky","2.api/8.staging/sky",{"title":395,"path":396,"stem":397},"Smoke","/api/staging/smoke","2.api/8.staging/smoke",{"title":399,"path":400,"stem":401},"Sparkles","/api/staging/sparkles","2.api/8.staging/sparkles",{"title":403,"path":404,"stem":405},"Stage","/api/staging/stage","2.api/8.staging/stage",{"title":407,"path":408,"stem":409},"Stars","/api/staging/stars","2.api/8.staging/stars",{"title":411,"path":412,"stem":413,"children":414},"Objects","/api/objects","2.api/9.objects/index",[415,416,420,424,428,432,436,440,444,448,452],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"AnimatedSprite","/api/objects/animated-sprite","2.api/9.objects/animated-sprite",{"title":421,"path":422,"stem":423},"CubeCamera","/api/objects/cube-camera","2.api/9.objects/cube-camera",{"title":425,"path":426,"stem":427},"Fbo","/api/objects/fbo","2.api/9.objects/fbo",{"title":429,"path":430,"stem":431},"GradientTexture","/api/objects/gradient-texture","2.api/9.objects/gradient-texture",{"title":433,"path":434,"stem":435},"HTML","/api/objects/html","2.api/9.objects/html",{"title":437,"path":438,"stem":439},"Image","/api/objects/image","2.api/9.objects/image",{"title":441,"path":442,"stem":443},"MarchingCubes","/api/objects/marching-cubes","2.api/9.objects/marching-cubes",{"title":445,"path":446,"stem":447},"Reflector","/api/objects/reflector","2.api/9.objects/reflector",{"title":449,"path":450,"stem":451},"Refractor","/api/objects/refractor","2.api/9.objects/refractor",{"title":453,"path":454,"stem":455},"Text3D","/api/objects/text-3d","2.api/9.objects/text-3d",{"title":457,"path":458,"stem":459,"children":460},"Miscellaneous","/api/miscellaneous","2.api/miscellaneous/index",[461,462,466,470,474,478,482,486],{"title":457,"path":458,"stem":459},{"title":463,"path":464,"stem":465},"Bounds","/api/miscellaneous/bounds","2.api/miscellaneous/bounds",{"title":467,"path":468,"stem":469},"GlobalAudio","/api/miscellaneous/global-audio","2.api/miscellaneous/global-audio",{"title":471,"path":472,"stem":473},"MouseParallax","/api/miscellaneous/mouse-parallax","2.api/miscellaneous/mouse-parallax",{"title":475,"path":476,"stem":477},"PositionalAudio","/api/miscellaneous/positional-audio","2.api/miscellaneous/positional-audio",{"title":479,"path":480,"stem":481},"useAnimations","/api/miscellaneous/use-animations","2.api/miscellaneous/use-animations",{"title":483,"path":484,"stem":485},"useGLTFExporter","/api/miscellaneous/use-gltf-exporter","2.api/miscellaneous/use-gltf-exporter",{"title":487,"path":488,"stem":489},"useIntersect","/api/miscellaneous/use-intersect","2.api/miscellaneous/use-intersect",{"id":491,"title":129,"body":492,"description":1409,"extension":1410,"links":1411,"meta":1412,"navigation":606,"path":130,"seo":1413,"stem":131,"__hash__":1414},"docs/2.api/3.loaders/2.gltf-model.md",{"type":493,"value":494,"toc":1403},"minimark",[495,501,516,520,934,938,945,1214,1218,1331,1348,1352,1372,1393,1399],[496,497,498],"scene-wrapper",{},[499,500],"loaders-gltf",{},[502,503,504,505,508,509,515],"p",{},"The ",[506,507,129],"code",{}," component is a wrapper around ",[510,511,513],"a",{"href":512},"./use-gltf",[506,514,125],{}," composable and accepts the same options as props.",[517,518,15],"h2",{"id":519},"usage",[521,522,523,683],"code-group",{},[524,525,534],"pre",{"className":526,"code":527,"filename":528,"highlights":529,"language":532,"meta":533,"style":533},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { GLTFModel } from '@tresjs/cientos'\n\nconst path = './blender-cube.glb'\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CGLTFModel :path=\"path\" />\n\u003C/template>\n","TheModel.vue",[530,531],2,8,"vue","",[506,535,536,571,601,608,626,636,641,651,674],{"__ignoreMap":533},[537,538,541,545,549,553,556,559,562,566,568],"span",{"class":539,"line":540},"line",1,[537,542,544],{"class":543},"sMK4o","\u003C",[537,546,548],{"class":547},"swJcz","script",[537,550,552],{"class":551},"spNyl"," setup",[537,554,555],{"class":551}," lang",[537,557,558],{"class":543},"=",[537,560,561],{"class":543},"\"",[537,563,565],{"class":564},"sfazB","ts",[537,567,561],{"class":543},[537,569,570],{"class":543},">\n",[537,572,575,579,582,586,589,592,595,598],{"class":573,"line":530},[539,574],"highlight",[537,576,578],{"class":577},"s7zQu","import",[537,580,581],{"class":543}," {",[537,583,585],{"class":584},"sTEyZ"," GLTFModel",[537,587,588],{"class":543}," }",[537,590,591],{"class":577}," from",[537,593,594],{"class":543}," '",[537,596,597],{"class":564},"@tresjs/cientos",[537,599,600],{"class":543},"'\n",[537,602,604],{"class":539,"line":603},3,[537,605,607],{"emptyLinePlaceholder":606},true,"\n",[537,609,611,614,617,619,621,624],{"class":539,"line":610},4,[537,612,613],{"class":551},"const",[537,615,616],{"class":584}," path ",[537,618,558],{"class":543},[537,620,594],{"class":543},[537,622,623],{"class":564},"./blender-cube.glb",[537,625,600],{"class":543},[537,627,629,632,634],{"class":539,"line":628},5,[537,630,631],{"class":543},"\u003C/",[537,633,548],{"class":547},[537,635,570],{"class":543},[537,637,639],{"class":539,"line":638},6,[537,640,607],{"emptyLinePlaceholder":606},[537,642,644,646,649],{"class":539,"line":643},7,[537,645,544],{"class":543},[537,647,648],{"class":547},"template",[537,650,570],{"class":543},[537,652,654,657,659,662,664,666,669,671],{"class":653,"line":531},[539,574],[537,655,656],{"class":543},"  \u003C",[537,658,129],{"class":547},[537,660,661],{"class":551}," :path",[537,663,558],{"class":543},[537,665,561],{"class":543},[537,667,668],{"class":564},"path",[537,670,561],{"class":543},[537,672,673],{"class":543}," />\n",[537,675,677,679,681],{"class":539,"line":676},9,[537,678,631],{"class":543},[537,680,648],{"class":547},[537,682,570],{"class":543},[524,684,687],{"className":526,"code":685,"filename":686,"language":532,"meta":533,"style":533},"\u003Cscript setup lang=\"ts\">\nimport { OrbitControls } from '@tresjs/cientos'\nimport { TresCanvas } from '@tresjs/core'\nimport TheModel from './TheModel.vue'\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CTresCanvas clear-color=\"#F78B3D\">\n    \u003CTresPerspectiveCamera :position=\"[3, 2, 5]\" />\n    \u003COrbitControls />\n    \u003CTheModel />\n    \u003CTresDirectionalLight\n      :intensity=\"2\"\n      :position=\"[3, 3, 3]\"\n    />\n    \u003CTresAmbientLight :intensity=\"1\" />\n  \u003C/TresCanvas>\n\u003C/template>\n","app.vue",[506,688,689,709,728,748,765,773,777,785,806,828,838,848,856,872,887,893,915,925],{"__ignoreMap":533},[537,690,691,693,695,697,699,701,703,705,707],{"class":539,"line":540},[537,692,544],{"class":543},[537,694,548],{"class":547},[537,696,552],{"class":551},[537,698,555],{"class":551},[537,700,558],{"class":543},[537,702,561],{"class":543},[537,704,565],{"class":564},[537,706,561],{"class":543},[537,708,570],{"class":543},[537,710,711,713,715,718,720,722,724,726],{"class":539,"line":530},[537,712,578],{"class":577},[537,714,581],{"class":543},[537,716,717],{"class":584}," OrbitControls",[537,719,588],{"class":543},[537,721,591],{"class":577},[537,723,594],{"class":543},[537,725,597],{"class":564},[537,727,600],{"class":543},[537,729,730,732,734,737,739,741,743,746],{"class":539,"line":603},[537,731,578],{"class":577},[537,733,581],{"class":543},[537,735,736],{"class":584}," TresCanvas",[537,738,588],{"class":543},[537,740,591],{"class":577},[537,742,594],{"class":543},[537,744,745],{"class":564},"@tresjs/core",[537,747,600],{"class":543},[537,749,750,752,755,758,760,763],{"class":539,"line":610},[537,751,578],{"class":577},[537,753,754],{"class":584}," TheModel ",[537,756,757],{"class":577},"from",[537,759,594],{"class":543},[537,761,762],{"class":564},"./TheModel.vue",[537,764,600],{"class":543},[537,766,767,769,771],{"class":539,"line":628},[537,768,631],{"class":543},[537,770,548],{"class":547},[537,772,570],{"class":543},[537,774,775],{"class":539,"line":638},[537,776,607],{"emptyLinePlaceholder":606},[537,778,779,781,783],{"class":539,"line":643},[537,780,544],{"class":543},[537,782,648],{"class":547},[537,784,570],{"class":543},[537,786,787,789,792,795,797,799,802,804],{"class":539,"line":531},[537,788,656],{"class":543},[537,790,791],{"class":547},"TresCanvas",[537,793,794],{"class":551}," clear-color",[537,796,558],{"class":543},[537,798,561],{"class":543},[537,800,801],{"class":564},"#F78B3D",[537,803,561],{"class":543},[537,805,570],{"class":543},[537,807,808,811,814,817,819,821,824,826],{"class":539,"line":676},[537,809,810],{"class":543},"    \u003C",[537,812,813],{"class":547},"TresPerspectiveCamera",[537,815,816],{"class":551}," :position",[537,818,558],{"class":543},[537,820,561],{"class":543},[537,822,823],{"class":564},"[3, 2, 5]",[537,825,561],{"class":543},[537,827,673],{"class":543},[537,829,831,833,836],{"class":539,"line":830},10,[537,832,810],{"class":543},[537,834,835],{"class":547},"OrbitControls",[537,837,673],{"class":543},[537,839,841,843,846],{"class":539,"line":840},11,[537,842,810],{"class":543},[537,844,845],{"class":547},"TheModel",[537,847,673],{"class":543},[537,849,851,853],{"class":539,"line":850},12,[537,852,810],{"class":543},[537,854,855],{"class":547},"TresDirectionalLight\n",[537,857,859,862,864,866,869],{"class":539,"line":858},13,[537,860,861],{"class":551},"      :intensity",[537,863,558],{"class":543},[537,865,561],{"class":543},[537,867,868],{"class":564},"2",[537,870,871],{"class":543},"\"\n",[537,873,875,878,880,882,885],{"class":539,"line":874},14,[537,876,877],{"class":551},"      :position",[537,879,558],{"class":543},[537,881,561],{"class":543},[537,883,884],{"class":564},"[3, 3, 3]",[537,886,871],{"class":543},[537,888,890],{"class":539,"line":889},15,[537,891,892],{"class":543},"    />\n",[537,894,896,898,901,904,906,908,911,913],{"class":539,"line":895},16,[537,897,810],{"class":543},[537,899,900],{"class":547},"TresAmbientLight",[537,902,903],{"class":551}," :intensity",[537,905,558],{"class":543},[537,907,561],{"class":543},[537,909,910],{"class":564},"1",[537,912,561],{"class":543},[537,914,673],{"class":543},[537,916,918,921,923],{"class":539,"line":917},17,[537,919,920],{"class":543},"  \u003C/",[537,922,791],{"class":547},[537,924,570],{"class":543},[537,926,928,930,932],{"class":539,"line":927},18,[537,929,631],{"class":543},[537,931,648],{"class":547},[537,933,570],{"class":543},[517,935,937],{"id":936},"model-reference","Model reference",[502,939,940,941,944],{},"The component exposes the loaded GLTF as ",[506,942,943],{},"instance",", so a template ref gets you the parsed model:",[524,946,948],{"className":526,"code":947,"language":532,"meta":533,"style":533},"\u003Cscript setup lang=\"ts\">\nimport { GLTFModel } from '@tresjs/cientos'\nimport { ref, watch } from 'vue'\n\nconst modelRef = ref\u003CInstanceType\u003Ctypeof GLTFModel>>()\n\n// `instance` is null until the file lands, so watch it rather than the ref\nwatch(() => modelRef.value?.instance, (gltf) => {\n  gltf?.scene.position.set(0, 0, 0)\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CGLTFModel\n    ref=\"modelRef\"\n    path=\"https://raw.githubusercontent.com/Tresjs/assets/main/models/gltf/blender-cube.glb\"\n  />\n\u003C/template>\n",[506,949,950,970,988,1013,1017,1046,1050,1056,1101,1139,1146,1154,1158,1166,1173,1187,1201,1206],{"__ignoreMap":533},[537,951,952,954,956,958,960,962,964,966,968],{"class":539,"line":540},[537,953,544],{"class":543},[537,955,548],{"class":547},[537,957,552],{"class":551},[537,959,555],{"class":551},[537,961,558],{"class":543},[537,963,561],{"class":543},[537,965,565],{"class":564},[537,967,561],{"class":543},[537,969,570],{"class":543},[537,971,972,974,976,978,980,982,984,986],{"class":539,"line":530},[537,973,578],{"class":577},[537,975,581],{"class":543},[537,977,585],{"class":584},[537,979,588],{"class":543},[537,981,591],{"class":577},[537,983,594],{"class":543},[537,985,597],{"class":564},[537,987,600],{"class":543},[537,989,990,992,994,997,1000,1003,1005,1007,1009,1011],{"class":539,"line":603},[537,991,578],{"class":577},[537,993,581],{"class":543},[537,995,996],{"class":584}," ref",[537,998,999],{"class":543},",",[537,1001,1002],{"class":584}," watch",[537,1004,588],{"class":543},[537,1006,591],{"class":577},[537,1008,594],{"class":543},[537,1010,532],{"class":564},[537,1012,600],{"class":543},[537,1014,1015],{"class":539,"line":610},[537,1016,607],{"emptyLinePlaceholder":606},[537,1018,1019,1021,1024,1026,1029,1031,1035,1038,1040,1043],{"class":539,"line":628},[537,1020,613],{"class":551},[537,1022,1023],{"class":584}," modelRef ",[537,1025,558],{"class":543},[537,1027,996],{"class":1028},"s2Zo4",[537,1030,544],{"class":543},[537,1032,1034],{"class":1033},"sBMFI","InstanceType",[537,1036,1037],{"class":543},"\u003Ctypeof",[537,1039,585],{"class":584},[537,1041,1042],{"class":543},">>",[537,1044,1045],{"class":584},"()\n",[537,1047,1048],{"class":539,"line":638},[537,1049,607],{"emptyLinePlaceholder":606},[537,1051,1052],{"class":539,"line":643},[537,1053,1055],{"class":1054},"sHwdD","// `instance` is null until the file lands, so watch it rather than the ref\n",[537,1057,1058,1061,1064,1067,1070,1073,1076,1079,1082,1084,1086,1089,1093,1096,1098],{"class":539,"line":531},[537,1059,1060],{"class":1028},"watch",[537,1062,1063],{"class":584},"(",[537,1065,1066],{"class":543},"()",[537,1068,1069],{"class":551}," =>",[537,1071,1072],{"class":584}," modelRef",[537,1074,1075],{"class":543},".",[537,1077,1078],{"class":584},"value",[537,1080,1081],{"class":543},"?.",[537,1083,943],{"class":584},[537,1085,999],{"class":543},[537,1087,1088],{"class":543}," (",[537,1090,1092],{"class":1091},"sHdIc","gltf",[537,1094,1095],{"class":543},")",[537,1097,1069],{"class":551},[537,1099,1100],{"class":543}," {\n",[537,1102,1103,1106,1108,1111,1113,1116,1118,1121,1123,1127,1129,1132,1134,1136],{"class":539,"line":676},[537,1104,1105],{"class":584},"  gltf",[537,1107,1081],{"class":543},[537,1109,1110],{"class":584},"scene",[537,1112,1075],{"class":543},[537,1114,1115],{"class":584},"position",[537,1117,1075],{"class":543},[537,1119,1120],{"class":1028},"set",[537,1122,1063],{"class":547},[537,1124,1126],{"class":1125},"sbssI","0",[537,1128,999],{"class":543},[537,1130,1131],{"class":1125}," 0",[537,1133,999],{"class":543},[537,1135,1131],{"class":1125},[537,1137,1138],{"class":547},")\n",[537,1140,1141,1144],{"class":539,"line":830},[537,1142,1143],{"class":543},"}",[537,1145,1138],{"class":584},[537,1147,1148,1150,1152],{"class":539,"line":840},[537,1149,631],{"class":543},[537,1151,548],{"class":547},[537,1153,570],{"class":543},[537,1155,1156],{"class":539,"line":850},[537,1157,607],{"emptyLinePlaceholder":606},[537,1159,1160,1162,1164],{"class":539,"line":858},[537,1161,544],{"class":543},[537,1163,648],{"class":547},[537,1165,570],{"class":543},[537,1167,1168,1170],{"class":539,"line":874},[537,1169,656],{"class":543},[537,1171,1172],{"class":547},"GLTFModel\n",[537,1174,1175,1178,1180,1182,1185],{"class":539,"line":889},[537,1176,1177],{"class":551},"    ref",[537,1179,558],{"class":543},[537,1181,561],{"class":543},[537,1183,1184],{"class":564},"modelRef",[537,1186,871],{"class":543},[537,1188,1189,1192,1194,1196,1199],{"class":539,"line":895},[537,1190,1191],{"class":551},"    path",[537,1193,558],{"class":543},[537,1195,561],{"class":543},[537,1197,1198],{"class":564},"https://raw.githubusercontent.com/Tresjs/assets/main/models/gltf/blender-cube.glb",[537,1200,871],{"class":543},[537,1202,1203],{"class":539,"line":917},[537,1204,1205],{"class":543},"  />\n",[537,1207,1208,1210,1212],{"class":539,"line":927},[537,1209,631],{"class":543},[537,1211,648],{"class":547},[537,1213,570],{"class":543},[517,1215,1217],{"id":1216},"props","Props",[1219,1220,1221,1238],"table",{},[1222,1223,1224],"thead",{},[1225,1226,1227,1232,1235],"tr",{},[1228,1229,1231],"th",{"align":1230},"left","Prop",[1228,1233,1234],{"align":1230},"Description",[1228,1236,1237],{},"Default",[1239,1240,1241,1260,1282,1297,1315],"tbody",{},[1225,1242,1243,1248,1255],{},[1244,1245,1246],"td",{"align":1230},[506,1247,668],{},[1244,1249,1250,1251,1075],{"align":1230},"Path to the model file. ",[1252,1253,1254],"strong",{},"Required",[1244,1256,1257],{},[506,1258,1259],{},"undefined",[1225,1261,1262,1267,1277],{},[1244,1263,1264],{"align":1230},[506,1265,1266],{},"draco",[1244,1268,1269,1270,1276],{"align":1230},"Enable ",[510,1271,1275],{"href":1272,"rel":1273},"https://threejs.org/docs/index.html?q=drac#examples/en/loaders/DRACOLoader",[1274],"nofollow","Draco compression"," for the model.",[1244,1278,1279],{},[506,1280,1281],{},"false",[1225,1283,1284,1289,1292],{},[1244,1285,1286],{"align":1230},[506,1287,1288],{},"decoderPath",[1244,1290,1291],{"align":1230},"Path to a Draco decoder.",[1244,1293,1294],{},[506,1295,1296],{},"'https://www.gstatic.com/draco/versioned/decoders/1.4.1/'",[1225,1298,1299,1304,1311],{},[1244,1300,1301],{"align":1230},[506,1302,1303],{},"castShadow",[1244,1305,1306,1307,1310],{"align":1230},"Apply ",[506,1308,1309],{},"cast-shadow"," to all meshes inside your model.",[1244,1312,1313],{},[506,1314,1281],{},[1225,1316,1317,1322,1327],{},[1244,1318,1319],{"align":1230},[506,1320,1321],{},"receiveShadow",[1244,1323,1306,1324,1310],{"align":1230},[506,1325,1326],{},"receive-shadow",[1244,1328,1329],{},[506,1330,1281],{},[1332,1333,1334],"prose-note",{},[502,1335,1336,1338,1339,1343,1344,1347],{},[506,1337,668],{}," is not reactive: the component reads it once on setup. Use\n",[510,1340,1341],{"href":512},[506,1342,125],{}," with a ",[506,1345,1346],{},"ref"," path if you need to swap models at runtime.",[517,1349,1351],{"id":1350},"when-to-reach-for-something-else","When to reach for something else",[502,1353,1354,1356,1357,1360,1361,1365,1366,1371],{},[506,1355,129],{}," renders the model's scene graph as-is, which means there is no element to hang a\nmaterial swap, a click handler or a ",[506,1358,1359],{},"v-if"," on. When you need that, use\n",[510,1362,1363],{"href":512},[506,1364,125],{}," to compose the parts yourself, or let the\n",[510,1367,1370],{"href":1368,"rel":1369},"https://docs.tresjs.org/cli/gltf",[1274],"TresJS CLI"," generate a typed component with a slot per node:",[524,1373,1377],{"className":1374,"code":1375,"language":1376,"meta":533,"style":533},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx @tresjs/cli gltf public/models/robot.glb\n","bash",[506,1378,1379],{"__ignoreMap":533},[537,1380,1381,1384,1387,1390],{"class":539,"line":540},[537,1382,1383],{"class":1033},"npx",[537,1385,1386],{"class":564}," @tresjs/cli",[537,1388,1389],{"class":564}," gltf",[537,1391,1392],{"class":564}," public/models/robot.glb\n",[1394,1395,1396],"read-more",{"to":20},[502,1397,1398],{},"The three ways to load a model, and when to reach for each one.",[1400,1401,1402],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":533,"searchDepth":540,"depth":530,"links":1404},[1405,1406,1407,1408],{"id":519,"depth":530,"text":15},{"id":936,"depth":530,"text":937},{"id":1216,"depth":530,"text":1217},{"id":1350,"depth":530,"text":1351},"A component based on useGLTF to load models in TresJS scenes.","md",null,{},{"title":129,"description":1409},"VQ_YsNV94FVy6HCRAYN67RLxTmb-4Gfn8UDFrpHDFcQ",[1416,1418],{"title":125,"path":126,"stem":127,"description":1417,"children":-1},"A composable to load GLTF models in TresJS scenes.",{"title":133,"path":134,"stem":135,"description":1419,"children":-1},"A composable to load FBX models in TresJS scenes.",1785417270731]