PageSourceSearch

https://docs-vrgeo-version3.netlify.app/assets/js/815628e5.00cf4f74.js

js docs-vrgeo-version3.netlify.app collected 2026-10-03 10:41:56 UTC 4,458 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[18567],{37793(e,t,i){i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>a,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"tutorial/quick-tips/qt010-level-of-detail","title":"Level of Detail on meshes","description":"Speed up a heavy model by generating LOD layers, so distant meshes draw with fewer triangles.","source":"@site/docs/tutorial/quick-tips/qt010-level-of-detail.md","sourceDirName":"tutorial/quick-tips","slug":"/tutorial/quick-tips/qt010-level-of-detail","permalink":"/docs/next/tutorial/quick-tips/qt010-level-of-detail","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/docs/tutorial/quick-tips/qt010-level-of-detail.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"id":"qt010-level-of-detail","title":"Level of Detail on meshes","description":"Speed up a heavy model by generating LOD layers, so distant meshes draw with fewer triangles.","keywords":["lod","level of detail","performance","large models","wireframe"],"sidebar_position":1},"sidebar":"docs","previous":{"title":"How to run a Discrete Element Model triaxial test","permalink":"/docs/next/tutorial/tutorial-fractures/tf070-dem-triaxial-test"},"next":{"title":"Adding billboards","permalink":"/docs/next/tutorial/quick-tips/qt020-billboards"}}');var n=i(74848),o=i(28453);const a={id:"qt010-level-of-detail",title:"Level of Detail on meshes",description:"Speed up a heavy model by generating LOD layers, so distant meshes draw with fewer triangles.",keywords:["lod","level of detail","performance","large models","wireframe"],sidebar_position:1},r="Level of Detail on meshes",l={},d=[];function c(e){const t={a:"a",admonition:"admonition",em:"em",h1:"h1",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"level-of-detail-on-meshes",children:"Level of Detail on meshes"})}),"\n",(0,n.jsx)("iframe",{width:"640",height:"360",src:"https://www.youtube.com/embed/iXNtQsn37uU",frameborder:"0",allow:"autoplay; encrypted-media",allowfullscreen:!0}),"\n",(0,n.jsxs)(t.p,{children:["Large models made of many meshes cost frame rate. ",(0,n.jsx)(t.strong,{children:"Level of detail (LOD)"}),"\nbuys it back: VRGS builds progressively simpler copies of a mesh and swaps to a\nsimpler one as the camera moves away, so distant geometry costs a fraction of\nwhat it does up close."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"Right-click the mesh \u2192 Optimization \u2192 Level of Detail (LOD) \u2192 Generate."})}),"\n",(0,n.jsxs)(t.p,{children:["The switch is driven by ",(0,n.jsx)(t.strong,{children:"average triangle size on screen"}),": when the current\nlevel's triangles shrink to about one pixel, the next level takes over. Choosing\nthe moment that way is what stops the transitions from visibly ",(0,n.jsx)(t.em,{children:"popping"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["To watch it work, switch on ",(0,n.jsx)(t.strong,{children:"Wireframe"})," in the triangulated mesh group\nproperties and navigate towards and away from the model \u2014 the triangle density\nvisibly changes at each transition."]}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Optimization \u2192 Level of Detail (LOD) \u2192 Remove"})," deletes the layers again."]}),"\n",(0,n.jsx)(t.admonition,{title:"Generate LOD last",type:"caution",children:(0,n.jsx)(t.p,{children:"Editing the geometry afterwards \u2014 decimating, remeshing, deleting triangles \u2014\ninvalidates the layers, and you have to generate them again."})}),"\n",(0,n.jsxs)(t.p,{children:["More on this, and on tiling for models too large for LOD alone, in\n",(0,n.jsx)(t.a,{href:"/docs/next/general/setup-system/large-models",children:"Working with Large Models"}),"."]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},28453(e,t,i){i.d(t,{R:()=>a,x:()=>r});var s=i(96540);const n={},o=s.createContext(n);function a(e){const t=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.