SlaD3D

Gex, Dll, DyLib, Js e ogni tipo di estensione per GameMaker
Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: SlaD3D

Messaggio da BaronVsCorsar »

Sla, penso ad un futuro gioco sviluppato con la tua dll e distribuito a un analfabeta informatico...
In VC++ non è possibile forzare l'inclusione delle DLL indispensabili per il runtime nella tua dll prodotta,
in modo da rendere semplice al massimo la distribuzione (e rinunciare ovviamente ad uno dei massimi
vantaggi delle dll, cioè evitare di avere codice compilato doppio sul proprio pc...)?
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: SlaD3D

Messaggio da Jak »

Bè baron, a parte che non mi pare si possa fare esiste apposta il meccanismo delle gex per evitare di avere troppi file sottomano (due dll al posto di una, che fatica :lol: ) che tra l'altro cè scritto esplicitamente nel manuale di game maker che le funzioni per le dll ci sono solo per questioni di retrocompatibilità. Personalmente non lo trovo un grosso problema. Mi domando come mai con ogre nessuno si è lamentato del grande numero di dll presenti :roll:
BaronVsCorsar ha scritto:e rinunciare ovviamente ad uno dei massimi
vantaggi delle dll, cioè evitare di avere codice compilato doppio sul proprio pc
Non ho capito cosa intendi :fapensare:
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
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

Tanto per la cronaca, i giochi commerciali hanno decine di DLL, però è veramente poco professionale distribuire la mia SlaD3D.dll insieme ad altre..
Vedrò cosa posso fare con VC.
Il problema è che non posso exportare se non da VC++, quando uso il DirectX SDK
Ultima modifica di Sla il 04/01/2012, 14:49, modificato 1 volta in totale.
eppure mi sembra tutto giusto...

Nix
GMI Advanced
Messaggi: 2437
Iscritto il: 26/12/2008, 18:14
Uso: GM:Studio 2
Contatta:

Re: SlaD3D

Messaggio da Nix »

Potresti fare come fanno le GEX, cioè che l'altra DLL viene salvata nella tua DLL ed estratta quando serve :fapensare:

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

Potrei, ma non voglio che ci siano file secondari visibili..
eppure mi sembra tutto giusto...

Nix
GMI Advanced
Messaggi: 2437
Iscritto il: 26/12/2008, 18:14
Uso: GM:Studio 2
Contatta:

Re: SlaD3D

Messaggio da Nix »

La estrai su %temp% o su %appdata% o con tmpfile()...

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

problema risolto, sono riuscito a compilare con code blocks. 8)
eppure mi sembra tutto giusto...

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

Re: SlaD3D

Messaggio da BaronVsCorsar »

Nix ha scritto:Potresti fare come fanno le GEX, cioè che l'altra DLL viene salvata nella tua DLL ed estratta quando serve :fapensare:
ma no, così è davvero barbaro...

io intendevo compilare la dll runtime del VC++ limitatamente a quanto necessario alla SlascioSuperd3dMegaPackDLL.dll.
Senza avere ridondanza al 100%, ma includendo il minimo indispensabile.

Per intenderci (@ sla): linkare il numero minimo indispensabile di ".o" necessari nella tua dll... ammesso che le runtime dll di VC++ siano compilabili o siano fornite a livello di sorgente (o almeno oggetti) e non già precompilate in dll :fapensare:
Vabbè, giusto per curiosità: con codeblock a che livello hai realizzato la fusione? C'è l'intera dll o un sottoinsieme?

@jak: il problema non era avere più dll, era essere sicuri di fornire all'utente informaticamente analfabeta tutte le dll che erano necessarie, a prescindere da cosa aveva installato sul suo pc. Non semplicemente supponendo che quelle eventualmente mancanti se le andasse a cercare lui...

@jak2: le dll hanno davvero senso solo quando sono "installate" nel sistema operativo, e non distribuite insieme all'eseguibile.
In questo modo se più di un programma necessità della stessa dll non avrò due copie di quel file sul pc, ma solo una. Entrambi i programmi accedono fisicamente alla stessa dll (inteso come file) et voilà. Pensa solo se per ogni gioco ti dovessi copiare un DirectX dedicato per lui! :paura:
Ovviamente distribuire le dll con un eseguibile fa totalmente perdere questo enorme vantaggio.
Tecnicamente, se la dll è distribuita insieme all'eseguibile, sarebbe più vantaggioso compilare l'eseguibile integrando al suo interno il contenuto della dll.
Con GM questo non è possibile, e si fa di necessità virtù.
(notare che ai tempi dei SO semplici le dll non esistevano perchè non c'era motivo: una cosa concettualmente simile la si faceva all'atto del linking con i file-oggetto).
Non a caso il runtime del VC++ esiste anche in versione installabile, e se ti installi solo quello non hai più questi problemi.
Questo è il metodo "informaticamente" intelligente di mettersi quelle DLL sul proprio pc, purtroppo è anche quello più complicato e che richiede maggiori conoscenze... quindi via di distribuzione di file dll (oppure di compilazione "integrata").
E' più chiaro? :hum:
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: SlaD3D

