Pagina 3 di 5

Re: SlaD3D

Inviato: 30/12/2011, 23:23
da Sla
La teapot è l'hello world della grafica 3d.
Inoltre dx permette di crearla con una linea di codice..

Re: SlaD3D

Inviato: 30/12/2011, 23:34
da Sla
enick ha scritto:
Super_Slascio ha scritto:?!? si che corrispondono! Cmq, anche se cosi non fosse, gm resta nella modalità 2d mentre la dll disegna sulla finestra di gioco. mouse_x e mouse_y non vengono intaccati
be nel d3d e nell u3d vengono "sballati" se mai dovessi far ruotare qualcosa in base a point_direction(x,y,mouse_x,mouse_y) la direzione non corrisponderebbe a quella diretta verso il mouse come nel 2d.
Ti manca qualche base.
Una direzione 3d non potrà mai corrispondere a una 2d.. perchè? perchè è 3d.
Non è che mettere il 3d fa sballare le direzioni. point_direction fa un calcolo matematico trigonometrico che è sempre lo stesso, nel 3d e nel 2d.
Se muovi un oggetto nel piano XY puoi benissimo usare point_direction anche nel 3d. La direzione che effettivamente vedi dipende da come hai impostato la telecamera.

Re: SlaD3D

Inviato: 31/12/2011, 0:46
da BaronVsCorsar
Super_Slascio ha scritto:La teapot è l'hello world della grafica 3d.
Inoltre dx permette di crearla con una linea di codice..
http://en.wikipedia.org/wiki/Utah_teapot

Sla: hai già un manuale (anche minimalista) della dll, o per lo meno la lista delle istruzioni ordinate per "argomenti"?

@jak: non mi stupivo della possibilità in sè, ero semplicemente felice di averlo in una dll che si "sovrappone" al d3d ;)

Re: SlaD3D

Inviato: 31/12/2011, 11:30
da Sla
Baron credo proprio che farò un sito per la DLL composto semplicemente da due pagine.
La prima conterrà il link di download e una piccola descrizione.
Nella seconda metterò un ottimo manuale in cui verrà analizzata ogni singola funzione con la descrizione degli argomenti e del valore di ritorno, proponendo anche degli esempi di utilizzo in codice gml.... anche se basterebbe molto meno in quanto il codice è estremamente simile a quanto verrebbe utilizzando il d3d interno di gm.
Ad ogni modo aprirò anche un nuovo topic specializzato nella battaglia ai bug, visto che questo sta diventando troppo vago.
In quel topic ognuno darà il suo contributo postando ESCLUSIVAMENTE post come (esempio inventato) "Quando attivo la luce direzionale pixellare non vengono disegnate le texture".

Re: SlaD3D

Inviato: 03/01/2012, 14:35
da Sla
Tabella di marcia:
ToDos List ha scritto:------------ CORREZIONI VELOCI -----------
Aggiungere funzioni rimanenti d3d_draw_ (wall,floor,ellipsoid,cylinder,cone)
Aggiungere funzioni rimanenti d3d_model_ (wall,floor,ellipsoid)
Fixare d3d_model_load (ci mancano giusto le funzioni d3d_model_ )
Fixare d3d_model_save (ci mancano giusto le funzioni d3d_model_ )

------------- FUTURE VERSIONI ------------
Aggiustare importer OBJ
Creare importer 3DS
skeleton-animating
Shader da aggiungere:
  • spot light (pixel lighting ancora assente)
    Normal mapping
    Parallax displacement mapping
    dynamic shadow casting
    Toon shading
    Motion blur
    Ambient occlusion
    Cube map reflection
Posto la prossima release una volta finite le "correzioni veloci".
L'unico problema sono d3d_draw_wall e d3d_draw_floor.
Prendiamo per esempio la seconda, floor. Bisogna specificare sotto argomenti le coordinate di 2 vertici, però non capisco con che logica
gm determina quelle dei 2 restanti quando le due coordinate Z specificate non coincidono.
Se qualcuno ha voglia di provare a capirlo e posta qui qualche equazione mi aiuterebbe molto ^^

Re: SlaD3D

Inviato: 03/01/2012, 14:38
da enick
Super_Slascio ha scritto:Tabella di marcia:
ToDos List ha scritto:------------ CORREZIONI VELOCI -----------
Aggiungere funzioni rimanenti d3d_draw_ (wall,floor,ellipsoid,cylinder,cone)
Aggiungere funzioni rimanenti d3d_model_ (wall,floor,ellipsoid,cylinder,cone)
Fixare d3d_model_load (ci mancano giusto le funzioni d3d_model_ )
Fixare d3d_model_save (ci mancano giusto le funzioni d3d_model_ )

------------- FUTURE VERSIONI ------------
Aggiustare importer OBJ
Creare importer 3DS
skeleton-animating
Shader da aggiungere:
  • spot light (pixel lighting ancora assente)
    Normal mapping
    Parallax displacement mapping
    dynamic shadow casting
    Toon shading
    Motion blur
    Ambient occlusion
    Cube map reflection
Posto la prossima release una volta finite le "correzioni veloci".
L'unico problema sono d3d_draw_wall e d3d_draw_floor.
Prendiamo per esempio la seconda, floor. Bisogna specificare sotto argomenti le coordinate di 2 vertici, però non capisco con che logica
gm determina quelle dei 2 restanti quando le due coordinate Z specificate non coincidono.
Se qualcuno ha voglia di provare a capirlo e posta qui qualche equazione mi aiuterebbe molto ^^
intendi la logica degli argomenti d3d_draw_floor() ? [dubito :roll: ]

