Vai al commento

Diamaxus

Premium Member
  • Messaggi

    19.156
  • Punti Fedeltà

    100 
  • Iscrizione

  • Ultima visita

  • Feedback

    100%
  • PokéPoints

    PP 46.00

Tutti i messaggi di Diamaxus

  1. Mi fa piacere, allora cercherò di tenermi sempre più o meno su questa lunghezza.
  2. Tranquilla, fai con calma. Tanto io procedo lentamente in modo da dare il tempo di capire tutto e dare il tempo a me di preparare gli esempi visto che comunque devo imparare anche io. XD Ho seguito il tuo consiglio infatti, così è più facile anche per chi legge.
  3. Tranquilla senpai, ti aspetterò sempre
  4. Introduzione alla grafica Eccomi di ritorno con un nuovo capitolo. Oggi vi do un'infarinatura generale sulla grafica. È un argomento teorico, procederemo poco per volta. Come dicevo nell’introduzione il GBA ha uno schermo di 60 fps largo 240 pixel e alto 160, capace di rappresentare 327 568 colori. Ha 5 layer che contengono grafica di cui 4 sono per gli sfondi e 1 per gli sprite. Il GBA ha a disposizione 96kb totali utilizzati per la memoria video (che inizia all’indirizzo 0600:0000h), la memoria della palette di colori (all’indirizzo 0500:0000h) e la OAM (Object Attribute Memory) all’indirizzo 0700:0000h. Dopo che una scanline è stata disegnata (letteralmente una riga dello schermo ossia 240 pixel) c’è una pausa di 68 pixel detta Horizontal Blank (Hblank) prima che ricominci. Allo stesso modo dopo 160 scanline (Vertical Draw o Vdraw) c’è una pausa di 68 scanline prima che ricominci a disegnare (Vertical Blank o Vblank), come illustrato nell’imagine qui sotto. Per evitare che l’immagine si stiri, la posizione degli sprite viene aggiornata durante il Vblank, per questo i giochi girano a 60 o 30 fps. Per quanto riguarda i colori il GBA sfrutta il formato 5.5.5; sarebbe a dire 5 bit per il blu, 5 per il verde e 5 per il rosso: “xbbbbbgggggrrrrr” (dei 16 bit, il primo bit a sinistra non viene utilizzato). Bitmap, tiled backgrounds e sprite Il GBA conosce 3 tipi di rappresentazioni grafiche: bitmap, tiled backgrounds e gli sprite. I tipi bitmap e tiled backgrounds hanno effetto sull’intero schermo e pertanto non possono essere attivate in contemporanea. Nella modalità bitmap la memoria video considera lo schermo come se fosse un grafico cartesiano (o una matrice se preferite) di dimensione L x H, dove L è la larghezza e H è l’altezza. Per disegnare un pixel ci si posiziona nel punto di coordinate (x, y) e si colora. I tiled backgrounds funzionano in modo completamente diverso. Prima si salvano dei tile grandi 8 x 8 pixel in una parte della memoria video e poi, in un’altra parte della memoria si costruisce una tile-map che contiene gli indici che dicono al GBA quali tile mostrare sullo schermo. Infine abbiamo gli sprite, che possono essere grandi da 8 x 8 pixel fino a 64 x 64 pixel e sono oggetti grafici che possono essere trasformati in modo indipendente l’uno dall’altro. N. B. In realtà nei giochi useremo solo i tiled background, poiché sono più efficienti. Ma poiché le modalità bitmap sono più semplici da capire, vedremo prima quelle. Vsync Come detto, sfruttiamo il Vblank per aggiornare le posizioni degli sprite. Per fare ciò sfruttiamo una funzione che è costituita da due cicli while dove aspettiamo prima il Vdraw e poi il Vblank. void vid_sync() { while(REG_VCOUNT >= 160); // Aspetta il Vdraw. while(REG_VCOUNT < 160); // Aspetta il Vblank. } Dove REG_VCOUNT è il registro che conta a quale scanline ci troviamo e che abbiamo definito nel capitolo precedente. Questo codice in realtà è incompleto, perché sfruttando questi cicli while consumiamo moltissima batteria visto che il processore lavora comunque in questo modo. Vedremo come completare il codice quando parleremo delle interrupt, in quanto è necessario mettere il GBA in low-power mode per minimizzare il consumo di batteria e "risvegliarlo" al momento del Vdraw. Per oggi è tutto, ci vediamo presto con il prossimo capitolo dove vi parlerò nel dettaglio delle modalità bitmap. Come sempre, se avete domande non esitate a chiedere. fonte: https://gbadev.net/tonc/video.html Tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca
  5. Presa finalmente!! :eveeplz:

    IMG_3294.JPG.cf55ca36392009fbf35c7cd9ce068230.JPG

    1. Mostra commenti precedenti  2 altro
    2. evilespeon

      evilespeon

      Bellissimaaaaaa kohai io devo ancora pigliarla 

      Purtroppo mi sono spoilerata dove sta so per me niente indizi XD 

    3. Diamaxus

      Diamaxus

      Vabbè fa nulla senpai, va bene anche così. Io ci ho messo un sacco di tempo per capire XD @evilespeon

    4. evilespeon

      evilespeon

      io non ci sarei mai arirvata so ottimo così XD @Diamaxus

  6. Ah è veroooo, ora ricordo. Sì XD
  7. C’è anche una specie di predator in cui si trasforma XD
  8. Ahah esatto XD fa morire quando diventa prima un alieno e poi un mecha XD Li ricordo questi, in particolare Kurochan lo adoravo
  9. Tanti auguri @Celes :eveeplz:

    1. Celes

      Celes

      @Diamaxus Grazie!!!! :3 

  10. È divertentissimo Bofuri XD
  11. Di nulla senpai @evilespeon
  12. Voto il primo, che carino quel Sandshrew
  13. Bellissimi! Grazie, tanti auguri anche a te
  14. Buon Natale a tutti!

    1. Mostra commenti precedenti  3 altro
    2. Diamaxus

      Diamaxus

      Grazie Vincy :pawmi:@VincyDarkHeart

    3. Lotta

      Lotta

      Buon Natale :Stelline:

    4. Diamaxus

      Diamaxus

      Grazie Lotta :smile1: @Lotta

  15. Vero? Ho visto che ne ha fatte anche altre però di Pokémon
  16. grazie, buone feste!
  17. Concordo u.u
  18. @Combo @liviopocoyo @Celes @evilespeon @GameGate01
  19. Buone feste!

    1. Mostra commenti precedenti  2 altro
    2. evilespeon

      evilespeon

      Grazieeee kohai anche a te  @Diamaxus

    3. Diamaxus
    4. evilespeon

      evilespeon

      di nullaaaa kohai @Diamaxus

  20. Di nulla, è bellissimo
  21. La prossima volta aspetto tue notizie
×
×
  • Crea...