Messaggio da Jak »

Ora sei stato chiarissimo. :sisisi:
BaronVsCorsar ha scritto:Non a caso il runtime del VC++ esiste anche in versione installabile, e se ti installi solo quello non hai più questi problemi.
Questa roba purtroppo non l'ho mai capita. Con i redistributable del runtime vc++ ti aggiungono tutto al sistema tranne quella dll mentre installando vc++ si. Questo non sarebbe un problema se quella dll non fosse assolutamente necessaria per far funzionare una qualsivoglia cosa fatta con vc++(e non cè il sorgente purtroppo)
Proprio non capisco come mai :fapensare:
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
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

Non sono mai riuscito a trovare il runtime come sorgente..
Per quanto riguarda codeblocks, sono riuscito a metterci tutta la dll. Da alcuni errori stupidi e facilmente sistemabili. Continuerò a sviluppare la DLL in VC++ per comodità (intellisense),e, solo al momento della compilazione, la trasferirò su C::B.
eppure mi sembra tutto giusto...

Nix
GMI Advanced
Messaggi: 2437
Iscritto il: 26/12/2008, 18:14
Uso: GM:Studio 2
Contatta:

Re: SlaD3D

Messaggio da Nix »

Super_Slascio ha scritto:Continuerò a sviluppare la DLL in VC++ per comodità (intellisense)
Anche C::B ha l'intellisense (con Ctrl+Space) (configurabile da Settings/Editor/Code-completion and symbols blablabla), e poi è open source e GCC (se stai usando quello) compila per più piattaforme :fapensare:

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

modelli OBJ...
Immagine
eppure mi sembra tutto giusto...

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

Re: SlaD3D

Messaggio da enick »

Super_Slascio ha scritto:modelli OBJ...
Immagine
i modelli da sketchup vengono importati e texturizzati perfettamente ?
Nicola porcu(Sardegna)
ImmagineImmagine
Immagine
Are you sleeping?
[email protected]

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

Quello non è texturato, è solo colorato..
comunque sì.
Devi avere sketchup pro per poter exportare in obj.
eppure mi sembra tutto giusto...

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

Re: SlaD3D

Messaggio da enick »

Super_Slascio ha scritto:Quello non è texturato, è solo colorato..
comunque sì.
Devi avere sketchup pro per poter exportare in obj.
Alcuni importer obj che ho testato richiedevano texture uvmappata, questo sarà come il tuo vecchio importer 3ds ? cioe ogni texture è un materiale è il file obj ha le informazioni relative alle texture??

PS: potrei aver detto una serie di minchiate :cappa:
Nicola porcu(Sardegna)
ImmagineImmagine
Immagine
Are you sleeping?
[email protected]

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

Non c'entra niente con l'importer 3ds. Quello lo avevo dovuto adattare al sistema d3d di game maker.
Non esiste la richiesta di texture uv-mappate!
Puoi uv-mappare (cioè cambiare i valori u,v ai vertici del modello) un obj per facilitare il lavoro di creazione della texture, ma lo fa già Sketchup nel momento in cui exporta con i materiali che definisci te (anche per questo è comodo sketchup: puoi texturare cliccando sui poligoni stessi!).

Per game maker c'è un importer di obj (veramente schifoso), che è mosaic light.
Questo non carica il file .mtl (material lib) che generalmente sta insieme al suo .obj. Inoltre, visto che gm può dare 1 sola texture ad ogni modello (non supporta materiali), c'è bisogno di creare una unica texture per tutto l'obj. Da qui nasce la necessità di uv mappare nuovamente l'obj (con programmi come UV mapper), per creare una texture unica.

Sketchup exporta bene l'obj con il suo mtl, ci mette le sue UV e le sue texture.
Il mio importer lo legge esattamente come va letto, perciò è in grado, come hai visto, di renderizzarlo perfettamente.

Scritto un po velocemente, spero di essere stato chiaro.
eppure mi sembra tutto giusto...

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

Re: SlaD3D

Messaggio da enick »

chiarissimo GRAZIE :cappa:
Nicola porcu(Sardegna)
ImmagineImmagine
Immagine
Are you sleeping?
[email protected]

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

Re: SlaD3D

Messaggio da Tizzio »

Che figata Immagine

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: SlaD3D

Messaggio da Sla »

http://www.megaupload.com/?d=CH8GKIWK
Guardate un po come vi gira. Estraete tutta la cartella e avviate l'exe 8)
eppure mi sembra tutto giusto...

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

Re: SlaD3D

Messaggio da Jak »

Xeryan ha scritto:comunque noto rallentamenti nella rotazione
Idem con patate. E sempre con lo stesso tempismo giusto?
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 3 ospiti