Antialiasing per le draw functions (senza surface scalata)
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Antialiasing per le draw functions (senza surface scalata)
Premessa: so che questo tutorial è molto basilare ed aggiunge veramente poco alla cultura generale sul GML.
Ho intenzione di usare questo piccolo spazio più come un promemoria per me, con in più il buon proposito di poter aiutare qualcuno che, come me, ha perso giornate intere a cercare la soluzione a questo problema.
P.S.: su internet spopola una soluzione alternativa fatta scalando le surface, ma io ho voluto cercare qualcosa di intrinseco al GML.
Se si desidera ottenere delle figure perfettamente smussate, bisogna giocare con la funzione display_reset(aa,vsync) e la variabile nativa display_aa.
In sostanza, basta specificare in "aa" nella funzione display_reset il valore di antialiasing che noi preferiamo, eseguendo tale istruzione all'avvio dell'applicazione.
Per un valore di aa = 8 le curve cominciano ad essere ottimamente soffici.
Il framerate medio della mia basilare applicazione con un solo draw_circle è passato da circa 170 a circa 130 frame al secondo ponendo aa = 8, dunque è bene fare attenzione alla stabilità del programma.
Ho intenzione di usare questo piccolo spazio più come un promemoria per me, con in più il buon proposito di poter aiutare qualcuno che, come me, ha perso giornate intere a cercare la soluzione a questo problema.
P.S.: su internet spopola una soluzione alternativa fatta scalando le surface, ma io ho voluto cercare qualcosa di intrinseco al GML.
Se si desidera ottenere delle figure perfettamente smussate, bisogna giocare con la funzione display_reset(aa,vsync) e la variabile nativa display_aa.
In sostanza, basta specificare in "aa" nella funzione display_reset il valore di antialiasing che noi preferiamo, eseguendo tale istruzione all'avvio dell'applicazione.
Per un valore di aa = 8 le curve cominciano ad essere ottimamente soffici.
Il framerate medio della mia basilare applicazione con un solo draw_circle è passato da circa 170 a circa 130 frame al secondo ponendo aa = 8, dunque è bene fare attenzione alla stabilità del programma.
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Azz è tantoScemEnzo ha scritto:è passato da circa 170 a circa 130 frame al secondo ponendo aa = 8.
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Assolutamente si, infatti è una mossa disperata per rendere le draw function perfette nella loro forma "pixelosa".
Purtroppo è noto che le draw function di moltissimi software sono troppo pesanti per ottenere immagini dettagliate ed elaborate, quindi in questo periodo ho cambiato direzione ed ho cominciato ad interessarmi agli shaders, visto che con le draw functions c'è poco da fare
Purtroppo è noto che le draw function di moltissimi software sono troppo pesanti per ottenere immagini dettagliate ed elaborate, quindi in questo periodo ho cambiato direzione ed ho cominciato ad interessarmi agli shaders, visto che con le draw functions c'è poco da fare
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Fai bene, gli shaders vorrei impararli anche io ma non ho ancora trovato un buon tutorialScemEnzo ha scritto:Assolutamente si, infatti è una mossa disperata per rendere le draw function perfette nella loro forma "pixelosa".
Purtroppo è noto che le draw function di moltissimi software sono troppo pesanti per ottenere immagini dettagliate ed elaborate, quindi in questo periodo ho cambiato direzione ed ho cominciato ad interessarmi agli shaders, visto che con le draw functions c'è poco da fare
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Allora sappi che avevi la soluzione sotto al naso e non te ne sei accorto: io ho chiesto consiglio al sommo Tizzio (che Dio lo benedica), dal momento che ho scoperto che il suo Glare engine usava gli shaders.doom13 ha scritto: gli shaders vorrei impararli anche io ma non ho ancora trovato un buon tutorial
Lui è stato a sua volta istruito da Jak, ma la cosa importante è che mi ha passato un documento che sto leggendo: è semplice, simpatico e molto molto piacevole.
È perfetto per chi vuole introdursi al codice GLSL senza troppe pretese
Tiè: http://patriciogonzalezvivo.com/2015/thebookofshaders/
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
Re: Antialiasing per le draw functions (senza surface scalat
Avevo ideato un metodo per le linee con antialiasing sfruttando l'interpolazione lineare
ecco un gmk: draw_line_aa
I poligoni non sono "pieni", però si può ottenere un effetto antialiasing, tracciando varie linee intorno alla figura
quindi bisogna combinare il disegno del bordo col disegno della figura interna
Ci sono dei piccoli artefatti (soprattutto nel cerchIo), ma è un buon compromesso.
Non ho testato la differenza di prestazioni rispetto all'MSAA standard fatto dalla scheda video, ma credo che sui vecchi PC e telefoni sia molto meglio la tecnica dell'interpolazione
ecco un gmk: draw_line_aa
I poligoni non sono "pieni", però si può ottenere un effetto antialiasing, tracciando varie linee intorno alla figura
quindi bisogna combinare il disegno del bordo col disegno della figura interna
Ci sono dei piccoli artefatti (soprattutto nel cerchIo), ma è un buon compromesso.
Non ho testato la differenza di prestazioni rispetto all'MSAA standard fatto dalla scheda video, ma credo che sui vecchi PC e telefoni sia molto meglio la tecnica dell'interpolazione
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Ho visto il progetto ed è molto interessante, anche se la forma pixellosa rimane molto.Tizzio ha scritto:Avevo ideato un metodo per le linee con antialiasing sfruttando l'interpolazione lineare
Anche io ho provato a creare qualche script quando ho sviluppato "When We Talk" basandomi su alcuni documenti sull'antialiasing, ma non sono mai stato soddisfatto delle soluzioni.
Sapevo di poter trovare qualcosa di nativo a GM e alla fine l'ho trovato dopo tantissimo tempo.
La cosa positiva di questa funzione nativa è che qualunque figura appartenente alle draw functions di Game Maker viene elaborata con un antialiasing come Dio comanda, anche le figure geometriche create con vertici.
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Bello bello, converto tutto in un bel pdf.ScemEnzo ha scritto:Allora sappi che avevi la soluzione sotto al naso e non te ne sei accorto: io ho chiesto consiglio al sommo Tizzio (che Dio lo benedica), dal momento che ho scoperto che il suo Glare engine usava gli shaders.doom13 ha scritto: gli shaders vorrei impararli anche io ma non ho ancora trovato un buon tutorial
Lui è stato a sua volta istruito da Jak, ma la cosa importante è che mi ha passato un documento che sto leggendo: è semplice, simpatico e molto molto piacevole.
È perfetto per chi vuole introdursi al codice GLSL senza troppe pretese
Tiè: http://patriciogonzalezvivo.com/2015/thebookofshaders/
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
Re: Antialiasing per le draw functions (senza surface scalat
Ma il bello di quel sito è l'interattivitàdoom13 ha scritto: Bello bello, converto tutto in un bel pdf.
Puoi modificare il codice e vedere i cambiamenti in realtime
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Aspetta un attimo!!! Ho appena visto la tua immagine nel post aggiornato e a me non si vede in quel modo!
A me il disegno è molto più pixeloso.
Ho controllato e l'interpolazione è attiva.
Avvio da Windows 7 a 64 bit
A me il disegno è molto più pixeloso.
Ho controllato e l'interpolazione è attiva.
Avvio da Windows 7 a 64 bit
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
- ScemEnzo
- Membro
- Messaggi: 130
- Iscritto il: 27/05/2014, 15:05
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: Napoli
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
Concordo assolutamente. io stavo per stamparmi tutto, poi però mi sono accorto dei fichissimi codici in real time @ç@Tizzio ha scritto: Ma il bello di quel sito è l'interattività
Contatti
- Vincenzo Canfora (ScemEnzo) al codice e alla musica: [email protected]
Novella Locritani (Nuvvola) alle grafiche: [email protected]
Profilo GameJolt Tesis
Profilo DeviantArt Nuvvola
- doom13
- Moderatore
- Messaggi: 2093
- Iscritto il: 31/08/2012, 15:40
- Specialità: Programmazione
- Uso: GM:Studio 2
- Contatta:
Re: Antialiasing per le draw functions (senza surface scalat
O.o eh vabbé quando sto in giro però preferisco avere un pdf sul cellulare.Tizzio ha scritto:Ma il bello di quel sito è l'interattivitàdoom13 ha scritto: Bello bello, converto tutto in un bel pdf.
Puoi modificare il codice e vedere i cambiamenti in realtime
Spoiler
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"
Chi c’è in linea
Visitano il forum: Nessuno e 33 ospiti