Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

artifacts drawing un-textured semi-transparent spherical regions #360

Open
alex-w opened this issue Sep 19, 2018 · 1 comment
Open

artifacts drawing un-textured semi-transparent spherical regions #360

alex-w opened this issue Sep 19, 2018 · 1 comment
Assignees
Labels
bug Something likely wrong in the code good first issue Get involved in development! importance: medium A bit annoying, minor miscalculation, but no crash state: confirmed A developer can reproduce the issue

Comments

@alex-w
Copy link
Member

alex-w commented Sep 19, 2018

Original report by Emmanuel: https://bugs.launchpad.net/stellarium/+bug/1174892

This bug report is about artifacts that appear when drawing un-textured semi-transparent polygons using the stellarium C++ API.

Artifact 1:
Drawing a semi-transparent polygon near the horizon with atmospheric refraction on.
=> The color of the drawn polygon is not uniform, the polygon seems to have areas drawn twice and hence more opaque. These areas have the shape of elongated triangles that touch the horizon.

Artifact 2:
Drawing a large semi-transparent polygon.
=> The color of the drawn polygon is not uniform, the polygon seems to have areas drawn twice and hence more opaque. These areas have the shape of lines or elongated triangles located near the boundary of the polygon.

Artifact 3:
Drawing a large semi-transparent polygon and looking opposite to it.
=> The polygon fills the entire screen when looking in the opposite direction to where it is located and when part of its boundary is visible in the viewport. The part of the polygon that is actually visible is drawn twice, and the complementary of the polygon that should not be visible is drawn once.

These artifacts are illustred in the attached picture and can be obtained with the following code.
Artifact 1:

renderer->setGlobalColor(0, 1, 0, 0.5);
StelProjectorP prj = core->getProjection(StelCore::FrameAltAz);
SphericalCap(Vec3d(1, 0, 0), 0.99).drawFill(renderer, SphericalRegion::DrawParams(prj.data()));

Artifacts 2 and 3:

renderer->setGlobalColor(0, 1, 0, 0.5);
StelProjectorP prj = core->getProjection(StelCore::FrameAltAz);
SphericalCap(Vec3d(1, 0, 0), 0.5).drawFill(renderer, SphericalRegion::DrawParams(prj.data()));
@alex-w alex-w added bug Something likely wrong in the code state: confirmed A developer can reproduce the issue importance: medium A bit annoying, minor miscalculation, but no crash labels Sep 19, 2018
@alex-w alex-w added this to To Do in OpenGL/GLSL via automation Sep 19, 2018
@alex-w alex-w added this to To Do in Projections via automation Oct 6, 2018
@gzotti gzotti added the good first issue Get involved in development! label Mar 7, 2020
@alex-w
Copy link
Member Author

alex-w commented Jun 17, 2021

artefacts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something likely wrong in the code good first issue Get involved in development! importance: medium A bit annoying, minor miscalculation, but no crash state: confirmed A developer can reproduce the issue
Projects
OpenGL/GLSL
  
To do
Projections
  
To do
Development

No branches or pull requests

3 participants