Intensity Textures

New Message Reply Date view Thread view Subject view Author view

From: ramey (ramey++at++de-solutions.com)
Date: 01/31/2000 10:02:03


Does anyone know how to get Intensity textures to work in performer?

I am going out of my mind as performer (as best I can tell) is useing a
GL_LUMINANCE texture here and this is NOT what I want. The image is
showing up right(it is simmply 255 or 0 based on whether something
should be drawn or not, but I want the 0s to be clear).

tex->setImage((uint*)m_image,1,128,128,0);
tex->setFormat(PFTEX_INTERNAL_FORMAT,PFTEX_I_8);
tex->setFormat(PFTEX_EXTERNAL_FORMAT,PFTEX_PACK_8);

tev->setMode(PFTE_MODULATE);

gState->setMode(PFSTATE_TRANSPARENCY,PF_ON);
gState->setMode(PFSTATE_ENTEXTURE,PF_ON);
gState->setMode(PFSTATE_ALPHAFUNC,PF_ON);
gState->setMode(PFSTATE_ALPHAFUNC,PFAF_GREATER);
gState->setVal(PFSTATE_ALPHAREF,0.5f);
gState->setAttr(PFSTATE_TEXTURE,tex);
gState->setAttr(PFSTATE_TEXENV,tev);

where image came from:

register int Idx;
register unsigned char bitmask;
for(int row=0;row<8;++row){
    for(int letterRow=0;letterRow<13;++letterRow){
        for(int col =0;col<12;++col){
            bitmask = 128;
            for(int bit=1;bit<9;++bit){ // bit will cause each letter to
be padded by one blank on each side
              Idx = bit+col*10+letterRow*128+row*13*128;
              if(rasters[row*12+col][letterRow] & bitmask) m_image[Idx]
= 255;
              bitmask /=2;
            }
        }
   }
}

GLubyte rasters[][13] = {
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00}, // space
{0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18}, // !
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36,
0x36}, // "
        ect
        ect
        ect

-- 
"Haven't you heard? We come in six packs now." -Zaphod Beeblebrox
Larry E. Ramey
ramey++at++de-solutions.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 09:56:49 PST

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