[DLL] GMAssimp

Gex, Dll, DyLib, Js e ogni tipo di estensione per GameMaker
Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] NJAssimp

Messaggio da Jak »

Prometeo ha scritto:ma credo che lì non ci sia soluzione... grazie jak :cappa:
:fapensare:
Lo sai vero che potresti fare un floor grande abbastanza da contenere la luce molto dettagliato e disegnare il resto con 8 triangoli? Sarebbe un buon compromesso tra prestazioni e qualità :roll:
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] NJAssimp

Messaggio da Prometeo »

Jak ha scritto: :fapensare:
Lo sai vero che potresti fare un floor grande abbastanza da contenere la luce molto dettagliato e disegnare il resto con 8 triangoli? Sarebbe un buon compromesso tra prestazioni e qualità :roll:
ho levato il floor e ho fatto tutto collinare con diverse altezze... è una figata :P ... 'sto 3D di GM non mi dispiace, anche nella sua semplicità... senza troppe pretese e giocando con le atmosfere si possono fare cosuccie sfiziose... questo progettino lo chiamo "il Cacciatore di Lucertole"... con un rudimentale fucile steam-punk e trappole micidiali si va a caccia dei pericolosi lucertoloni che vivono sulle montagne e nelle caverne del pianeta, per poi rivendere nei mercati della colonia la loro prezzolatissima pelle, con la quale vengono confezionati stivali e borse alla moda, molto in voga tra l'alta borghesia coloniale.
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: [DLL] NJAssimp

Messaggio da civic71 »

Bel progetto di gioco Prometeo . Con la vendita delle pelli si potrebbero acquistare nuove armi :rockrock: ... ogni tanto qualche screenshot sarebbe bello da vedere ;)

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: [DLL] NJAssimp

Messaggio da BaronVsCorsar »

bellissime le potenzialità di questa dll!
non capisco una cosa nell'esempio,
perchè in ogni oggetto nell'evento draw ti preoccupi di settare il color in c_white e tornare al c_black alla fine?

Codice: Seleziona tutto

draw_set_color(c_white);
[...disegno modello...]
draw_set_color(c_black);
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] NJAssimp

Messaggio da Jak »

BaronVsCorsar ha scritto:bellissime le potenzialità di questa dll!
non capisco una cosa nell'esempio,
perchè in ogni oggetto nell'evento draw ti preoccupi di settare il color in c_white e tornare al c_black alla fine?

Codice: Seleziona tutto

draw_set_color(c_white);
[...disegno modello...]
draw_set_color(c_black);
Perchè il c_black sarebbe "lo standard" in gm quindi è sempre meglio reimpostarlo giusto per coerenza. Per i modelli come per le primitive invece viene usato quel colore e quindi per necessità imposto c_white.
Dopotutto se non lo facessi dovrei comunque impostare ogni volta che disegno il colore opportuno per essere sicuro di nona vere problemi di depht ed altro così per coerenza rimetto il black che in caso di dimenticanza torna tutto al suo posto.
Coi colori è anche abbastanza innocuo ma quando usi surface e blend moded una dimenticanza può provocare disastri quindi lo faccio anche un po per abitudine oltre che di sicurezza.

Per necessità su Lizard ho aggiunto la funzione NJA_GetVerticiesNum, tuttavia essendo un'update proprio scarno per ora non aggiorno la dll, dopotutto è ancora piena di bug (cioè non fa controllo sugli errori lato GM che porterebbero ad un crash del programma e non è una bella cosa)
Tuttavia vedo che l'idea di lavorare in parallelo funziona, è una funzione che ero sicuro di averla inserita e di conseguenza l'avrei potuta dimenticare per molto tempo. Con la scusa di Lizard sviluppo piano piano questa dll.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: [DLL] NJAssimp

Messaggio da Tizzio »

veramente io trovo molto più comodo impostare c_white di default, se uso il 3d.
In caso lo cambio (tipo con c_black) lo reimposto subito dopo a c_white.

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] NJAssimp

Messaggio da Prometeo »

