NASA-AMMOS / NASA-AMMOS/3DTilesRendererJS

Improved traversal approach for predictable 2d image formats displayed in 2d

Open
#957 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
2.5k
Forks
416
Avg merge
17h 52m
Merged PRs (30d)
37

Description

Related to #943

WMTS, DZI, COG, etc are all 2d image formats with (presumably) consistently sized tiles which means you can very quickly determine which LoD and which sub tiles need to be rendered when the render perspective is limited to 2D. Ie if you have a specific 2d window and the tiles are all the same size, you can immediately determine which LoD level will need to be rendered for the tiles, and you can figure out how many tiles from 0, 0 the window is due to he consistent tile size. This also means the tile hierarchy does not need to be expanded into bounds higherarchy for traversal, as well.

When rendering in 3d these optimizations are not possible but if a user wants to display images in 2d it may be possible to add some improvements for traversing and rendering in these cases.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the traversal and rendering paths for 2D image views, along with related issue #943. The work is complete when predictable tile formats such as WMTS, DZI, and COG can use direct LoD and tile selection without expanding the hierarchy into bounds for 2D rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, three.js
Domain
computer-graphics, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.