Skip to content

kreativwebdesign/lode

Repository files navigation

lode 🛣

LOD Pipeline for the web.

What is lode?

lode provides an easy way to use level-of-detail artifacts in web applications. level-of-details is a technique to render simplified models when the viewer has a bigger distance. Usually these artifacts are generated by the designer or the developer ahead of time and then integrated into the scene manually. lode generates different levels for a given glTF file and permits to use these levels within a given application.

CLI

lode has a CLI to generate these artifacts. This is the starting point, see cli for more information.

UI

In order to tune the levels, lode provides a UI to see the different artifacts in detail. See lode-ui for more information.

Three Helper

To use the generated artifacts in a Three.js application lode-three can be used. lode-three for more information.

Demo Application

To see different artifacts in use - especially more complex ones which are used to improve the features of the algorithm - a demo application has been implemented. See demo for more information.

Benchmark

The benchmark project assesses the benefit of using LOD artifacts. See benchmark for more information.

Plotter

To visualize the main findings of the benchmark, see plotter for more information.

Dev

This repo contains different sub projects which have a uniform way of using them.

Prerequisites

  • yarn ~1.x
  • node > v16
  • Pandoc

Node.js projects

Run yarn setup in the root project (this folder) to setup all projects at once.

Dev

Set them all up locally with yarn setup inside the root project or individually by running that same command inside the project you want to setup.

The default script to start a project is yarn start, if something other applies it's written in the specific project.

Use yarn test to run the Jest unit / integration tests.

Code Style

In order to get a coherent code style Prettier is used.

Report

The report is written in LaTeX. Only the raw .tex files and resources are being tracked by git. The pdf output is built and deployed to a specific branch automatically using a Github Action. Have a look at report to see the current report built as a pdf.

Include READMEs into Latex report

Run yarn latex-readme to generate tex files for all markdown files.