[Fluxus] texture types (was Re: png diagonal oddness)

Kassen signal.automatique at gmail.com
Fri Jan 21 09:46:28 PST 2011


On 21 January 2011 15:21, Claude Heiland-Allen <claude at goto10.org> wrote:

> On 21/01/11 06:58, David Griffiths wrote:
>
>> On Thu, 2011-01-20 at 22:26 +0100, Kassen wrote:
>>
>>>         Yeah, I think that could be the problem.
>>>
>>
>>
Gabor;



> The problem is lack of an alpha channel. It's skewed in that way as it's
>> expecting 4 bytes per pixel but it's getting 3.
>>
>
>
Ah! It looked to me like it could be miss-reporting its dimensions,
originally, so this makes perfect sense. Phew. tricky stuff.

Cluade;

To be more explicit: pixels are contiguous in each row, but there might need
> to be gaps between the rows in memory as each row needs to start aligned to
> a certain number of bytes.  With 4 channels (RGBA) this works fine with the
> default alignment of 4, but with 3 channels you'd need a multiple of 4
> pixels in each row otherwise you'd get diagonal weirdness (and potentially a
> buffer overflow crash).
>
>
Ok, I follow this, I think. Are you saying that even without alpha channel
bytes the image might display as long as it has a certain amount of pixels,
as the pixels "get back in sync"? Wouldn't we expect that kind of image to
be non-diagonal but instead have odd colours?

Also, to summarise;
*POT textures are preferred for performance (probably with alpha?)
*NPOT textures will work as long as they have a alpha channel.
*NPOT textures without alpha should work as long as their dimensions are
integer powers of 4.

Is that right?

I still think I have one texture (terras2) that breaks these rules, though
one dimension is indeed a multiple of 4. Maybe one is enough, as long as
it's the dimension lines are scanned in?

PHEW! Great detective work here!

Yours,
Kas.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pawfal.org/pipermail/fluxus-pawfal.org/attachments/20110121/db8b077c/attachment.html>


More information about the Fluxus mailing list