Programación Específica > Programación de Videojuegos
Vesa
bob esponja:
buenas hace mucho que no escribo
el tema es que estoy escribiendo una libreria para todos los modos de vesa, de hecho ya la termine si no fuera por dos cositas:
la funcion putpixel de 24 bits ( 8 : 8 : 8 )
la funcion putpixel de 16 bits ( 1 : 5 : 5 : 5 )
y los modos de 16 colores
el tema es asi:
en el putpixel de 24 bits lo pone bastante bien pero se va desplazando de su posicion a medida que va mas abajo
mi funcion es algo asi:
long coord = ( ( long ) y * resolucionX + x ) * 3;
//porque cada color tiene tres bytes
aux = ( int ) coord; //la parte baja del long tiene la posicion en el banco
//la posicion alta tiene el banco
//... aca seteo el banco (no lo hago aca porque no tiene nada que vercon el problema)
screen[ aux ] = red;
screen[ ++aux ] = green;
screen[ ++aux ] = blue;
//pongo el pixel
en el modo de 16 bits ( 1 : 5 : 5 : 5 ) lo hice muy parecido al modo de 16 bits ( 5 : 6 : 5 ) siendo que este si funciona el otro no.
y los modos de 16 colores no los se manejar porque creo que trabajan como el modo 12h de vga pero nunca lo pude haer andar bien
espero respuestas....
JuanK:
creo que debes replantear tu problema, ya que la verdad no es clara la duda tienes, solo has colocado unos comentarios pero no veo ninguna inquietud en particular. :smartass:
bob esponja:
lo primero es si alguien ve un problema conceptual o de programacion en el codigo que puse que es el puytpixel para las resoluciones de 24 bits.
lo segundo es que tengo una duda de si en el modo putpixel de 16 bits ( 1 : 5 : 5 : 5 ) se trabaja parecido al modo de 16 bits ( 5 : 6 : 5 ). osea "empujando" los valores de los colores en una variable de 16 bits y ponerla en la pantalla o si trabaja de otra forma.
y tercero si alguien podria decirme como trabajan los modos de 16 colores.
si alguien sabe como trabajan los modos o tiene el codigo del putpixel escriban!
JuanK:
--- Cita de: "bob esponja" --- lo segundo es que tengo una duda de si en el modo putpixel de 16 bits ( 1 : 5 : 5 : 5 ) se trabaja parecido al modo de 16 bits ( 5 : 6 : 5 ). osea "empujando" los valores de los colores en una variable de 16 bits y ponerla en la pantalla o si trabaja de otra forma.
y tercero si alguien podria decirme como trabajan los modos de 16 colores.
--- Fin de la cita ---
Los modos de ARGB y RGB de 16bit se manejan de la misma forma hasta donde tengo entendido.
Y los modos de 16 bit se manejan con paquetes de dos en dos pixeles e decir cada pixel ocupa 4 bits, por lo cual en cada byte puedes almacenar 2 pixeles, asi que podrias enviar un paqete de tipo byte(char) o uno de tipo word(short) o uno de tipo dword(int32) como quieras.
bob esponja:
solucione todos menos el de 16 colores.
estas seguro de que funciona asi?
lo hago de esa forma y en la pantalla no aparece nada ( queda negro )
no sabes si tiene alguna particularidad con respecto a los otros modos?
Navegación
[#] Página Siguiente
Ir a la versión completa