i have tried all tile formats. i get the same results using the 4 bit format
as i do with the 32 bit format. in both of these formats the colors are
correct but the image is warped. using the 16 bit format, the colors are
wrong and the image is warped. using the 8 bit format the colors are wrong
but the image isn't warped.
i have also tried using different tile format values (tile size / sub tile
size). the results vary but none so far have solved the problem.
it seems that i a working with two variables. one, the format of the tiles.
two, the size of the texture that is sent to the video card. if i knew one
for sure then it would reduce some of the guessing.
the easiest variable to answer should be the texture size as reported to the
video card. suppose you have an image that's uncompressed, and has the
dimensions 512x512 (in pixels). without compression, you would load the
texture width and height registers with 9 and 9 repectively. 9 because 2^9
is 512 and the registers are loaded with the exponent. now compress the
texture, what values do you put in the width and height registers? two
possibilities are obvious. first, send the uncompressed dimensions, the
video card is smart enough to deduce from the image format what the
compressed dimensions should be. second, send the compressed dimensions. in
the case of a DXT3 image this would be 11 and 7. could there be another
logical set of values? only S3 knows!
maybe someone from S3 or someone with technical documents for the savage
chips could answer this question?
thanks for listening. it's nice sometimes to organize my thoughts on paper,
even if it only serves to define the problem.
----- Original Message -----
From: "Felix Kühling" <fxkuehl@...>
Cc: "Mark Cass" <mrcass@...>
Sent: Saturday, May 15, 2004 2:28 PM
Subject: Re: savage texture compression - REALLY CLOSE
> On Sat, 15 May 2004 13:30:16 -0700
> "Mark Cass" <mrcass@...> wrote:
> > Felix,
> > i think the texture formats you are talking about are the ones
> > savage_bci.h . i tried all of them.
> I was talking about the parameters that are used by the tiling functions
> for various texture formats. They are defined at the beginning of
> savagetex.c, called tileInfo_pro and tileInfo_s3d_s4. The first line
> applies to 4bit texture formats (supposedly the compressed ones).
> > NEWS BULLETIN:
> > i set the textBytes to 4 and i now have the correct colors. i think this
> > works because each texel block (4x4 texels) in a DXT3 or DTX5 is
> > to a four byte value. but now the image looks warped!
> 4 bytes per 16 texels would make 2bit per texel. Weird, then why are
> these formats called xyz4bit?
> I'm not sure I understand what you mean with "warped". Do you have a
> > mark