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
This archive was generated by hypermail 2b29 : Mon Aug 26 2002 - 09:21:34 PDT