I agree with Florian that 8-bit sRGB is not a substitute for linear 10-bit, for a variety of reasons. We could spend a very long time discussing & debating the need for > 8-bits per channel, but let's just assume for a moment it is necessary, and the question is how to achieve this via a browser?
Regarding challenge of getting 10-10-10 backbuffer to the screen, the challenge is really only in copying it into the desktop framebuffer -- which I don't think is really a challenge at all. If the browser were to allocate the backbuffer as 30-bit (a trivial change), and if it were to use a HW accelerated path to directly present that backbuffer (this is already the case), then the graphics drivers and hardware should already be handling the appropriate format conversions. As I mentioned, AMD, nVidia & others already provide solutions today for sending 30-bit content to the screen. In my opinion, the only missing link is in the WebGL spec, and the browser.
Florian, I'm not sure I understood your question about existing extensions. As far as I know, I don't need any particular extension to use 10bpc & higher texture formats in OpenGL 3.0. For OpenGL ES 2.0, I believe the following extensions provide the formats I'm looking for: GL_UNSIGNED_INT_2_10_10_10_REV_EXT and GL_EXT_texture_storage. Perhaps inventing a WebGL version of these extensions would be a step in the right direction?
On Tue, Sep 18, 2012 at 1:20 AM, Florian Bösch < email@example.com
On Tue, Sep 18, 2012 at 7:34 AM, Mark Callow < firstname.lastname@example.org
Converting a RGB 10_10_10 image to 8-bit sRGB before displaying on the screen is a reasonable solution. The wider formats are used to permit computations in physically linear space without introducing as many artifacts as 8-bit. All the information discernable by the human visual system that is contained in 10-bit physically-linear images can be displayed by an 8-bit sRGB perceptually-linear encoding.
Medical imaging unfortunately applies somewhat more stringent requirements than "perceptability" or "looks pretty enough". And not only for reasons of a high-sense of correctness. If a doctor is using a pipeline that's tampering with the produced colors and I'm sure there's some arcane medical standard for this, they become open to liability trough malpractise.