mapbox / mapbox/martini

Stitching seams

Open
#7 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
658
Forks
41
PR merge metrics
No merged PRs in 30d

Description

Cool library! I tiled a bunch of RTIN terrains together and there is a seams issue that I was unable to resolve. The edges of each mesh has an irregular number of vertices, so it is not sufficient to average each edge's height because the vertices don't line up. Adding difference thresholds (i.e. average each vertex as long as it is within some lat/lng range) will work but it results in texture stretching. Is there any plan to address seams? Included some screenshots below. I'm on a gtx 1080 getting 120fps with this many tiles.

Another method, directly applying height to a planebuffergeometry, works and is easy to stitch but I get 55fps with that method. Clearly RTINs offer an immense amount of optimization, but I don't know where to go from here with the seams issue. I could try hiding seams with skirts? Is there a better way?

image

image

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

No source file, test, or entry point is identified. Start by reproducing the tiled RTIN terrain setup described in the issue and inspect how adjacent mesh edges are generated. Done should mean tiled terrains have no visible seams without unacceptable texture stretching or the reported performance loss.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.