-
-
Notifications
You must be signed in to change notification settings - Fork 820
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
Turn dithering into a global post-processing effect #3335
Turn dithering into a global post-processing effect #3335
Conversation
Great PR! Please pay attention to the following items before merging: Files matching
This is an automatically generated QA checklist based on modified files. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very strange. Do the lines change width? Also, please post a PNG version of these screenshots, I can't even understand whether the lines are aliased due to JPEG artifacts. |
Not exactly. Please see the screencast.
|
This screencast doesn't toggle DSO markers at all. Yes, I see the ripples on the moving antialiased lines, but it's something that's also present in the released versions, and will exist until we switch to linear-light rendering. From the new screenshots I see exactly that the width increased when the markers are turned on. Is this the expected width? It seems that your single-pixel lines are the wrong ones. |
The second screencast |
OK, I can reproduce with a scale factor of 200%, the widening of the lines is not related to this PR. I'll try to address it separately. |
f94f57d
to
60b9139
Compare
Line width is fixed in master by b837ea3. |
This is not related to this PR, but I see in the log:
These warnings looks not very good |
Something like the following should fix them. I don't have these warnings, so cannot test. diff --git a/src/core/modules/Planet.cpp b/src/core/modules/Planet.cpp
index 4358121c3f..1a478c0884 100644
--- a/src/core/modules/Planet.cpp
+++ b/src/core/modules/Planet.cpp
@@ -3431,7 +3431,13 @@ bool Planet::initShader()
transformFShader = "void main()\n{ }\n";
}
#endif
- GL(transformShaderProgram = createShader("transformShaderProgram", transformShaderVars, transformVShader, transformFShader,QByteArray(),attrLoc));
+ const QMap<QByteArray,int> transformAttrLoc{
+ {"unprojectedVertex", StelOpenGLArray::ATTLOC_VERTEX},
+#ifdef DEBUG_SHADOWMAP
+ {"texCoord", StelOpenGLArray::ATTLOC_TEXCOORD},
+#endif
+ };
+ GL(transformShaderProgram = createShader("transformShaderProgram", transformShaderVars, transformVShader, transformFShader,QByteArray(),transformAttrLoc));
//check if ALL shaders have been created correctly
shaderError = !(planetShaderProgram&& |
Seems to have problems compiling in Windows/MSVC2017/Qt5.12.12.
|
Low-graphics modes such as ANGLE, OpenGL<3.3, OpenGL Compatibility Profile, etc. will not have dithering nor multisampling since this commit.
60b9139
to
955e5bd
Compare
Fixed missing include. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel a bit sad to see dithering go away from ANGLE builds. But it's bearable.
Description
This is the first step towards future HDR rendering. The whole rendering pipeline is split into two stages:
Currently post-processing comprises only dithering and resolution of multisampling samples. This in particular makes multisampling a one-place configuration, so the filters like e.g. spherical mirror will get antialiased image automagically without special setup (before this commit spherical mirror image was aliased). Also, application of dithering only once reduces interference of the dithering noise (e.g. when two images are blended together), and generally makes the result more correct.
Low-graphics modes such as ANGLE, OpenGL<3.3, OpenGL Compatibility Profile, etc. will use the old way of rendering, i.e. without the intermediate deep-color FBO. Thus they will not have dithering nor multisampling.
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: