[CREATE] assets library

Kai-Uwe Behrmann ku.b at gmx.de
Wed Sep 26 07:14:09 PDT 2007


Am 26.09.07, 14:58 +0200 schrieb Craig Bradney:

> > > 0.0 and 1.0. The other examples that I have seen so far used integers
> > > without actually defining the range of them anywhere.
> 
> The space could/would define these, and I think allowing a user to create a
> colour list in both notations is useful. Using floating point where the
> space doesnt allow for it, will also lead to rounding issues.

So, you'd mean to include the HTML/CSS3 style notations?
Hexdecimal, decimal, precent, except colour keywords, + floats
It is quickly confusing. See the following example from the css3-color 
spec:

em { color: hsla(120, 100%, 50%, 1) } /* the same, with explicit opacity of 1 */
and then
p { color: hsla(30, 100%, 50%, 0.1) }  /* very transparent solid orange */ 

For the alpha part, last number, one must know that the range of 0.0...1.0 
applies.
That would introduce a lot of guess work in the parser.
Even though, I dont have a good solution at hand.

> > Good point. We will see more value range dependent things in the future I 
> > guess, because of HDR becoming more and more popular.
> 
> Theres no reason why one space cant use decimals and another integers.. or
> even r="15" b="0.2".

Continuing my above thoughts: is r equal to 15.0? What is with g="1"?
Would it be interpreted as 1.0 or 1? Should the format force "1.0" or 
simply prohibit intermixing in one colour to enforce consitency?

> > Are the language specifics be allowed for floating point values? Or are 
> > floats always be defined to english x.x notation?
> 
> It shouldnt matter, but it will depend on the XML parser I guess.

Fine. 
 
> > 
> > Despite my lesser XML knowledge, this example would at least allow 
> > arbitrary colour channels.
> 
> Are we going to add channels to existing spaces? rgbaZ?

Would allow some nice features. As alpha is standard for www, why not use 
all channels involved for imaging applications.

> If the spaces are defined, the attributes are set.

Does it remain still flexible? Can one define user attributes to simply 
pass or used by understanding applications?
<color-profile name="sRGB">  <!-- uri not needed -->
  <color>
    <rgb r="1.6" g="1.2" b="0.8">
    <extra a="0.9173" Z="30592.4" u="0.6029" v="-0.3982">
    <name="Evening Wall 2">
  </color>
</color-profile>

I am not shure if for instance blender would use such things. 
Is this still validatable, except of course for the <extra ..> part?

> > How about alpha? I can't think a colour without it. Some applications want
> 
> 
> 
> 
> > An other idea for a newly created format is to use the ICC colour space 
> > signatures. They are already defined and widely used (big endian 
> > notation taken from icc34.h distributed with littleCMS):
> >     icSigXYZData                        = 0x58595A20L,  /* 'XYZ ' */
> >     icSigLabData                        = 0x4C616220L,  /* 'Lab ' */
> >     icSigLuvData                        = 0x4C757620L,  /* 'Luv ' */
> 
> Nothing wrong with this per se, however, ... no user is going to read that
> with any comfort.

Oh, you think of the 0x4C616220L part? :-) It was probably a bit unclear.
I refered to the last letters inside the /* 'xxxx' */ comment.
You used youself allready 
    icSigRgbData                        = 0x52474220L,  /* 'RGB ' */
in:
<color space="rgb" r="1" g="2" ...   
ok, lowercase.


kind regards
Kai-Uwe Behrmann
--
developing for colour management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org



More information about the CREATE mailing list