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

Public TODO list #10

Open
41 of 74 tasks
EndlesslyFlowering opened this issue Oct 13, 2023 · 11 comments
Open
41 of 74 tasks

Public TODO list #10

EndlesslyFlowering opened this issue Oct 13, 2023 · 11 comments
Assignees

Comments

@EndlesslyFlowering
Copy link
Owner

EndlesslyFlowering commented Oct 13, 2023

overall:

  • add guides for every shader
    • hdr_analysis
    • tone_mapping
    • inverse_tone_mapping
    • scrgb_trc_fix
    • hdr_black_floor_fix
  • add test shader
  • add gamut expansion shader
    • add it to tone mapping and inverse tone mapping shaders

colour_space:

  • clean up after the asfloat changes (some namespaces aren't needed anymore)

hdr_and_sdr_analysis:

  • add detection of the ReShade version and error out if it's too old
  • redo font atlas texture
    • add font sizes down to 13
  • add CIE diagram textures that are 50% in size (for Steam Deck)
  • create the following textures on the fly:
    • waveform scale
      • needs additional font atlas (squeeze it into the other font atlas)
    • heatmap scale
    • colour space scale
  • add auto detection for the size of all analysis elements (font, CIE diagram, histogram, etc)
  • show cursorCLL and cursorCSP at cursor position
  • add back RGB values from cursor
  • add back a few more digits for maxCLL (2?), avgCLL (1?), minCLL (1) and cursorCLL (1)
  • improve consistency of updating the CLL and CSP values for the overlay
  • add active area setting
    • add toggle for active area setting
  • pull out all analysis techniques into single files because it's too cluttered
  • find a better way to ignore values near black for the csp detection
    • compare source against conversion to the test CSP maybe? will not be "fixed"
  • disabling some features breaks some visualisation features
    • csp map doesn't work without csp percentages for example
  • properly blend below overlayed elements
  • improve vertex shader for clearing the brightness histogram with barebones Vertex shader?
  • add namespace for UI
  • add separate pixel/compute shader for combining the colour space outlines?
  • fix CIE 1931 diagram texture offset (forgot to change something the last time I recreated the textures)
  • consolidate the CIE diagram textures
  • remove "DISPATCH_DOESNT_OVERFLOW"
  • use atomic ops for max/avg/minCLL and other compute shaders
  • use direct conversion from source csp (scRGB or HDR10) to test csp for colour space detection instead of converting to XYZ first and then to the test csp
  • add SDR analysis
    • add text indicator for what analysis is active (SDR 2.2/2.4/sRGB, HDR10, scRGB HDR)
  • add vertex+pixel shaders specifically for drawing parts of the overlay not worth to do performance wise
  • add vertex+pixel shader for drawing the histogram into the scale and one for the max nits and min nits line (maybe needs workarounds...) not worth to do performance wise

colour_space:

  • rewrite extended transfer/gamma functions with abs
    • needs performance testing (up to 0.003 ms improvement depending on GPU load)
  • make "template" for PQ<->Linear in the hopes of getting vectorisation
    • needs performance testing
  • look into other functions that might be "templateable"

filmgrain:

  • use "asfloat" for all float variables
  • implement vertex shader for optimisation not worth to do
  • add namespace for UI

hdr_black_floor_fix:

  • add chroma adjustment from BT.2390 too? maybe as option only
    • I think I already tried this and it caused issues
  • use BT.709<->LMS matrices instead of BT.2020<->LMS matrices if possible
    • needs performance testing (microscopic improvement)
  • add option to do the SDR black floor emulation just on black levels
  • add branching to only do the minimum needed conversions

map_sdr_into_hdr:

  • add namespace for UI

inverse_tone_mapping:

tone_mapping:

  • add ability to highlight tone mapped pixels
  • add ST-2094-10 tone mapper (HDR10+)
  • add ST-2094-40 tone mapper (HDR10+)
  • add black point adaption for every tone mapper
  • do maxCLL calc in quarter res? and with atomic ops
  • remove excessive checks for colour space setup (now each tmo does the needed conversions)
  • add option to do BT.2446A as post adjustment of BT.2390/Dice
  • use BT.709 RGB->LMS matrix instead of rotating into BT.2020?
    • needs performance testing
  • make Dice use the same knee function as BT.2390?
  • put oneMinusKneeStart into the vertex shader?
  • LUT based tone mapping
    • look into perceptual scaling in LUTs (these are called shaper LUTs)
@EndlesslyFlowering EndlesslyFlowering self-assigned this Oct 13, 2023
@EndlesslyFlowering EndlesslyFlowering pinned this issue Oct 24, 2023
@ABDX80
Copy link

ABDX80 commented Dec 22, 2023

Are we still getting some Test Patterns to fine tune the shaders?

P.S. Phenomenal Mod.

@EndlesslyFlowering
Copy link
Owner Author

P.S. Phenomenal Mod.

thanks! :)