in quest'ultima versione ho levato il floor e l'ho sostituito con degli oggetti terreno che possono riflettere le luci, ho messo più erba, 6 luci più la ambient, il disattiva-attiva oggetti, ma già mi rallenta un pochino:
http://prometeogames.altervista.org/GMlizard.rar

i movimenti del Cacciatore: col tasto SPACE si alterna tra "corsa in piedi" e "camminata accovacciato", mentre con CTRL si alterna tra "camminata accovacciato" e "strisciare a terra", meglio se tra l'erba... con freccia giù si riparte con la room.

L'idea è quella di fare tutto col 3D, senza ricorrere ad elementi piatti 2D come feci a suo tempo per l'erba, ma è evidente che questa versione 3D dell'erba pesa troppo... soluzione: sarà un ambiente poco erboso :P
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: [DLL] NJAssimp

Messaggio da Tizzio »

Prometeo ha scritto:in quest'ultima versione ho levato il floor e l'ho sostituito con degli oggetti terreno che possono riflettere le luci, ho messo più erba, 6 luci più la ambient, il disattiva-attiva oggetti, ma già mi rallenta un pochino:
http://prometeogames.altervista.org/GMlizard.rar
Spoiler
i movimenti del Cacciatore: col tasto SPACE si alterna tra "corsa in piedi" e "camminata accovacciato", mentre con CTRL si alterna tra "camminata accovacciato" e "strisciare a terra", meglio se tra l'erba... con freccia giù si riparte con la room.

L'idea è quella di fare tutto col 3D, senza ricorrere ad elementi piatti 2D come feci a suo tempo per l'erba, ma è evidente che questa versione 3D dell'erba pesa troppo... soluzione: sarà un ambiente poco erboso :P
molto, molto carino, ma sul portatile mi va a 1 fps mentre sul fisso a 2fps :lol:

Comunque se usi GMOgre puoi benissimo mettere tutta questa erba :sisisi:

Avatar utente
Blow_
Newbie
Messaggi: 3
Iscritto il: 14/02/2013, 11:49
Specialità: Non so programmare
Contatta:

Re: [DLL] NJAssimp

Messaggio da Blow_ »

davvero molto utile, continua così

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] NJAssimp

Messaggio da Prometeo »

mamma mia, messi male eh?... sul mio gira con un lievissimo rallentamento, ma proprio lieve, e dire che considero il mio computer e la mia scheda grafica ormai datate e da aggiornare assolutamente... credo sia l'erba, provate questa versione senza erba, ma con alberi:
http://prometeogames.altervista.org/GMlizard2.rar
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] NJAssimp

Messaggio da Jak »

