Seamless texture tiling?

New Message Reply Date view Thread view Subject view Author view

Scott Herod (herod++at++evt.com)
Thu, 08 Oct 1998 12:36:35 -0600


I have large textures that I need to map onto geosets.
"Large" means bigger than 512 on a side. If I make textures
larger than 512 on a side, there is a subtle shift of the
texels going from a glDrawPixel to the textured geoset.

  Currently, I am trying to cut the textures up into 512x512
subtextures and paste them onto geosets sitting edge to edge.
However, as they move, there is sometimes a seam.

  In an attempt to fix this, I am making the subtextures
overlap by two texels, one for each in order to use these
as a texture border. It appears that performer still wants
textures with borders to be power-of-two so 2 texels for the
border and 510 for the viewable portion. I then use

tex->setRepeat( PFTEX_WRAP_S, PFTEX_CLAMP );

This works fine on O2 but fails miserably on OCTANE as seams
are visible.

Any hints or suggestions for making this work? More details
are below.

Scott Herod
scott++at++evt.com

Details:

Turn large texture into series of square tiles which width
wise are (1 texel border) + (510 texels image) + (1 texel border). For
each subtexture, the left side border is the
last visible texel of the subtexture on the left and the
right side border is the first visible texel of the subtexture
to the right. (Top to bottom is the same, edge subtextures
repeat border and first row of visible texels.)

Then for each subtexture use

  pfTexture *tex = new pfTexture;

  // rimg_w = rimg_h = 512
  tex->setImage( tex_data, num_comps, rimg_w, rimg_h, 1 );
  tex->setBorderType(PFTEX_BORDER_TEXELS);

  tex->setRepeat( PFTEX_WRAP_S, PFTEX_CLAMP );
  tex->setRepeat( PFTEX_WRAP_T, PFTEX_CLAMP );


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Thu Oct 08 1998 - 11:36:48 PDT

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