Estoy tratando de alfa mezclar sprites y fondos con devkitPro (incluyendo libnds, libarm, etc.).Sprites mezcla de alfa en Nintendo DS Homebrew
¿Alguien sabe cómo hacer esto?
Estoy tratando de alfa mezclar sprites y fondos con devkitPro (incluyendo libnds, libarm, etc.).Sprites mezcla de alfa en Nintendo DS Homebrew
¿Alguien sabe cómo hacer esto?
Como referencia genérica, una vez escribí a small blog entry sobre ese tema. Básicamente, primero tiene que definir qué capa está alfa-mezclada contra qué otras capas. Afaik,
Para el sprites, specifically, a continuación, tiene 3 maneras de lograr alfa-mezcla en función de lo que necesita y lo que está "dispuesto a pagar" por que:
BLEND_SRC_SPRITE
en REG_BLDCNT[_SUB]
... no es tan útil.ATTR0_TYPE_BLENDED
. El nivel de mezcla será el mismo para todos los sprites (y capas)ATTR2_PALETTE()
de sprites GBA es inútil y se ha reciclado en ATTR2_ALPHA
.Ha sido un tiempo largo ya que he hecho cualquier programación de GBA, pero según recuerdo, el DS es compatible con la mayoría (si no con todas) de las cosas que admite GBA. This enlace tiene una sección sobre cómo hacer mezclas alfa para GBA (sección 13.2). No sé si hay una forma específica de DS para hacerlo, pero esto debería funcionar para usted.
Los Sprites en el DS se pueden combinar alfa con el blend control registers. TONC proporciona la información necesaria para que la fusión funcione en la pantalla principal porque las ubicaciones de registro son las mismas. La mezcla alfa en la subscreen utiliza el mismo proceso con diferentes registros en un desplazamiento de 1000h.
Los registros se va a encontrar son REG_BLDMOD
, REG_COLV
y REG_COLY
para la pantalla principal y REG_BLDMOD_SUB
, REG_COLV_SUB
y REG_COLY_SUB
para la pantalla secundaria.
También recuerde que tendrá que change the sprite's graphic mode para habilitar la mezcla por sprite.
Demasiado específico de GBA – CVertex