[info-performer] Texture problems

New Message Reply Date view Thread view Subject view Author view

From: Larry E. Ramey (hydrajak++at++yahoo.com)
Date: 08/26/2002 09:21:12


Hello,

I have some suprising results attempting to apply
large textures to objects.

My program is forked APP-CULL-DRAW and we also forked
DBASE. (ISEC is still done in APP)

We have 3 machines that we can test on. I have include
d hinv and gfxinfo at the tail end of this email.

I can compile on machine #1 (2.2) or #2 (2.4).

I have an 8192x4096x1 3 compenent RGB file I am
attempting to use as a texture. When I build on
machine #1 I can run on #1 and I see my texture.
HOWEVER, machine #2 and #3 show the polygon WITHOUT
the texture. (whatever color I choose for the
vertexes) It is clear that they are attempting to LOAD
the texture as the program freezes for a while, but
nothing ever renders.

If I build on machine #2 niether Machine #2 or #3 can
veiw the texture. (#1 can't run a 2.4 executable)

I am not too suprised that Machine #2 can't view it,
since this texture is larger than 64MB, but machine 3
has 4 256M RM10s, certainly enough space.

here is my code:

  pfTexture* tex = new pfTexture;
  pfTexEnv* tev = new pfTexEnv;
  assert(tex && tev);

  switch (ts->m_texMode){
  case BLEND:
    tev->setMode(PFTE_BLEND);
    break;
  case DECAL:
    tev->setMode(PFTE_DECAL);
    break;
  case MODULATE:
    tev->setMode(PFTE_MODULATE);
    break;
  case REPLACE:
    tev->setMode(PFTE_REPLACE);
    break;
  default:
    cerr<<"we do not support anything but
decal,modulate,blend, and replace style in
textures\n"<< endl;
    assert(false);
  }
  if(!tex->loadFile(ts->m_imageName.data())){
    cerr<<"Unrecoverable error reading texture file: "
        <<ts->m_imageName.data()<<endl;
    assert(false);
  }
  tex->setRepeat(PFTEX_WRAP,PFTEX_CLAMP);

  uint* dummy;
  int numChannels;
  int nS,nT,nR;

  tex->getImage(&dummy,&numChannels,&nS,&nT,&nR);

  cout<<"Texinfo: "<<numChannels<<" "<<nS<<" "<<nT<<"
"<<nR<<" "<<endl;

  
  if(numChannels == 3){
    tex->setFormat(PFTEX_INTERNAL_FORMAT,PFTEX_RGB_8);
  }else if(numChannels ==4){
   
tex->setFormat(PFTEX_INTERNAL_FORMAT,PFTEX_RGBA_8);
  }else{
    cerr<<"Critcal failure in image file. Must be 3 or
4 components"<<endl;
    assert(false);
  }
  pfGeoState* gState =
new(PerformerAdapter::Instance().m_pfARENA)
pfGeoState;
  gState->setMode(PFSTATE_ENTEXTURE, PF_ON);
  gState->setAttr(PFSTATE_TEXTURE, tex);
  gState->setAttr(PFSTATE_TEXENV,tev);
  

When the program runs this is printed out:

Texinfo: 3 8192 4096 1

This is correct for my texture.

So I am really at a loss to explain this except that
something changed between releases of the operating
system that I don't understand.

#1:

4 195 MHZ IP27 Processors
CPU: MIPS R10000 Processor Chip Revision: 2.6
FPU: MIPS R10010 Floating Point Chip Revision: 2.6
Graphics board 0 is "KONAL" graphics.
        Managed (":0.0") 1280x1024
        Display has 8 channels
        4 GEs (of 4), occmask = 0x0f
        4MB external BEF ram, 32bit path
        2 RM7 boards (of 2) 1/1/0/0
        Texture Memory: 64MB/64MB/-/-
        Large pixel depth
        32K cmap, 64K external gamma
        Channel 0:
        Origin = (0,0)
        Video Output: 1280 pixels, 1024 lines, 72.00Hz
(1280x1024_72.vfo)

uname -R
6.5 6.5.10f
Performer 2.2 is installed.

Machine #2:

2 250 MHZ IP27 Processors
CPU: MIPS R10000 Processor Chip Revision: 3.4
FPU: MIPS R10010 Floating Point Chip Revision: 3.4
Graphics board 0 is "KONAL" graphics.
        Managed (":0.0") 1280x1024
        Display has 2 channels
        2 GEs (of 2), occmask = 0x03
        4MB external BEF ram, 32bit path
        1 RM8 board (of 1) 1/0/0/0
        Texture Memory: 64MB/-/-/-
        Small pixel depth
        32K cmap
        Channel 0:
        Origin = (0,0)
        Video Output: 1280 pixels, 1024 lines, 72.00Hz
(1280x1024_72.vfo)

uname -R
6.5 6.5.17m
Performer 2.4 is the installed. (The DSOs used to
point to 2.5 DSO but we changed the softlinks after
installing 6.5.17m)

Machine #3)

2 500 MHZ IP35 Processors
CPU: MIPS R14000 Processor Chip Revision: 1.4
FPU: MIPS R14010 Floating Point Chip Revision: 1.4
Graphics board 0 is "KONAD" graphics.
        Managed (":0.0") 1280x1024
        Display has 8 channels
        4 GEs (of 4), occmask = 0x0f
        4MB external BEF ram, 32bit path
        4 RM10 boards (of 4) 1/1/1/1
        Texture Memory: 256MB/256MB/256MB/256MB
        Large pixel depth
        32K cmap, 64K external gamma
        Channel 0:
        Origin = (0,0)
        Video Output: 1280 pixels, 1024 lines, 60.00Hz
(1280x1024_60.vfo)
        Channel 1:
        Channel's Source Size: 1280 pixels, 1024
lines; Origin = (0,0)
        Video Output: 640 pixels, 486 lines, 29.97Hz
(640x486_30i.vfo)

uname -R
6.5 6.5.15m
This machine also has performer 2.4 installed.

I performer_eoe.sw.2_2 02/11/2002 Performer 2.2.14
Run-time
I performer_eoe.sw.2_4 02/11/2002 Performer 2.4.3
Run-time
I performer_eoe 02/11/2002 OpenGL Performer
2.5 Run-Time Environment

__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Aug 26 2002 - 09:21:34 PDT

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