CesiumGS / CesiumGS/cesium

GL line width + pixel ratio woes

Open
#8,319 7 comments 0 reactions 0 assignees View on GitHub
category - data sources category - graphics category - vector data type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

This is the new home of the GL line width sub-issue in https://github.com/AnalyticalGraphicsInc/cesium/issues/8113

There are two problems with using GL lines with varying resolution scale:
1) Some vendors don't support line widths greater than 1, which results in very thin lines at high pixel densities:

Width 1 at low resolution scale
Screen Shot 2019-10-25 at 10 55 43 AM
Width 1 at high resolution scale
Screen Shot 2019-10-25 at 10 55 37 AM

2) `RenderState` doesn't have access to `FrameState` which has the `pixelRatio` value. So even if we wanted to multiply the line width with pixel ratio, it would require a refactor.

My thinking is we shouldn't be using GL lines for anything, mainly because of the first problem, and should instead use polylines. Chances are this issue will stay on the back-burner for a while since this is low-impact problem, but glad to hear other's thoughts.

Contributor guide

Open the contributing guide

Research direction

Start with linked issue #8113 and the RenderState/FrameState relationship described here; inspect the existing GL-line and polyline rendering entry points. The issue does not name files, tests, or a settled implementation, so first establish whether GL lines should be removed or made pixel-ratio aware, then validate line appearance across resolution scales.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.