[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: transparency -- conceptual recommendations
Hi All -- Here is my analysis of the transparency functionality in WebCGM. I have summarized the possible sources, given recommendations, and proposed preliminary *conceptual* changes to the spec. After we agree on those, I'll actually draft the changes. Sorry if it is lengthy. But we need it to be complete. High-level summary: the 2.0 spec is in pretty good shape, though lacking clarity on a couple of items. I propose some small changes that will fill those holes. (Recognizing that these specs go beyond what most will implement.) And I propose ignoring or labelling some silly combinations. Please comment... SOURCES: ===== Foreground Sources: f1.) "a" (alpha) of color models RGBa, sRGBa. f2.) Esc.45 in picture body. f3.) Auxiliary Color & Transparency elements (CGM:1999) f4.) Transparent cell color (CGM:1999 & Esc.22). Background Sources: b1.) RGB background color specification in PD: b2.) RGBa background color specification in PD: b3.) Esc.45 in the picture descriptor: b4.) <object> elt's 'background' <param>: enable | disable ANALYSIS & RECOMMENDATIONS: ===== A.) The basics of #f1 and #f2 are handled by Sec.2.2.2 [1]. B.) #f3 is V1 functionality. Effect is not explicitly defined in WebCGM combinations with the other transparency effects. Recommended meaning: when Transparency is 'on' (default), then for the inter-dash spaces (etc) the (Pr, Pg, Pb, Pa) in the equations of [1] is set to (0,0,0,0) -- transparent black. When transparency is 'off', then for inter-dash spaces (etc) the (Pr, Pg, Pb, Pa) is set to (r,g,b,a) of the Transparent Color. (If the color model of the metafile is simple RGB, then (Pr, Pg, Pb, Pa) it is set to (r,g,b,1).) This is simply a precise description of the intended meaning of V1 CGM, I think. C.) #f4 is V1/V3 functionality. Effect is not explicitly defined in WebCGM combinations with the other transparency effects. Recommended meaning: for any cell whose color matches the specified TCC, the (Pr, Pg, Pb, Pa) for that cell in the equations of [1] is set to (0,0,0,0) -- transparent black. This is simply a precise description of the intended meaning of V1/V3 CGM, I think. D.) #b1: Ca in the equations of [1] should be initialized to 0 (opaque); Cr, Cg, Cb are initialized to the (r,g,b) of the specified background color. E.) #b2: (Cr, Cg, Cb, Ca) in the equations of [1] should be initialized to the (r,g,b,a) of the specified background color. F.) #b3: If the color model is RGB, then (Cr, Cg, Cb, Ca) in the equations of [1] should be initialized to the (r,g,b,a), where (r,g,b) is the specified background color and "a" is the Esc.45 alpha value. If the color model is RGBa, then ... silly combination ... why would you have an RGBa specified background color in the PD and then throw in an Esc.45 element to (re)do what is already done by the "a" of RGBa? DON'T DO THIS. G.) #b4: After initializing (Cr, Cg, Cb, Ca) according to the contents of the metafile (#D-F), then: if 'enable', we're done; if 'disable', then replace Ca with 0.0. PROPOSED CHANGES TO SPEC -- CONCEPTUAL: ===== Sec.2.2.2 [1] is well-written and provides a foundation for all of this, without much change. -- clarify #B by a "Note" in T.18.3 and in T.18.4 [6] that describes as in #B and points back to Sec.2.2.2 [1]. -- clarify #C by a "Note" in T.18.16 [5] that describes as in #C and points back to Sec.2.2.2 [1]. -- clarify #D-F by: *brief* elaboration in Sec.2.2.3 [2] about how #b1-b3 define the effective background color, which initializes (Cr,Cg,Cb,Ca) of Sec.2.2.2. This is basically what is already there, except being a little more precise and complete. Ignore the "silly" case. (Or alternatively, identify it as a silly thing to do and warn?) REFERENCES: ===== [1] Sec. 2.2.2: http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Concepts.html#webcgm_2_2_2 [2] Sec. 2.2.3: http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Concepts.html#webcgm_2_2_3 [3] Esc.45: http://jitc.fhu.disa.mil/nitf/graph_reg/diagrams/esc045.html [4] Sec. 3.4: http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-IC.html#webcgm_3_4 [5] TCC in T.18.16: http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Profile.html#webcgm_4_7 [6] AuxClr & Trnsp in T.18.3 & T.18.4: http://docs.oasis-open.org/webcgm/v2.0/OS/WebCGM20-Profile.html#webcgm_4_7 Regards, -Lofton.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]