-
-
Notifications
You must be signed in to change notification settings - Fork 821
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
star trails #1888
base: master
Are you sure you want to change the base?
star trails #1888
Conversation
dim whole framebuffer to 90%, else we are overexposed much too fast.stellarium/src/core/StelCore.cpp Lines 499 to 504 in 4f0cab6
This comment was generated by todo based on a
|
I am still unsure about how to use this. When I want to have a scene fading to black (effect of a light echo or showing star trails),stellarium/src/core/StelViewportEffect.cpp Lines 352 to 357 in 4f0cab6
This comment was generated by todo based on a
|
Great PR! Please pay attention to the following items before merging: Files matching
This is an automatically generated QA checklist based on modified files |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
4f0cab6
to
cda1261
Compare
This comment has been minimized.
This comment has been minimized.
I tried to complete the viewport effect code, using a blending function with alpha = 0.08: I can get this result: While the trails are not very clear, this has the nice effect of not affecting the non moving parts of the screen, like the landscape. Should I commit in this branch? |
Yes, this looks very good for a start, thank you. I may be then able to play around with different alphas and maybe still different blending functions, and resetting the screen when view direction was changed etc. The non-affection of the landscape is very welcome! |
OK I'll commit what I have, feel free to modify it. Unfortunately the only way to keep the landscape stable is to use a blending function of the form: color = new * t + prev * (1 - t), and instead of the accumulating effect, we get something that looks more like a blur. Not sure how to improve that. The other problem here is that we apply the effect to everything, including the labels and UI, so it makes the interface clumsy. |
Thank you, it is certainly a progress. But the blur is strange, indeed. I think we can auto-hide the GUI while the effect is active, or do similar things. It's mostly a show-off effect. I wonder how alterBuffer would ever be applied in a ViewportEffect? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Bump |
Currently this leads to a white-out within seconds. We would need an fps-dependent frame decay.
Started by Georg in the previous commit. This can be enabled by setting [video] viewport_effect = viewportFaderEffect in the config file. This effect simply applies a mix of the current frame with the one before. Need to see if there is a way to improve the effect somehow.
77d1f1c
to
a4ae4b4
Compare
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Inhibit star labels Inhibit Gridlines and Nebula hints/labels Reactivate Landscape
Some modules are auto-inhibited now: gridlines, labels, planet and DSO hints, planet halos, Milky Way, Zodiacal light. Now it depends on what users expect. I would like to see landscape being replotted and NOT run into white-out, however I am unable to see an easy solution. Also, changing view direction or fov changes should re-initialize (clear) the view. This would need a few new signals. Is the overhead worth it? I cannot get @guillaumechereau 's solution to show again. :-( |
Why not just draw all the cosmic items into a separate FBO for accumulation, and blit on each frame into the main render target after rendering into this FBO? |
Sounds like a plan :-) The net view effect I envision in this mode should be "interactive foreground" (i.e. landscape should redraw well), stars should not run over the landscape (I tried several blending options, all but current looked bad), and on change of view direction, this "sky buffer" should reset to black (or background color). Dithering should be applied only to the final view (Currently it of course accumulates and looks bad as well). An extension could be that the buffer is dimmed instead of blanked, so that the star trails fade away after e.g. 10...60 seconds. If possible, gridlines or DSO markers, or even the MilkyWay/ZL could be made visible again without streaking. (I.e., not put into that "celestial" FBO. (But another FBO for MW/ZL/DSO textures/DSS/HiPS is yet another indirection, may be overkill, so IMHO it's OK to just switch them off). This all is meant to be for stronger systems. The "low graphics mode" running on memory limited systems should not be further encumbered with yet another FBO. |
Well, it's still gonna change when I split the rendering between layers to make labels etc. separate from physical objects and tone mapping.
This must always be true, since it's a conversion from full color depth to the monitor space.
What would a star streak represent if the Milky Way remains at one position? Sounds unphysical. If you want to simulate a long-exposure photo, all celestial objects should move and be smeared. Otherwise you could just as well draw the stars as lines (similar to orbits).
The low graphics mode shouldn't receive any new graphical features IMO. Only fix the existing bugs (except the ones requiring a serious rework). |
Yes, but just as code evolves, docs can evolve and later versions can supersede current docs. If somebody wants to join right now, it's super hard without some information on what goes where. (It has always been like that, though...)
Sure. Just in the current state, it accumulates, so I must switch it off.
The MW and other extended features could either continue rotating with the stars as they are newly plotted, or stop at the place when this mode was activated, or be smeared. In the last case, it must dimmed down however, or the sky will be white within seconds. Therefore I currently switch it completely off.
OK for me. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Hi, I'm looking to make an illustration with a long exposure effect of circumpolar star trails. Does this feature work in Stellarium 24.2 ? In the documentation I can only find the trail planets. Kind regards, |
Would you mind reading the first description above? This is an experiment. No, it is not available in the public release. No, it is not finished, else it would be. You are free to play with the source code to make it work. |
Georg, I did read the thread you created in 2021. I didn't know whether you had completed this experiment. Thank you for all your great work on the Stellarium project. |
Description
This little branch adds an interesting "wow" effect by not blanking frames. You can configure a keyboard shortcut to toggle this, and then render star trails.
This is totally unfinished! One problem are extended objects: Zodiacal light, Milky Way, DSO images need to be switched off first. This may be configured automatically and easy to solve.
The other problem is that the scene becomes too bright too quickly. The solution would be to not just "forget" blanking, but add a slight dimming of the scene. This should then result in an afterglow effect where star trails don't get infinitely long. Maybe the dimming can be made configurable.
Due to the nature of this method, screenshots have to be made with operating system tools, not Stellarium's own screenshot renderer.
OpenGL/Qt experts please continue on this. Change StelCore::preDraw() and implement the methods in the StelViewportFaderEffect class, or maybe directly in StelCore::preDraw().
Screenshots (if appropriate):
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: