How do I know if an adapter can use non square textures?

for example a 256x128 texture.

Another one:

Is this the correct way to enumerate pixel formats?



push ebx
mov ebx, 1
.repeat
invoke DescribePixelFormat,
g_hdc, ;Global varible with device context
ebx,
size PIXELFORMATDESCRIPTOR,
addr ppfd ;Area of memory in wich to store the descriptor
inc ebx
.until eax == 0
pop ebx


Whould that give me all the available pixel formats (so I can choose one) or do I need to continue do trial an error using ChoosePixelFormat to find the best one?

(I know I must, ChoosePixelFormat, but things like stencil buffers and Zbuffers have different bit depths depending on the card and graphics mode).
Posted on 2001-11-26 16:39:14 by dxantos
You can use DescribePixelFormat to convert your desired format to the closest one available.

As for other things I believe glGet can query any additional features to see if they're present, if not some other command to do that must exist.
Posted on 2001-11-27 04:48:26 by Eóin
in order to use glGet, you have to have an active ogl context...
i dont think you can change the pixelformat after creating a context (it would mess up things...)
Posted on 2001-11-28 14:39:17 by CViper
Thats why I mentioned DescribePixelFormat, you can use it before creating the Ogl context and that way you know whats available on differnet computers :)
Posted on 2001-11-29 09:26:08 by Eóin