Re: SlaD3D

Inviato: 03/01/2012, 15:30
da Sla
Un "floor" ha 4 vertici.
Con la funzione d3d_draw_floor ne specifichi 2.
Devo conoscere il modo in cui gm calcola la posizione dei 2 restanti per poter ricreare la stessa funzione nella mia DLL.
E' necessario rifarla allo stesso modo per far funzionare bene anche il d3d_model_load.

Re: SlaD3D

Inviato: 03/01/2012, 15:45
da enick
Super_Slascio ha scritto:Un "floor" ha 4 vertici.
Con la funzione d3d_draw_floor ne specifichi 2.
Devo conoscere il modo in cui gm calcola la posizione dei 2 restanti per poter ricreare la stessa funzione nella mia DLL.
E' necessario rifarla allo stesso modo per far funzionare bene anche il d3d_model_load.
mm.. d3d_draw_floor(x1,y1,x2,y2) ragioniamo...

il primo vertice è definito da x1 e y2.
il secondo dalla x(x2) e y ( y1, infatti mantiene la stessa y del primo vertice)
il terzo punto dalla y(y2) e x(x2, infatti mantine la x del secondo vertice )
mentre il quarto punto possiede come x(x1) e come y(y2, infatti mantine la y del terzo vertice)


sarà un ragionamento stupido pero puo esserti d'aiuto ? ci saranno sicuramente delle formule geometriche , che in base alle proprietà dei "rettangoli" o quadrilateri ti tirano fuori una soluzione matematica.

Re: SlaD3D

Inviato: 03/01/2012, 16:00
da Sla
lascia perdere 8)

Re: SlaD3D

Inviato: 03/01/2012, 16:01
da enick
Super_Slascio ha scritto:lascia perdere 8)
LOL

Re: SlaD3D

Inviato: 04/01/2012, 0:46
da Sla
http://www.mediafire.com/?wpc4j1cew37hw8e
Un piccolo esempio con un modello d3d che mi ha dato Jak.
il modello non ha le normali, esse vengono calcolate automaticamente con d3d_model_calculate_normals in modo da poter attivare una buona illuminazione.
Immagine
Se vi dice che mancano delle DLL cercatele su internet ,scaricatele e mettetele nella directory di gioco.Sono estensioni di Microsoft Visual C++
(il programma che ho usato per compilare) necessarie se non avete il programma stesso.
il modello viene disegnato 5900 volte, per un totale di 360.000 triangoli.
Considerate anche che ci sono 5900 richiami a una operazione di disegno, se il modello fosse uno unico con lo stesso numero di triangoli andrebbe più veloce.

Re: SlaD3D

Inviato: 04/01/2012, 2:03
da enick
my pc all'avvio di sla3d ha scritto:sla3d ha smesso di funzionare
:?

Re: SlaD3D

Inviato: 04/01/2012, 9:46
da Sla
Uhm a jak andava,e jak ha una ciofeca per pc.cmq dovrò aggiungere molti controlli,magari non ti va pixel shader 2.
edit: ho controllato col portatile, è sicuramente per quello: non supporti ps 2.0. Attiverò dei controlli che impostano il minore disponibile.

Re: SlaD3D

Inviato: 04/01/2012, 11:43
da Jak
Super_Slascio ha scritto:Uhm a jak andava,e jak ha una ciofeca per pc.cmq dovrò aggiungere molti controlli,magari non ti va pixel shader 2.
Però intanto ho pixel shader 4.1 :lol: (anche se uso al massimo 3 visto che ho dx 9)
Comunque funge anche a nocode.
@skiz: spero che perlomeno hai estratto tutti i file dall'archivio sennò puzzi :lol:
Comunque ottimo lavoro, velocissimo. Attendo impazientemente una prima release della dll :metalgo:

Re: SlaD3D

Inviato: 04/01/2012, 11:47
da guidox
Immagine

Re: SlaD3D

Inviato: 04/01/2012, 11:48
da Jak
guidox ha scritto:Immagine
Super_Slascio ha scritto:Se vi dice che mancano delle DLL cercatele su internet ,scaricatele e mettetele nella directory di gioco.Sono estensioni di Microsoft Visual C++

Re: SlaD3D

Inviato: 04/01/2012, 11:51
da guidox
Jak ha scritto:
guidox ha scritto:Immagine
Super_Slascio ha scritto:Se vi dice che mancano delle DLL cercatele su internet ,scaricatele e mettetele nella directory di gioco.Sono estensioni di Microsoft Visual C++
E va bhé non ho letto. xD
Potevi metterle te... :lol:

Re: SlaD3D

Inviato: 04/01/2012, 11:52
da Jak
guidox ha scritto:E va bhé non ho letto. xD
Potevi metterle te... :lol:
Visto che io sla ed altri abbiamo visual c++ funge tutto alla perfezione e non possiamo sapere esattamente quali dll vi servono. Magari ce le avevate già.

Re: SlaD3D

Inviato: 04/01/2012, 11:55
da guidox
Jak ha scritto:
guidox ha scritto:E va bhé non ho letto. xD
Potevi metterle te... :lol:
Visto che io sla ed altri abbiamo visual c++ funge tutto alla perfezione e non possiamo sapere esattamente quali dll vi servono. Magari ce le avevate già.
Ok ok. :P

Re: SlaD3D

Inviato: 04/01/2012, 12:47
da Sla