Prometeo, qua su gmi siamo tutti messi male, io non ho una scheda che va cambiata assolutamente, ho una scheda che andava cambiata assolutamente anche 6 anni fa :lol:
Eppure mi gira rallentato ma ad occhio direi sui 15-20 fps.
Ogre o non ogre dubito cambierebbe moltissimo, le draw calls non sono tantissime, ciò che pesa è proprio l'erba che da sempre è stato qualcosa di pesante se usata massivamente per ottenere buoni effetti, figuriamoci usando tutti quei triangoli per ogni filo d'erba!!!
L'erba è ancora oggi un piano e non qualcosa di "solido", e ancora oggi è spessissimo generata con un quad con la texture di erba, così come per il fogliame e tutto (vedi gli alberi del mio esempio)
La soluzione migliore e semplice per ottenere una buona erba/fogliame non seghettato è l'alpha testing che non esistendo in gm non si può fare altrimenti se non disattivando l'interpolazione per la texture di erba/fogliame (infatti nell'esempio l'avevo disattivata per evitare bug riguardanti l'alfa)
Fai l'erba con una manciata di quads texturati intrecciati tra loro a caso e l'erba sarà già più veloce (anche se cè comunque un limite)
Se l'erba è molta è consigliabile addirittura fare dei gruppi di fili d'erba, anche ripetuti in modo da avere un'unico modello che raggruppa tanti fili d'erba, questo aumenterà le prestazioni lato gm dando più spazio possibile di lavorare alla scheda video.
Come hai fatto modelli del terreno dovrai fare modelli di gruppi di fili d'erba.

PS: Ovviamente il raggruppamento è una cosa che permetterò di fare automaticamente su Lizard :sisisi:

PPS: La versione con alberi gira fluida, è proprio l'erba che pesa. Anche disattivare l'illuminazione per l'erba potrebbe portare a miglioramenti.
Hai 8 luci, usale bene, calcolare la distanza dal modello per ogni luce e attivare/disattivare quelle opportune di conseguenza eviterà lo spreco e permetterà di utilizzare più di 8 luci nella scena. Basta che ogni volta che disegni un modello attivi solo le 8 luci più vicine ad esso e puoi averne tendenzialmente infinite nella room.

PPPS: Il livello è molto scuro e le luci si vedono poco, con game maker una buona cosa da fare sarebbe cercare di evitare di usare texture molto scure ma usarle abbastanza "brillanti" e sfruttare bene il colore della luce per ottenere l'effetto desiderato.


Prossimo step di NJAssimp causa necessità di Lizard: Supporto materiali!
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: [DLL] NJAssimp

Messaggio da BaronVsCorsar »

Tizzio ha scritto:veramente io trovo molto più comodo impostare c_white di default, se uso il 3d.
In caso lo cambio (tipo con c_black) lo reimposto subito dopo a c_white.
come è c_black... :confuso:
con c_black non ottengo solo l'effetto silhouette?

credevo che il default (anche nel 2d comunque) fosse il c_white...
vorrei capire meglio, spieghi un po' più in dettaglio?
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: [DLL] NJAssimp

Messaggio da Tizzio »

BaronVsCorsar ha scritto:
Tizzio ha scritto:veramente io trovo molto più comodo impostare c_white di default, se uso il 3d.
In caso lo cambio (tipo con c_black) lo reimposto subito dopo a c_white.
come è c_black... :confuso:
con c_black non ottengo solo l'effetto silhouette?

credevo che il default (anche nel 2d comunque) fosse il c_white...
vorrei capire meglio, spieghi un po' più in dettaglio?
"in caso lo cambio" -> specifico:

Se dovessi disegnare del testo nero, lo cambio TEMPORANEAMENTE in nero, poi o re-imposto in bianco( o comunque un colore che mi serve) per disegnare i modelli

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] NJAssimp

Messaggio da Prometeo »

Jak ha scritto: Il livello è molto scuro e le luci si vedono poco, con game maker una buona cosa da fare sarebbe cercare di evitare di usare texture molto scure ma usarle abbastanza "brillanti" e sfruttare bene il colore della luce per ottenere l'effetto desiderato.
è scuro perchè sto simulando l'ambiente notte o caverna e ho messo un'ambient molto bassa... all'aperto di giorno sarà tutto luminoso e senza luci e è molto più chiaro, come il tuo esempio col dwarf.

Per l'erba risolvo mettendocene pochissima e studiandomi una forma il meno pesante possibile o in stile alieno, di altro pianeta... mi serve qualcosa tipo erba dove far nascondere il Cacciatore... mi studio la cosa.
In alternativa ripenso e ambiento tutto in stile città, con pareti e soffitti sarebbe tutto più facile e leggero... una specie di Lizard-Invasion.

Sto lavorando con dimensioni molto grandi, sia per i modelli che per le textures... per esempio un tile del modello collina è di dimensioni 1024x1024x200 e la sua texture è 1024x1024, mentre quella room è di 10000x10000... se riduco le dimensioni dei modelli e delle loro textures guadagno in velocità?
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Avatar utente
Tizzio
GMI Honor
Messaggi: 5836
Iscritto il: 29/06/2010, 23:43
Specialità: programmazione
Contatta:

Re: [DLL] NJAssimp

Messaggio da Tizzio »

se riduci le dimensioni delle texture sì, dei modelli no, anzi, hai + triangoli concentrati in uno spazio più ristretto!

