stefan

03-18-2002, 12:23 AM

I'm rendering a large terrain which is subdivided into several tiles. Each tile is basically a grid that has the same vertex and texture coordinates. Only the height values

are updated during runtime.

The actual positioning of the tile is achieved by glTranslatef() calls. Any I'm sure you already guess what the big problem is: Due to rounding errors the seam between two tiles can leave some unfilled pixels.

What do you do to prevent that?

Please note that not shifting the tiles isn't practical, since the program reuses the tiles due to memory restrictions.

I tried to enlarge all vertex coordinates by some factor (currently 1.000001 is my favourite) which helps quite a bit but not for all cases.

Do you think that it might help to use a vertex program that has integer values for the tile offset and the vertex positions? With some constant scaling factors it could then calculate the vertex positions. Might this work perfectly? How big could the performance penalty be for using the vertex program (GF 3)?

Thanks,

Stefan

[This message has been edited by stefan (edited 03-18-2002).]

are updated during runtime.

The actual positioning of the tile is achieved by glTranslatef() calls. Any I'm sure you already guess what the big problem is: Due to rounding errors the seam between two tiles can leave some unfilled pixels.

What do you do to prevent that?

Please note that not shifting the tiles isn't practical, since the program reuses the tiles due to memory restrictions.

I tried to enlarge all vertex coordinates by some factor (currently 1.000001 is my favourite) which helps quite a bit but not for all cases.

Do you think that it might help to use a vertex program that has integer values for the tile offset and the vertex positions? With some constant scaling factors it could then calculate the vertex positions. Might this work perfectly? How big could the performance penalty be for using the vertex program (GF 3)?

Thanks,

Stefan

[This message has been edited by stefan (edited 03-18-2002).]