Improve distribution of detail
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 65
- Forks
- 6
- Avg merge
- 9h 47m
- Merged PRs (30d)
- 1
Description
Planetmap presently uses a traditional cubemap projection to distribute information over a radial domain. This is effective, but leads to some areas having ~50% more detail than others. Adopting a nonlinear projection within each cube face would allow us to drastically improve that for a small additional sampling cost. A variety of such mappings are compared in Cube-to-sphere Projections for Procedural Texturing and Beyond, which ultimately recommends a 5th-order polynomial approach that ~doubles the (very small) cost of applying the projection in exchange for reducing maximum area distortion to 7%. The increased sampling cost is further offset by the capacity to significantly reduce the number of samples (e.g. vertexes) necessary to achieve a certain minimum level of detail.
Applying this would lead to improved storage efficiency and isotropy, and make it much easier to define isotropic functions (e.g. for tree placement) in terms of individual chunks.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files, tests, or entry points are named. Start by reading the linked Cube-to-sphere Projections paper, then locate Planetmap's cubemap projection and sampling code; done means the nonlinear projection is integrated and its distortion, sampling cost, storage efficiency, and isotropy are measured.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100