Enhancing java2d Image classes & pipelines to support HDR (10b) or 16bits RGBA

Laurent Bourgès bourges.laurent at gmail.com
Thu Jan 26 10:10:43 UTC 2023


Hi,

I would like enhancing Java Image classes (awt / java2D) to support
natively new image types with their use cases:
- BGRA (inverse RGBA) with both byte, integer & PREMUL variants (4x8bits),
as supported by skia, metal, vulkan apis
- 10 or 16 bits per RGBA component to support HDR or 64bits images like
R10G10B10A2 or R16G16B16A16, as supported by skia, metal, vulkan apis but
also by PNG & TIFF file formats

It represents a lot of work:
- CSR to define new BufferedImageType, Image API changes to deal with short
/ long values (rgba 48 or 64bits)
- fix native software loops (macros)
- fix DirectX, OpenGL, XRender, Metal pipelines for accelerated Surface

Ideally such image handling requires to handle properly gamma correction &
colorspaces (linear RGBA or perceptual sRGB, P3...) but it is maybe another
topic !

Comments are welcome & potential use cases too,

Thanks,
Laurent
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20230126/e7413b58/attachment.htm>


More information about the client-libs-dev mailing list