Avatar utente
enick
GMI VIP
Messaggi: 3749
Iscritto il: 26/06/2011, 19:34
Specialità: 39dll e 3D
Località: Sardegna
Contatta:

Re: [DLL] NJAssimp

Messaggio da enick »

si anche io uso come colore di deafault del draw c_white e nei draw specifici faccio

Codice: Seleziona tutto

draw_set_color(c_altro)
draw_penis()
draw_set_color(c_white)
come credo dica tizzio e anche tu baron..
Nicola porcu(Sardegna)
ImmagineImmagine
Immagine
Are you sleeping?
[email protected]

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] NJAssimp

Messaggio da Jak »

Tizzio ha scritto:dei modelli no, anzi, hai + triangoli concentrati in uno spazio più ristretto!
Bè non esattamente, mi sembra ovvio che le proporzioni dei modelli devono mantenersi quelle rispetto alla camera, Alla fine il peso è calcolo_vertici+calcolo_pixel, le misure sono relative nel 3d e non hanno alcuna influenza sulle prestazioni, l'unica cosa che cambia è il numero di pixel su schermo ma per questo cè poco da fare.

Piuttosto vedo che non hai attivato il culling!!! In questo modo renderizzi il doppio dei pixel lo sai? Attivalo subito e godi dell'aumento notevole di prestazioni!!! :sisisi:

Se l'erba la vuoi molto dettagliata puoi sempre usare i livelli di dettaglio, quando l'erba è abbastanza vicina usi il modello mentre quando è lontana usi i quads ottenendo la stessa qualità ma a maggiori prestazioni (perchè appunto calcoli centinaia di triangoli per renderizzare quei 2/3 pixel visibili vista la distanza)
Altra cosa che velocizza nel 3d è il frustum culling al posto della disattivazione, per quello direi che lo puoi fare con qualche semplice calcolo basato sull'angolo di visuale.

Comunque preferirei non parlassimo dei test di prometeo su questo topic, non ne avevi già uno tuo? :roll:
Finchè centra in qualche modo con la dll mi sta anche bene ma a quanto vedo ormai hai preso la mano ed i problemi sono tutti esterni e legati all'uso del d3d più che alla mia dll.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
Prometeo
Membro d'elite
Messaggi: 1258
Iscritto il: 15/09/2010, 12:36
Specialità: Grafico Progammatore
Uso: GameMaker 8.1
Località: Italia
Contatta:

Re: [DLL] NJAssimp

Messaggio da Prometeo »

Jak ha scritto:Comunque preferirei non parlassimo dei test di prometeo su questo topic, non ne avevi già uno tuo? :roll:
Finchè centra in qualche modo con la dll mi sta anche bene ma a quanto vedo ormai hai preso la mano ed i problemi sono tutti esterni e legati all'uso del d3d più che alla mia dll.
hai ragione scusa, è che è stata la tua dll a risvegliare l'interesse per il 3D, cmq per ora ho finito con questo embrione di gioco e torno a Micro... dopo la compe lo riprendo, ma non senza collaboratori. :salut:
Il dolore che i limiti delle cose c'impongono, cioè a dire il mal essere del desiderio non soddisfatto, il senso del non potere tutto, ci dà il sentimento e l'idea del tutto. Il limite diventa indizio. E la più larga via verso l'infinito è il dolore. [Niccolò Tommaseo]

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: [DLL] NJAssimp

Messaggio da aironenero »

E compatibile con gmstudio??? E se vorrei usarla su android come si puo fare?
Unity Developer
Immagine
Immagine

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [DLL] NJAssimp

Messaggio da Jak »

aironenero ha scritto:E compatibile con gmstudio???
Se gm studio supporta le dll allora sì.
aironenero ha scritto:E se vorrei usarla su android come si puo fare?
Non puoi. Usala per convertire i tuoi modelli su windows e poi su android usa i modelli d3d convertiti.
Dopotutto sto facendo Lizard apposta per fare ciò :roll:
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti