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

Cross-platform HDR support #1004

Closed
romulasry opened this issue Jun 3, 2020 · 11 comments
Closed

Cross-platform HDR support #1004

romulasry opened this issue Jun 3, 2020 · 11 comments

Comments

@romulasry
Copy link

HDR support would be nice to have in the near future.

@romulasry romulasry changed the title Cross-platform hdr support Cross-platform HDR support Jun 3, 2020
@fire
Copy link
Member

fire commented Jun 3, 2020

I want this as a feature, but please fill out the form and I'll or someone else on the team will reopen.

@romulasry
Copy link
Author

romulasry commented Jun 4, 2020

Describe the project you are working on:
HDR Support

Describe the problem or limitation you are having in your project:
No HDR Support

Describe the feature / enhancement and how it helps to overcome the problem or limitation:
Allows HDR content in the engine

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
HDR supporrt / on each platform, etc

If this enhancement will not be used often, can it be worked around with a few lines of script?:
Don't know.

Is there a reason why this should be core and not an add-on in the asset library?:
In the future most platforms should support it out of the box. I don't see why you wouldn't want it in the engine.

@romulasry
Copy link
Author

@fire @Calinou Could you reopen it now?

@clayjohn
Copy link
Member

clayjohn commented Jun 4, 2020

@romulasry I'm sorry but you will have to seriously fill in the template for your proposal to be reopened. Putting words under each headline is not enough.

If you can't take your proposal seriously enough to put in the effort, then why should anyone else take your proposal seriously enough to discuss it/ implement it?

If you are having trouble understanding what the questions expect from you, please ask and someone will be happy to clarify.

@fire
Copy link
Member

fire commented Jun 5, 2020

I think this is a duplicate of #903.

Translate High Gamut to HDR.

Edited:
Typo

@Calinou
Copy link
Member

Calinou commented Jun 5, 2020

@fire There are some differences between color profile management and HDR output support. These features require working on different parts of the engine to be implemented.

@fire
Copy link
Member

fire commented Jun 5, 2020

From talking to some Blender people, they were saying there's two possible flows.

Work In Progress

Render to some high gamut format (currently 4.0 master is undefined) -> engine tone-mapping OpencolorIO ACES-HDR -> ACES->SDR -> Game configured tone-mapping -> monitor SRGB color space

Render to some high gamut format (currently 4.0 master is undefined) -> engine tone-mapping OpencolorIO ACES-HDR -> Game configured tone-mapping -> HDR10 (monitor hdr)

Has pr for 3.2 SRGB -> Monitor

Render to some high gamut format (currently 4.0 master is undefined) -> engine tone-mapping littlecms dci-d3 -> Game configured tone-mapping (This option was mentioned as unsupported) -> HDR10 (monitor hdr)

Render to some high gamut format (currently 4.0 master is undefined) -> engine tone-mapping littlecms dci-d3 -> Game configured tone-mapping (This option was mentioned as unsupported) -> SRGB (monitor sdr)

Summary

A Blender person mentioned that EA's Frostbite has a technique for having the internal format to stay as ACES-HDR and not break when one converts from wide gamut to sdr. However, he mentioned ACES has problems. I suggested littlecm's workflow but he didn't know.

https://www.youtube.com/watch?v=7z_EIjNG0pQ

Please explain how this is different?

Reference:

https://chrisbrejon.com/

https://docs.google.com/presentation/d/1oN3jJxUmdSXnzISzYiJYz9EML-SROhf3Ef5KC0Eyig8/edit?usp=sharing

@MickL
Copy link

MickL commented Nov 2, 2021

I am sorry for commenting on an old issue but I am very curious about HDR. The docs say: "Godot does not support high dynamic range output yet.". Is this still up to date or will it change with Godot 4.x? I didnt find any informations or open issues to that topic.

Personally I would be very much interested to publish my game(s) in HDR: Nearly each TV now supports HDR10+ or Dolby Vision. More and more other devices also use OLED or Mini-LED screens, e.g. iPhone (OLED) iPad Pro (Mini LED), Macbook Pro (Mini LED), Nintendo Switch OLED.

@mhilbrunner
Copy link
Member

That is AFAIK still correct for Godot 4.

@Calinou
Copy link
Member

Calinou commented Nov 2, 2021

The docs say: "Godot does not support high dynamic range output yet.". Is this still up to date or will it change with Godot 4.x? I didnt find any informations or open issues to that topic.

HDR output support isn't planned for 4.0, but for a future 4.x release instead. None of the rendering contributors have access to HDR monitors, and contributors who do have access to such monitors generally don't have the required platform API knowledge to implement HDR output support.

Godot already performs rendering in HDR internally, but using the OS APIs to create an HDR output window isn't a simple task – especially when multi-platform support is involved. Linux support in particular is still in a poor state right now, so this feature may be limited to Windows and/or macOS at first when it's implemented in Godot.

@MickL
Copy link

MickL commented Nov 2, 2021

OLED HDR TV's are not much expensive anymore. I am already a Patron but might be willing in sponsoring a tv/display if a rendering contributor really does not have access to one. IMO the value of HDR is incredibly high and with the increasing amount of high contrast displays it could also reach a lot of people of all different platforms.

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

No branches or pull requests

7 participants