Are we still getting some Test Patterns to fine tune the shaders?

not sure what you mean exactly?

@ABDX80
Copy link

ABDX80 commented Dec 26, 2023

The 'Test Patterns' you mentioned on "Plasma TV for Gaming" YT channel.
Test Patterns that we could use in-game to fine tune HDR properly. For black levels, highlights etc...
@EndlesslyFlowering

@EndlesslyFlowering
Copy link
Owner Author

The 'Test Patterns' you mentioned on "Plasma TV for Gaming" YT channel. Test Patterns that we could use in-game to fine tune HDR properly. For black levels, highlights etc... @EndlesslyFlowering

Ah that.
After I finish all the Steam Deck related stuff I can expose it (it's basically done :) )

@ABDX80
Copy link

ABDX80 commented Jan 2, 2024

Hello again!
Could you please add the functionality so that the HDR Analysis tool works for Windows 11 AutoHDR.
This'll help a lot. Since AutoHDR even have raised black levels.
@EndlesslyFlowering

@EndlesslyFlowering
Copy link
Owner Author

Hello again! Could you please add the functionality so that the HDR Analysis tool works for Windows 11 AutoHDR. This'll help a lot. Since AutoHDR even have raised black levels. @EndlesslyFlowering

Impossible.

@dakerano66
Copy link

dakerano66 commented May 19, 2024

@EndlesslyFlowering I would like to know what is SDR TRC fix. Something would be wrong if I use it on HDR?

I am using it on HDR because seems to fix the black floor automatically

Also, what is input lower gamma? If I enable my tv's black frame insertion which dimms the picture I could increase this value to get as bright as it was without bfi. Doing so, the perfect black does not change, the color clipping and white clipping seems correct, but I am unsure if it is washing out the picture or crashing midtones, or something. I dont know which test patern should I use as reference to check for that. HDR analisis tool cant be used as reference, because the spectrum does not change when enabling BFI altought the picture is obvioulsy darker (means blacks and midtones spectrum should be lower, but it is not reflected)

Thank you for your work.

@EndlesslyFlowering
Copy link
Owner Author

EndlesslyFlowering commented May 22, 2024

@EndlesslyFlowering I would like to know what is SDR TRC fix. Something would be wrong if I use it on HDR?

I am using it on HDR because seems to fix the black floor automatically

it's in the naming: SDR only

Also, what is input lower gamma?

I assume you mean "input power gamma":
you can choose between sRGB and power gamma, sRGB is not really a gamma but it simplifies usage of the terms. 2.2, 2.4 or 2.6 are all "power gammas" as in x to the power of 2.2 or 2.4 (x^2.2). 2.2, 2.4 and 2.6 are values that are used in real world contexts, the shader allows for whatever value you want though.

If I enable my tv's black frame insertion which dimms the picture I could increase this value to get as bright as it was without bfi. Doing so, the perfect black does not change, the color clipping and white clipping seems correct, but I am unsure if it is washing out the picture or crashing midtones, or something. I dont know which test patern should I use as reference to check for that. HDR analisis tool cant be used as reference, because the spectrum does not change when enabling BFI altought the picture is obvioulsy darker (means blacks and midtones spectrum should be lower, but it is not reflected)

I guess you are looking for gamma adjustment of the lower range?
I am planning on creating such a shader in the future (no estimates).
SDR TRC fix is definitely the wrong one for this.

@aron7awol
Copy link

aron7awol commented Jun 1, 2024

I see "add back RGB values from cursor" marked as completed on the hdr_and_sdr_analysis list, but as far as I can tell this functionality to show the RGB values of the cursor does not currently exist? Did it exist in an older version?

@EndlesslyFlowering
Copy link
Owner Author

I see "add back RGB values from cursor" marked as completed on the hdr_and_sdr_analysis list, but as far as I can tell this functionality to show the RGB values of the cursor does not currently exist? Did it exist in an older version?

when something is marked as completed here, it's pushed to the github master. which does not mean that there is a release yet.

in this case there is a pre-release

@ABDX80
Copy link

ABDX80 commented Jul 27, 2024

Greetings,

Is the 'roll off stopping point' in black floor lowering shader's functionality altered?
In earlier versions, the default value was '10.0nits' I'd loved using it on 1.0nit. It would work brilliantly.
But now with newer version of this shader, if I choose 1.0 or 10.0nits the screen goes completely dark?
I have to now use either 1000.0nits or 10000.0nits why is that?

A brief explanation will help a lot on how to use it properly.

Thanks!
@EndlesslyFlowering

Repository owner locked and limited conversation to collaborators Aug 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants