[overengine-devel] 32bpp vs. 16bpp
Status: Alpha
Brought to you by:
night_wolf
|
From: Nightwolf <an...@pi...> - 2001-02-06 19:30:52
|
hi there guyz...
since i am always thinkin, i got stuck into a quite
serious problem we have to solve together.
the depth of the screen and the textures, now
I'll explain you why.
the first thing to point out is if we need trasparent
textures or not (special FX are a thing apart, these
in fact can make textures transparent with a special
algo!).
if we need transparent textures, some problems come up:
[THIS PROBLEMS ARE NOT DEPENDENT BY THE SCREEN DEPTH
SINCE IT DOESN'T AFFECT THE TEXTURE DEPTH]
-- problem 1 ---
suppose the user chooses 16bit video mode, so we are
supposed to load textures in format R5G6B5, but this format
doesn't allow alpha blending, cause the alpha channel is missing
as you *might* have noticed ;)
ok... we say... I'll load'em in the other well supported
format.. A1R5B5G5, so this just means transparent/non-trasparent
but it doesn't allow transparency gradients!!!
solution 1: loading off screen textures in 32bpp anyway, that means
A8R8G8B8, very good, but shall I waste memory on the poor user's
system?
solution 2: let the user choose both texture depth and screen depth
---------------
-- problem 2 --
if we need transparent gradient images in the GUI, things get a bit
weird.
in fact, if the user chooses 16bpp for screen and 16bpp for textures,
the GUI will be screwed up!
it's because the GUI images are textures either! because texturing is
the only way to make an image transparent in the new fuckin DirectX
Graphics.
solution 1: loading off screen textures in 32bpp anyway, that means
A8R8G8B8, very good, but shall I waste memory on the poor user's
system? [SAME AS PROBLEM 1]
solution 2: just load GUI images always at 32bpp
---------------
please, help me outta here, dudes :)
byebye,
Andrea
]-------------------------------------------------------------[
-> a.k.a. N|ghtW0|f <-
-> Web-Site(s): http://fade.to/fetchmp3/ <-
-> E-Mail: nig...@my... <-
-> UIN (ICQ #): 3363525 <-
]-------------------------------------------------------------[
|