Canal alfa.Duda.

Todo lo relacionado con el diseño de gráficos para videojuegos y en general.

Canal alfa.Duda.

Postby OskarG » Sun Jan 09, 2011 5:51 pm

Imaginemos que tengo un fondo de un color determinado,negro,en photoshop se realiza una simple esfera de color blanco con antialising,el color blanco representa el monigote y el resto de los pixeles la informacion para que quede suavizado con el fondo.Okay,hasta aqui perfecto,mas si la bola en cuestion cambia de escenario y el fondo es de otro color entonces el efecto de antialaising se destroza,okay,logico.
¿Hay alguna forma ,algun tipo de shader o manera de utilizar el canal alfa para que los pixeles se adecuen teniendo en cuenta el fondo?
User avatar
OskarG
 
Posts: 612
Joined: Tue Jan 12, 2010 2:12 am

Re: Canal alfa.Duda.

Postby necro_vampire » Sun Jan 09, 2011 11:14 pm

el canal alfa es en 32bit de color.
y este solo hace q sea mas o menos transparente un pixel...

has probado con usar varias imagenes ?
bueno no sirve si es un FPG muy grande

creo q hay una funcion para cambiar todos los pixeles de un determinado color a otro...

tambien puedes ver este hilo tal vez te sirva:
viewtopic.php?f=73&t=1728&start=0
Image
Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.
User avatar
necro_vampire
 
Posts: 1372
Joined: Fri Oct 10, 2008 12:38 am
Location: Death Soul city???

Re: Canal alfa.Duda.

Postby TYCO » Sun Jan 09, 2011 11:30 pm

Para eso sería un blend aditivo pero afecta a todo el gráfico claro, y no sólo a los bordes.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3583
Joined: Tue Sep 02, 2008 7:38 pm

Re: Canal alfa.Duda.

Postby OskarG » Mon Jan 10, 2011 12:47 am

Interesante,una par de consultas:
1.Por que el canal alfa debe ser de 32 bits,que impide que sea por ejemplo de 16 bits?¿?
2.Aunque suene una burrada,lo digo,no se puede en una misma pantalla utilizar diferentes profundidades de bits ?¿o bien,multiples paletas de 8 bits en una misma pantalla...etc.
User avatar
OskarG
 
Posts: 612
Joined: Tue Jan 12, 2010 2:12 am

Re: Canal alfa.Duda.

Postby Geca » Mon Jan 10, 2011 1:32 am

Porque sólo existe en 32 bits, ya que necesitan mas bits para incluirlos :)
User avatar
Geca
 
Posts: 637
Joined: Fri Feb 20, 2009 1:35 pm
Location: Madrid

Re: Canal alfa.Duda.

Postby necro_vampire » Mon Jan 10, 2011 5:14 am

oscar wrote:1.Por que el canal alfa debe ser de 32 bits,que impide que sea por ejemplo de 16 bits?¿?

por al agregar informacion del canal alpha se necesitan mas bit, y se usa un standar en cuanto a los colores
8 bit 256 colores en paleta
16 bits poco mas de 65000 colores, repartidos en RGB de manera 565 osea 32 rojos 65 verdes y 32 azulesq se mesclan
ademas un color es transparente el negro absoluto (FFFF)
luego sta 24/32 bits color donde se usan RGB/RGBA donde hay 256 tonalidades de rojo, 256 de verdes y 256 de azules
adicionalmete se agregan 8 bits mas con el canal alfa, lo q da 256 niveles de transparencia

en 16 bit existe alpha q ace q TODA la imagen se vuelva transparente, aunque es una variable interna de los procesos

el tema de tener cosas con distinta profundidad no tengo bien en claro si es posible o no
Lo de tener diferente paletas en pantalla si es posible, pero solo en 8bits de color, si recuerdo bien cada proceso puede tener su papelta independiente, lo q no se es si existe algun limite al numero de paletas en memoria
Image
Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.
User avatar
necro_vampire
 
Posts: 1372
Joined: Fri Oct 10, 2008 12:38 am
Location: Death Soul city???

Re: Canal alfa.Duda.

