mosra / magnum

Lightweight and modular C++11 graphics middleware for games and data visualization
https://magnum.graphics/
Other
4.74k stars 439 forks source link

Anti-aliased wide line rendering shader and related MeshTools #601

Closed mosra closed 1 year ago

mosra commented 1 year ago

TODOs left:

A gradually-updated demo is at https://tmp.magnum.graphics/line-playground/

line-playground

codecov[bot] commented 1 year ago

Codecov Report

Base: 81.64% // Head: 81.62% // Decreases project coverage by -0.02% :warning:

Coverage data is based on head (6ab446f) compared to base (592548e). Patch coverage: 0.00% of modified lines in pull request are covered.

:exclamation: Current head 6ab446f differs from pull request most recent head d48d486. Consider uploading reports for the commit d48d486 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #601 +/- ## ========================================== - Coverage 81.64% 81.62% -0.02% ========================================== Files 537 537 Lines 40212 40219 +7 ========================================== Hits 32830 32830 - Misses 7382 7389 +7 ``` | [Impacted Files](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1) | Coverage Δ | | |---|---|---| | [src/Magnum/Shaders/FlatGL.cpp](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9TaGFkZXJzL0ZsYXRHTC5jcHA=) | `82.33% <0.00%> (-0.53%)` | :arrow_down: | | [src/Magnum/Shaders/FlatGL.h](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9TaGFkZXJzL0ZsYXRHTC5o) | `98.11% <ø> (ø)` | | | [src/Magnum/Shaders/MeshVisualizerGL.cpp](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9TaGFkZXJzL01lc2hWaXN1YWxpemVyR0wuY3Bw) | `72.85% <0.00%> (-0.21%)` | :arrow_down: | | [src/Magnum/Shaders/PhongGL.cpp](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9TaGFkZXJzL1Bob25nR0wuY3Bw) | `80.89% <0.00%> (-0.31%)` | :arrow_down: | | [src/Magnum/Shaders/VertexColorGL.h](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9TaGFkZXJzL1ZlcnRleENvbG9yR0wuaA==) | `96.42% <ø> (ø)` | | | [src/Magnum/Trade/MaterialData.h](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9UcmFkZS9NYXRlcmlhbERhdGEuaA==) | `100.00% <ø> (ø)` | | | [src/Magnum/GL/Extensions.h](https://codecov.io/gh/mosra/magnum/pull/601?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1#diff-c3JjL01hZ251bS9HTC9FeHRlbnNpb25zLmg=) | `44.21% <0.00%> (-0.48%)` | :arrow_down: | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Vladim%C3%ADr+Vondru%C5%A1)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

mosra commented 1 year ago

This branch got to a practically usable state now, so I'm merging it to unblock people waiting on it being mainlined:

TODOs from the above list that are marked as "postponed" are tracked in the projects view, and will be worked on them directly on the master branch. While there are known artifacts, they're only significant in really specific corner cases and shouldn't affect practical use too much, nevertheless I'll be fixing them. As well as implementing the more efficient mesh data layout (as documented) and support for stippling and textures.