Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cómo saber los bpp de pantalla, 15 ó 16

Iniciado por fiero, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

fiero

                                Hola,
yo ahora utilizo el GetDisplayMode de DirectX para recoger los bpp de pantalla. Ahora quiero hacerlo sin utilizar DirectX y no encuentro la forma de saber cuando la pantalla está a 15 ó 16 bits, he usado esto:

if(EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&devmode))
{
bpp=devmode.dmBitsPerPel;
}

pero siempre da 16, aunque la tarjeta sólo acepte el modo de 15 bits.

Sabeis la forma de averiguar esto mediante las MFC o funciones de windows?

un saludo                                
www.videopanoramas.com Videopanoramas 3D player

Lord Trancos

                                Prueba con GetDeviceCaps y GetDesktopWindow

(NOTA: no lo he pobrado)                                
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

fiero

                                He probado:

HDC hDC=GetDC(m_hWnd);
bpp=GetDeviceCaps(hDC,BITSPIXEL);

y bpp es siempre 16, aunque la pantalla esté a 15 bits.
Tambien he visto una propiedad que tiene esta funcion, COLORRES:

bits=GetDeviceCaps(hDC,COLORRES);

resulta que devuelve una máscara con los bits que se utilizan para definir el color. He probado con 24,32 bits y da 0xFFFFFF, con 16 bits da 0xFFFF, pero no lo he podido probar con 15 bits porque la tarjeta que utilizo no soporta esta función. La solución seria si esta función devolviera 0x7FFF en el modo de 15 bits, pero como no la soporta estoy en las mismas.

El caso es que alguna forma tiene que haber... :triste:

un saludo                                
www.videopanoramas.com Videopanoramas 3D player

Drácula

                                No existe el modo de pantalla de 15 bits. Lo que utiliza es un fondo de 16 bits con una máscara de color para que no afecte al último bit. Lo que tienes que analizar es el nº de bits por color para conocer lo que tu necesitas.
                               
ltimas mejoras en Merlín: Multitextura.Control y generación automática de LOD.Importa ASE y X. Frustum Clipping por BB.Render añadido de wireframe y del BB.Animaciones por interpolación.Animaciones de textura...
Actualmente:Octree y jerarquías

Gunder

                                Muy facil,

bloquea la superficie de video, y mira la mascara del verde en la informacion del pixelformat.

Recuerda que 15=555 y 16=565.

Ale.
                               
riticar, critica hasta el mas tonto.

Ithaqua

                                Lo del 565 hoy en día es siempre así?
Recuerdo que en ms-dos con las vesa había que dar soporte a todos los formatos de color de 16 bits posibles, podía darse 655 por poner un ejemplo.
La matrox millenium tenía en Vesa2 un modo de 16 bits no-565.

                               
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Gunder

                                Pues yo solo me he encontrado con formatos 565 y 555 para backbuffer para texturas puede encontrarte tambien el 1555 y el 4444.

Ale.
                               
riticar, critica hasta el mas tonto.

fiero

                                Hoy en dia siempre es 565, ya que el color que más peso tiene (por su luminosidad) es el verde, por eso se le asignan el doble de variaciones que a los otros dos. Esto se explica muy bien en cualquier tutorial de conversión RGB a YUV.

En cuanto a mi problema, he decidido eliminar todas las funciones DirectX de mi programa, por eso no puedo utilizar el PIXELFORMAT. Le estoy dando vueltas a las MFC, a la clase CDC, a las funciones del API de windows.... pero no encuentro la manera de chequear que la tarjeta se encuentra en el modo 555... :triste:

un saludo

PD: Bueno, una matización, las tarjetas puede que tengan modos raros, pero los sistemas operativos y apis ya no los soportan por la evidente pérdida de calidad sin sentido. Por ejemplo, para qué usar 655 ó 556 si con 565 se obtiene una gama de colores mucho más rica, por eso no se usan aunque existan.

[ Este Mensaje fue editado por: fiero el 2002-05-14 15:27 ]                                
www.videopanoramas.com Videopanoramas 3D player






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.