Postby GINO » Mon Jan 10, 2011 3:37 pm

Un par de apuntes a lo que ha dicho necro:
- El negro absoluto seria en hexadecimal 0000 mientras que el FFFF es el blanco puro.
- Pues no se pueden tener diferentes profundidades al mismo tiempo. Por poder se podría tener profundidades de menor bpp en una de mayor, aunque al final habría que acabar convirtiendo esos gráficos a la profundidad establecida con set_mode. Es una decisión de diseño que gemix no haga esto. Lo de las paletas múltiples no se puede tampoco, ya que solo sería útil en 16 o 32 bits (en 8 solo puede haber una paleta para todo), y dado que gemix no permite profundidades diferentes a la establecida, no puedes usar gráficos de diferentes profundidades de color. Como digo, es una decisión de diseño. Se podría hacer pero no sería rentable a la hora de blitear, se perderían fps debido a que hay que hacer una conversión cada frame por cada gráfico de diferente profundidad, por no hablar de que no es una solución estandar. Lo más lógico es usar gráficos hechos en la profundidad que esta establecida en el juego. Lo único que se pierde es memoria debido a gráficos de mayor profundidad y quizás efectos de paleta que solo puedes hacer en 8 bits. En la balanza tenemos por un lado más uso de memoria y pero mejor rendimiento y por otro menos uso de memoria y peor rendimiento, y a nosotros nos ha parecido mejor la primera opción y ya digo que se ha cogido este camino debido al rendimiento necesario en un motor soft y a que es el más estandar.
Por lo demás necro lo ha explicado bien.
User avatar
GINO
 
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm

Re: Canal alfa.Duda.

Postby TYCO » Mon Jan 10, 2011 6:29 pm

oscar wrote:Interesante,una par de consultas:
2.Aunque suene una burrada,lo digo,no se puede en una misma pantalla utilizar diferentes profundidades de bits ?¿o bien,multiples paletas de 8 bits en una misma pantalla...etc.


Es una burrada si XD, no creo que veas un sólo juego con varias profundidades funcionando a la vez.

Lo de tener varias paletas de distintos gráficos de 8 Bits en una misma pantalla, lo puedes tener haciendo un set_mode a 16/32 Bits, es verdad que no funcionaría el rotado de paleta (roll_palette), pero a cambio alpha y fx funcionarían, y si necesitas eso pues haces como hicieron nuestros padres... programar a 8 Bits puro y duro para que funcione roll_palette. Teniendo en cuenta el rendimiento y la optimización, es preferible que el diseño sea así.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3583
Joined: Tue Sep 02, 2008 7:38 pm

Re: Canal alfa.Duda.

Postby Ignis » Mon Jan 17, 2011 2:06 pm

Creo que te estas complicando. Yo dibujo en photoshop un dibujo que directamente tiene el fondo transparente. Photoshop ya aplica automaticamente un antialiasing. Si lo guardas como png y lo cargas en modo 3d bits el antialiasing del grafico ya se aplica solo. Deja de usar el fondo negro para los graficos y ya lo tendras solucionado :P
User avatar
Ignis
 
Posts: 304
Joined: Sun May 17, 2009 2:37 pm

Re: Canal alfa.Duda.

Postby OskarG » Mon Jan 17, 2011 11:28 pm

Hola ignis,me interensa llevar a cabo tu explicacion,he realizado en photoshop dos capas,la primera un simple circulo y la del fondo vacia.Okay,mas resalto que el circulo en si no lleva antialising,entonces me viene la duda,como puedo realizar tal proceso de forma que directamente photoshop lo haga.No quiero aplicar antialising de forma predefinida al circulo,dicho de otro modo,imaginemos que partimos de x silueta ,la rellenamos de color negro y ahora surge la duda de como realizar el tal ansioso efecto de antialising con la capa de fondo.
Apunte:En photoshop hay alguna manera de definir un pixel mas o menos opaco?¿?
User avatar
OskarG
 
Posts: 612
Joined: Tue Jan 12, 2010 2:12 am

Next

Return to Gráficos

Who is online

Users browsing this forum: No registered users and 8 guests