Whilst I've thought about this a couple of times, I only thought about
it very briefly
because it spans so much .. and is a lot of work as you lay out, and we
have other
projects like Wakefield for example. And as for D3D, I am not sure how
we can even
address HDR without upgrading our D3D pipeline to DX12 .. which in itself is
something that is a higher priority - DX 9 is ancient and doesn't
support it.
And the number of customer requests to date is zero.
BRGA seems like something that we'd currently handle as a custom image
format.
Is there a use case for this ?
We'd also have to consider that we ought to be looking at it for FX too ..
-phil.
On 1/26/23 2:10 AM, Laurent Bourgès wrote:
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