-
Notifications
You must be signed in to change notification settings - Fork 10
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
Any estimate on when the source implementation will be out ? #5
Comments
Ohai! I'm glad that you like Tony :D Regarding the source code... I don't have a timeline for that just yet, but I also don't suppose it would necessarily change much for you. The LUT version is what you'd likely want to use anyway -- unless of course you fancy integrating a dozen header files of utils, and the very slow shader code used for the LUT derivation 😅 But if that's the case anyway, I'd be curious to hear why! FWIW Tony is based on https://github.com/h3r2tic/notorious6/blob/main/shaders/inc/display_transform.hlsl, with a bunch of fixes and tweaks, and just like the display transform in There's one element that's I'm particularly unsatisfied with, and that's a custom Helmholtz-Kohlrausch approximation, which is currently a crappy Catmull-Rom fit-on-top-of-a-fit -- Tony has a variant of this code. To clean it up, I need to first construct a bit of an app to let me eyeball equivalent luminance for a bunch of colors, then gather more samples, document the process, and make a better LUT... sort of in the spirit of "G0 Revisited as Equally Bright Reference Boundary". |
Thank you for the links, I had noticed some of that stuff already in some updates of Kajiya but I didn't had the courage to look into it yet. As for why:
|
I'm in a pretty weird/rare situation where I don't have c++ access to bind a texture to my shader, so I'm unable to use a 3D Lut. So I would be interested in trying my hand at doing a source-code level integration (if possible). |
Can you perhaps bind a 2D texture with the depth slices side-by side? You really wouldn't want to be using the generator code directly 😅 |
I can't even bind a 2D textures. Hopefully that approach works, but if not, I'm not really sure what other approach I can take. I was hoping that maybe I can do some amount of approximation to speed up the generator if it is that slow. |
To get it working with my setup, I ended up training a neural network to memorize a compressed representation of the LUT, and then converted the neural network to a shader. It's a suboptimal & complex approach, but I was able to get it working and see what it looks like in engine. I was really impressed by just how well it works! I would really like to perform a better integration, because at the moment I am running into a lot of difficulties. I'm worried that I might be distracting from the main topic of this issue. Thanks! |
Is there still a plan to release the full source code? It would be also useful to expand the tonemapper to use different color space and ranges (e.g. HDR output support), and increase the quality of the LUT, given it's just 16px now. |
Hi,
I really like Tony McMapface, it has a really great behavior and I have it currently integrated in my engine. However I'm starting to want to combine some effects (notably LUT based color grading) with it.
So I was wondering @h3r2tic if you had an estimate on when you plan to provide the source code implementation ? This would also make its adoption easier. ;)
The text was updated successfully, but these errors were encountered: