Re: Texturing on MaxImpact

New Message Reply Date view Thread view Subject view Author view

Rob Jenkins (robj++at++quid)
Mon, 7 Oct 1996 15:35:32 -0700


Here's a dump of Impact texture info accumulated from various people. I'm
pretty sure still it's all up to date - covers the banding issue first:

Banded Textures

Impact machines with 1MB of TRAM ( texture memory ) only support up to 16 bit
textures. If an OpenGL ( or Iris GL ) application uses 4 channel ( RGBA )
textures then the maximum resolution is 4 bits per colour component. This can
mean that on textures with subtle colour gradients in some banding may be
apparent. Note - this is texture HW only limitation not frame buffer. To check
the hardware on the machine do:

/usr/gfx/gfxinfo

If you require 32 bit texture you should upgrade to 4 meg TRAM system, or use
texture formats that are supported by the 1 TRAM system.
In summary, the following are the supported texture formats on different TRAM
configurations.

BITS/COMPONENT 4 4 4 4 8 8 8 8 12 12 12 12
COMPONENTS 1 2 3 4 1 2 3 4 1 2 3 4

1 TRAM Y Y Y Y Y Y N N N N N N
4 TRAM Y Y Y Y Y Y Y Y Y Y Y Y

Texture Summary

1) the largest texture you can load with one TRAM is 512x512... if a polygon is
supposed to be textured but shows up white, this is a good candidate for your
problem.

2) textures *must* be a power of 2 on each edge... i.e. 8x8, 16x16, 32x32, etc.

More specifically, the texture size is bounded by the TRAM size. We have 1M
TRAMs, so the largest texture *size* is 1M. The amount of texture data is
dependent on the number of TRAMs in the system. There can be either 1 or 4
TRAMs. With one TRAM, all channels of a texture are multiplexed into the same
TRAM. With 4 TRAMs, each channel is split out into the individual TRAMs.

So, if you have 2D Luminance textures, you can create 1K x 1K textures on a 1
or 4 TRAM system. But if you have RGBA textures, on a 1 TRAM system, you can
only create a 512 x 512 texture. A 1K x 1K RGBA texture will work on a 4 TRAM
system, each 1M R, G, B, and A channel will fill the full 1M of each of the 4
TRAMs.

Same goes for 1D or 3D textures. The largest 3D texture size is still 1M, a
possible size is 128 * 128 * 64. Depending on the number of channels:
Luminance, Luminance-Alpha, RGB, or RGBA, and the number of TRAMs in the
system, the texture size may have to be reduced.

There is an environment variable to control use of HW or SW texturing on a 1
Meg TRAM Impact.

setenv USE_SOFT_TEXTURE 1

will disable HW texturing - only on 1 TRAM machines though. Obviously just use
unsetenv or set it back to 0 to re-enable. This isn't global, in other words if
you set this in a shell it only effects programs run in that shell afterwards
-if you run the same code in another shell ( without the variable set ) it'll
use HW texturing. Also if you use OpenInventor you can also use the
textureQuality field in a SoComplexity node set to 1.0 to achieve this. This
may be useful if you are suffering from banded textures and can't go to 4 TRAM.

Hope this helps
Rob

-- 
________________________________________________________________
Rob Jenkins
Silicon Graphics
robj++at++csd.sgi.com
=======================================================================
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:53:43 PDT

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