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

Dither to adress color banding #608

Open
markanini opened this issue Aug 15, 2024 · 2 comments
Open

Dither to adress color banding #608

markanini opened this issue Aug 15, 2024 · 2 comments

Comments

@markanini
Copy link

markanini commented Aug 15, 2024

Maybe this is a naive request, but can we have dither? Apparently TDM added it at one point, maybe somethign similar in Dhewm3 would improve banding in semi-dark scenes, like in the attached video clip.

TDM reference 1. https://www.moddb.com/news/the-dark-mod-212-is-here Ctrl+F "dither". 2. https://github.com/search?q=repo%3Afholger%2Fthedarkmod+dither&type=commits Hopefully these links give some ideas.

Dhewm3.2024.08.15.-.02.09.09.01.mp4
@DanielGibson
Copy link
Member

I don't think so.
Porting soft particles from TDM 2.04 was doable because at that point their renderer was still more similar to the original Doom3 renderer, but this would most probably be harder.
(Also, even porting soft particles turned out a lot more work than I originally though, so I'm fed up with graphics features for now. However, if anyone else wants to do this, I'd merge the code if it's ok)

However, Sikkmod has some kind of Dither feature, maybe that works well enough for your needs (I haven't tried it).

@nbohr1more
Copy link

We ( TDM ) have a 64-bit FBO so banding was already significantly reduced when 64-bit color was introduced in v2.08.

Dithering was added due to the scrutiny over our God-ray design and seeing that the fog was significantly worse looking than our God-rays which had dithering. I guess I should try reducing to 32-bit FBO and toggling postprocess dither on and off to see what that looks like.

Vanilla Doom 3 uses texture generation instead of FBO but I'm not sure you can do 64-bit texture generation via OpenGL 2.x \ ARB pipelines. Yes, dither could be a postprocess shader but that just adds another fillrate heavy step to an engine that is already suffering from extreme fillrate requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants