Re: [Fwd: Seamless texture tiling?]
Phil Keslin (philk++at++cthulhu.engr.sgi.com)
Wed, 21 Oct 1998 00:17:33 -0700
> Just to expand on this a little more there are actually two
> closely related problems, and only the less significant of
> these has been discussed so far:
>
> Problem 1
> _________
> The first problem which produces the most glaring errors
> is when the levels of MIP are generated, and this may be
> the problem you are encountering under minification. The problem
> is not so much overlap as where the samples used by the filter
> to generate the MIP level are derived from, and the overlap of
> the filters used to produce the samples ad adjacent tile borders.
>
> When generating MIP maps for a sample in a small MIP image (high
> level of MIP in OpenGL parlance), the 'footprint' of the filter
> in the original image is quite large and covers many image
> samples in the base image (level 0 MIP map in OpenGL).
>
> If you filter adjacent image tiles independently then the
> samples used for the border of the tile would and should extend
> beyond the border of the tile and require data from the adjacent
> image tiles. However, by processing tiles independently you
> have no data there and typically average within the available
> data for the filter.
>
> This is the underlying problem. As you can see, the greater the
> minification the larger the filter footprint and the more missing
> information you have at the border because it only exists in an
> adjecent tile. This can lead to obvious image discontinuities
> at tile edges which increase in significance and scale as the
> texture image minifies. A high contrast feature near the edge
> in one tile will at some scale will affect the color of the
> edge texels in one tile but not in another causing a sharp
> discontinuity.
>
> Because the scale of the problem varies with the level of MIP
> due to the varying filter size, the problem cannot generally
> be solved for all situations using a fixed overlap. Infact an
> overlap is the wrong approach.
So are you saying that overlap between tiles during mipmap generation is
not the right thing to do? While it is true that the filter footprint
does grow as to move to lower resolutions if you resample from the base
image. If, however, you resample from the next higher resolution in the
pyramid, then the filter support can remain fixed.
Processing the image into tiles can easily be affected via borders with
information drawn from neighbors. Edge tiles can choose whatever border
filling strategy they want, but reflection provides the best quality.
There is nothing inherently difficult about border filling tiles prior
to resampling. In fact, we've been doing it for years and what we are
doing for clipgen.
I'll avoid the second problem, since a possible (and very good) solution
has already been noted (i.e., clipmapping). Systems without this
feature, will have to deal with some artifacts without a lot of work.
- Phil
--
Phil Keslin <philk++at++engr.sgi.com>
This archive was generated by hypermail 2.0b2
on Wed Oct 21 1998 - 00:17:19 PDT