Re: looking thru a filter len

New Message Reply Date view Thread view Subject view Author view

Mario Veraart (rioj7++at++fel.tno.nl)
Wed, 3 Dec 1997 11:25:44 +0100 (MET)


> I have asked this question before but didn't get what we want...
> Our application has 8 channels, one of them will have a
> yellow(red, green and black) color filtering len.
>
> (1) Someone suggested using glColorMask which will turn off
> R,G,B color bit(s), this result doesn't mimic the filtering
> effect.
> (2) I tried to draw transparent polygon in front of the view but
> then some other channels will see this polygon as well, since
> four of the channels have the same view position.
> (3) I also tried "glPixelTransfer*" and did some color scale effect
> in channel drawing callback. This one seems ok, but the color
> of sky didn't change, which is OK because I can change ESky.
> However, all other channels were affected.
>
> So my question is: is there any way I can do "glPixelTransfer*"
> to one channel without discoloring other channels? Or there is
> other better way to do this task?
>
> The following is the code segment in my drawing callback:
>
> pfPushState();
> glPushMatrix();
> glMatrixMode(GL_COLOR);
> glPixelTransferi(GL_RED_SCALE, 2.0);
>
> pfCleanChan(chan);
> pfDraw();
>
> glPopMatrix();
> pfPopState();
> ....
>
> --
> Charlie H. Chang E-mail: a00chc00++at++nchc.gov.tw

What you can try is draw a coloured transparent square in de HUD
routine of the channel draw callback. Use BLEND_ALPHA instead of
multisample.

Mario
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:19 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.