30-bit displaying with Krita?
Dmitry Kazakov
dimula73 at gmail.com
Wed Dec 23 16:40:34 CET 2009
KisPainterCanvas uses 8-bit either. Speaking truly i can't imagine the case
where one can see any difference in colors between 16/8-bit depth on regular
monitor. As far as i remember DVI-standard uses "up to 24-bit"
representation, so 16-bit won't help anyway ;)
Could you publish the test, please?
Maybe you mean "stripes" on gradients, don't you?
If so, the problem is a bit worse, than just "16-bit" canvas. As it might
not help. Most of the editors, afaik, uses "dithering" during conversion
from 16-bit to 8-bit. They add a special noise to the image to hide this
stripes (at least Photoshop does).
I'm not sure Krita has this ability... (Cyrille, ping!)
On Wed, Dec 23, 2009 at 6:02 PM, Boudewijn Rempt <boud at valdyas.org> wrote:
> On Wed, 23 Dec 2009, Kai-Uwe Behrmann wrote:
>
> > In Krita 2.0.2 on xf86_64 Linux image displaying appears to be limited to
> > 8-bit per channel even with OpenGL switched on. The source material
> > is a 16-bit/3-channels gray gradient Tiff file. But the display output
> > looks like 8-bit. Kritas colour picker shows fine differences on a pixel
> > level. So loading appears to be correct. However the Krita display showes
> > lesser differences. Does Krita display its data in OpenGL as
> > GL_RGB16/GL_UNSIGNED_SHORT?
> >
> > Any otheridea why Krita gives only 8-bit output?
> >
>
> Adrian Page is the person who can answer this most authoritatively, but I
> think
> that Krita always uses 8 bits rgb textures, unless the colorspace is
> RGBAF16HALF,
> and I think that that colorspace has been removed in favour of the
> openctl-based
> colorspaces, so the following lines in Krita are in error:
>
> ./krita/ui/opengl/kis_opengl_image_textures.cpp: if
> (m_image->colorSpace()->id() == "RGBAF16HALF") {
> ./krita/ui/opengl/kis_opengl_image_textures.cpp: if (colorSpaceId ==
> "RGBAF16HALF") {
> ./krita/ui/opengl/kis_opengl_image_textures.cpp: if (colorSpaceId ==
> "RGBAF16HALF") {
> ./krita/plugins/formats/tiff/kis_tiff_writer_visitor.cpp: if
> (KoID(cs->id()) == KoID("RGBAF16HALF") || KoID(cs->id()) == KoID("RGBAF32"))
>
> 16 bits integer colorspaces are downsampled to 8 bits for display in opengl
> as well.
> I never realized this issue, maybe because I only have laptops and those
> have very
> crappy displays :-(.
>
> > In my tests a small test OpenGL viewer shows the rendering in 30-bit
> > display mode ("RGB weight 101010") different from Krita and very smooth
> as
> > expected.
>
> The relevant code is in krita/ui/opengl and definitely needs a bit of
> maintenance.
>
> Boudewijn
>
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>
--
Dmitry Kazakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20091223/3e355264/attachment.htm
More information about the kimageshop
mailing list