[lnkForumImage]
Download FREE Software.

Confronta i prezzi di migliaia di prodotti.
News Forum Italiano
 Home | Login | Registrati | Ricerca 


 

Forums >

it.comp.giochi.sviluppo

Nuovo Tutorial D3D10

Vincent

16/04/2009 21:43:09

Dopo un bel pò di lavoro ecco qui un nuovo corposo tutorial che spero potrà
fare la gioia di tanti appassionati di CG.

Il tutorial è incentrato principalmente sui fondamenti dello shadow mapping
e della modifica "variance", dando prima uno sguardo generale a concetti
propedeudici ma comunque interessanti.

Il fiore all'occhiello (si spera) è il tentativo di spiegare i retroscena
della buona classe ID3D10Effect.

http://xvincentx.netsons.org/programB...

Trovate il link al PDF e all'esempio correlato.

Commenti e email sono sempre graditi.

12 Risposte

Vincent

21/04/2009 17:45:04

0

Eh...nessuno gli da una occhiata?

"Vincent" <darkfrenesy@yahoo.it> ha scritto nel messaggio
news:49e7a66d$0$1129$4fafbaef@reader1.news.tin.it...
> Dopo un bel pò di lavoro ecco qui un nuovo corposo tutorial che spero
> potrà fare la gioia di tanti appassionati di CG.
>
> Il tutorial è incentrato principalmente sui fondamenti dello shadow
> mapping e della modifica "variance", dando prima uno sguardo generale a
> concetti propedeudici ma comunque interessanti.
>
> Il fiore all'occhiello (si spera) è il tentativo di spiegare i retroscena
> della buona classe ID3D10Effect.
>
> http://xvincentx.netsons.org/programB...
>
> Trovate il link al PDF e all'esempio correlato.
>
> Commenti e email sono sempre graditi.
>
>


Davide Pasca

22/04/2009 02:43:14

0

On Apr 22, 2:45 am, "Vincent" <darkfren...@yahoo.it> wrote:
> Eh...nessuno gli da una occhiata?

Ho visto e' sembra ben fatto 8)

...non ho avuto tempo pero' di leggere meglio per dare un'opinione piu'
precisa.
Forse sarebbe piu' utile se qualcuno con meno esperienza provasse a
leggere il tutorial per vedere effettivamente come funziona con chi
sta affrontando il soggetto.

baubau
Davide

Vincent

22/04/2009 08:00:09

0

Il parere di un esperto (tu) è sempre necessario, però.

"Davide Pasca" <dpasca@gmail.com> ha scritto nel messaggio
news:f82dc499-f2bf-484b-b3b0-fef80eb5b43d@z16g2000prd.googlegroups.com...
On Apr 22, 2:45 am, "Vincent" <darkfren...@yahoo.it> wrote:
> Eh...nessuno gli da una occhiata?

Ho visto e' sembra ben fatto 8)

...non ho avuto tempo pero' di leggere meglio per dare un'opinione piu'
precisa.
Forse sarebbe piu' utile se qualcuno con meno esperienza provasse a
leggere il tutorial per vedere effettivamente come funziona con chi
sta affrontando il soggetto.

baubau
Davide

Davide Pasca

23/04/2009 04:03:02

0

On Apr 22, 5:00 pm, "Vincent" <darkfren...@yahoo.it> wrote:
> Il parere di un esperto (tu) è sempre necessario, però.

Grazie per l' "esperto" 8)
Ho scaricato la demo ed ecco alcuni consigli..

L'uso:

- RAR e' molto diffuso ma forse meglio usare .ZIP che e' praticamente
incluso con Windows
- Il package include Debug e Release con tutti i contenuti.. e
file .SUO nella dir della soluzione
-- Di solito e' meglio evitare di includere tali files perche' non
servono a lanciare l'eseguibile e vengono comunque generati compilando
- ShadowMapping\Debug sarebbe meglio forse chiamata ShadowMapping
\Runnable o giu' di li
- Al lancio un errore di sistema dice che manca la DLL d3dx9_41.dll
(sono su Vista 64 con DXSDK Novembre 2009)


Problemi di compilazione:

- Non trova LoadMesh.h ..in caso servano moduli esterni e' importante
almeno includere istruzioni in eventuale readme.txt 8)
- Caratteri non-ASCII ('e' accentata in un commento). Da un warning
compilando sotto Windows in Giapponese (dipende dall'OS, non dalla
versione di Visual Studio).
-- Con Windows in altre lingue potrebbe addirittura dare errore (so di
un engine famoso che include caratteri non-ASCII e da errori di
compilazione su Windows in coreano 8)


Consigli riguardo al codice:

- Sarebbe meglio dividere in piu' files in modo da isolare le sezioni
chiave da cose come l'inizializzazione
- Ancora meglio raggruppare funzionalita' in una o piu' classi
- Attualmente hai tutte variabili e funzioni globali
-- E' consigliabile evitare o almeno minimizzare l'uso delle globali
quando il codice raggiunge una certa lunghezza
-- E' consigliato marcare le globali con un qualche prefisso per
distinguerle
--- Ne hai una che inizia con g_ ..o tutte o nessuna 8)
- __inline e' praticamente inutile per funzioni come InitWindow
() ..come ho gia' menzionato in passato, consiglio di usare inline
con parsimonia

Buon coding 8)
Davide

>
> "Davide Pasca" <dpa...@gmail.com> ha scritto nel messaggionews:f82dc499-f2bf-484b-b3b0-fef80eb5b43d@z16g2000prd.googlegroups.com...
> On Apr 22, 2:45 am, "Vincent" <darkfren...@yahoo.it> wrote:
>
> > Eh...nessuno gli da una occhiata?
>
> Ho visto e' sembra ben fatto 8)
>
> ..non ho avuto tempo pero' di leggere meglio per dare un'opinione piu'
> precisa.
> Forse sarebbe piu' utile se qualcuno con meno esperienza provasse a
> leggere il tutorial per vedere effettivamente come funziona con chi
> sta affrontando il soggetto.
>
> baubau
> Davide

Vincent

23/04/2009 07:40:25

0


"Davide Pasca" <dpasca@gmail.com> ha scritto nel messaggio
news:6f3241d6-300e-4239-90d0-c25d24b4e7b2@b6g2000pre.googlegroups.com...
On Apr 22, 5:00 pm, "Vincent" <darkfren...@yahoo.it> wrote:
> Il parere di un esperto (tu) è sempre necessario, però.

>- RAR e' molto diffuso ma forse meglio usare .ZIP che e' praticamente
>incluso con Windows
Lo ricorderò

>- Il package include Debug e Release con tutti i contenuti.. e
>file .SUO nella dir della soluzione
>-- Di solito e' meglio evitare di includere tali files perche' non
>servono a lanciare l'eseguibile e vengono comunque generati compilando
>- ShadowMapping\Debug sarebbe meglio forse chiamata ShadowMapping
>\Runnable o giu' di li
Vero. L'organizzazione delle cartelle in Visual Studio e' alquanto contorta.

>- Al lancio un errore di sistema dice che manca la DLL d3dx9_41.dll
>(sono su Vista 64 con DXSDK Novembre 2009)

Io sono su Vista32 con l'SDK di Marzo 2009 (suppongo tu abbia novembre 2008,
o vivi nel futuro? Mi anticipi qualche feature?)

Problemi di compilazione:

- Non trova LoadMesh.h ..in caso servano moduli esterni e' importante
almeno includere istruzioni in eventuale readme.txt 8)

Si, non lo metto mai. In effetti nel sito in cui vengono pubblicati
usualmente viene sempre specificato. Una nota in piu' da scrivere.

- Caratteri non-ASCII ('e' accentata in un commento). Da un warning
compilando sotto Windows in Giapponese (dipende dall'OS, non dalla
versione di Visual Studio).
-- Con Windows in altre lingue potrebbe addirittura dare errore (so di
un engine famoso che include caratteri non-ASCII e da errori di
compilazione su Windows in coreano 8)

Mmm, non mi ero veramente mai fatto questo problema :D

Consigli riguardo al codice:

- Sarebbe meglio dividere in piu' files in modo da isolare le sezioni
chiave da cose come l'inizializzazione

- Ancora meglio raggruppare funzionalita' in una o piu' classi
Nooooooo questo mai. Odio quelle pseudo classi che racchiudono il device
e forniscono a mio parere inutili funzionaltà.

- __inline e' praticamente inutile per funzioni come InitWindow
() ..come ho gia' menzionato in passato, consiglio di usare inline
con parsimonia
Eredità del precedente demo :)

Quindi non sei riuscito ad avviarlo?


Vincent

23/04/2009 12:26:28

0

E riguardo il testo??

"Vincent" <darkfrenesy@yahoo.it> ha scritto nel messaggio
news:49f01b7d$0$1111$4fafbaef@reader2.news.tin.it...
>
> "Davide Pasca" <dpasca@gmail.com> ha scritto nel messaggio
> news:6f3241d6-300e-4239-90d0-c25d24b4e7b2@b6g2000pre.googlegroups.com...
> On Apr 22, 5:00 pm, "Vincent" <darkfren...@yahoo.it> wrote:
>> Il parere di un esperto (tu) è sempre necessario, però.
>
>>- RAR e' molto diffuso ma forse meglio usare .ZIP che e' praticamente
>>incluso con Windows
> Lo ricorderò
>
>>- Il package include Debug e Release con tutti i contenuti.. e
>>file .SUO nella dir della soluzione
>>-- Di solito e' meglio evitare di includere tali files perche' non
>>servono a lanciare l'eseguibile e vengono comunque generati compilando
>>- ShadowMapping\Debug sarebbe meglio forse chiamata ShadowMapping
>>\Runnable o giu' di li
> Vero. L'organizzazione delle cartelle in Visual Studio e' alquanto
> contorta.
>
>>- Al lancio un errore di sistema dice che manca la DLL d3dx9_41.dll
>>(sono su Vista 64 con DXSDK Novembre 2009)
>
> Io sono su Vista32 con l'SDK di Marzo 2009 (suppongo tu abbia novembre
> 2008, o vivi nel futuro? Mi anticipi qualche feature?)
>
> Problemi di compilazione:
>
> - Non trova LoadMesh.h ..in caso servano moduli esterni e' importante
> almeno includere istruzioni in eventuale readme.txt 8)
>
> Si, non lo metto mai. In effetti nel sito in cui vengono pubblicati
> usualmente viene sempre specificato. Una nota in piu' da scrivere.
>
> - Caratteri non-ASCII ('e' accentata in un commento). Da un warning
> compilando sotto Windows in Giapponese (dipende dall'OS, non dalla
> versione di Visual Studio).
> -- Con Windows in altre lingue potrebbe addirittura dare errore (so di
> un engine famoso che include caratteri non-ASCII e da errori di
> compilazione su Windows in coreano 8)
>
> Mmm, non mi ero veramente mai fatto questo problema :D
>
> Consigli riguardo al codice:
>
> - Sarebbe meglio dividere in piu' files in modo da isolare le sezioni
> chiave da cose come l'inizializzazione
>
> - Ancora meglio raggruppare funzionalita' in una o piu' classi
> Nooooooo questo mai. Odio quelle pseudo classi che racchiudono il
> device e forniscono a mio parere inutili funzionaltà.
>
> - __inline e' praticamente inutile per funzioni come InitWindow
> () ..come ho gia' menzionato in passato, consiglio di usare inline
> con parsimonia
> Eredità del precedente demo :)
>
> Quindi non sei riuscito ad avviarlo?
>
>


Davide Pasca

24/04/2009 19:09:08

0

On Apr 23, 4:40 pm, "Vincent" <darkfren...@yahoo.it> wrote:
> "Davide Pasca" <dpa...@gmail.com> ha scritto nel messaggionews:6f3241d6-300e-4239-90d0-c25d24b4e7b2@b6g2000pre.googlegroups.com...
> On Apr 22, 5:00 pm, "Vincent" <darkfren...@yahoo.it> wrote:

> >- Il package include Debug e Release con tutti i contenuti.. e
> >file .SUO nella dir della soluzione
> >-- Di solito e' meglio evitare di includere tali files perche' non
> >servono a lanciare l'eseguibile e vengono comunque generati compilando
> >- ShadowMapping\Debug sarebbe meglio forse chiamata ShadowMapping
> >\Runnable o giu' di li
>
> Vero. L'organizzazione delle cartelle in Visual Studio e' alquanto contorta.

Per la distribuzione basta che ne decidi una tu 8)

> >- Al lancio un errore di sistema dice che manca la DLL d3dx9_41.dll
> >(sono su Vista 64 con DXSDK Novembre 2009)
>
> Io sono su Vista32 con l'SDK di Marzo 2009 (suppongo tu abbia novembre 2008,
> o vivi nel futuro? Mi anticipi qualche feature?)

Mi sono sbagliato, Novembre 2008, pero' in un certo senso ne futuro ci
vivo e posso dirti che chi che nessuno al "potere" sa effettivamente
come le cose saranno nel futuro.. tante speranze, tante pseudo-
convizioni e basta.

> Problemi di compilazione:
>
> - Non trova LoadMesh.h ..in caso servano moduli esterni e' importante
> almeno includere istruzioni in eventuale readme.txt 8)
>
> Si, non lo metto mai. In effetti nel sito in cui vengono pubblicati
> usualmente viene sempre specificato. Una nota in piu' da scrivere.

...mettiti sempre dei panni di altri: l'inesperto si sentira' ancora
ancora piu' inesperto, e l'esperto si trovera' ancora piu' critico 8)

> - Caratteri non-ASCII ('e' accentata in un commento). Da un warning
> compilando sotto Windows in Giapponese (dipende dall'OS, non dalla
> versione di Visual Studio).
> -- Con Windows in altre lingue potrebbe addirittura dare errore (so di
> un engine famoso che include caratteri non-ASCII e da errori di
> compilazione su Windows in coreano 8)
>
> Mmm, non mi ero veramente mai fatto questo problema :D

...cosa rara' ma succedde a me e' ed comunque una questione di
standards. E' importante perche' essere programmatori e' anche essere
un po paranoici..

> - Ancora meglio raggruppare funzionalita' in una o piu' classi
>     Nooooooo questo mai. Odio quelle pseudo classi che racchiudono il device
> e forniscono a mio parere     inutili funzionaltà.

...allora trova una tua soluzione.
Effettivamente e' facile farsi prendere dalle classi e' racchiudere
tutto in maniera estrema...
Quando poi si scrive un tutorial e' importante minimizzare le
complicazioni... ma l'esperto alla fine non usa D3D direttamente.. e
il tuo codice, con l'uso spregiudicato di globali che fa, e' un brutto
esempio che prima o poi verrebbe demonizzato.. quindi ti consiglio di
adeguarti, oppure di scrivere un tutorial che spieghi perche' la tua
organizzazione sia migliore ;)

> - __inline e' praticamente inutile per funzioni come InitWindow
> ()  ..come ho gia' menzionato in passato, consiglio di usare inline
> con parsimonia
> Eredità del precedente demo :)

...ci vuole poco a toglierla, e ti guadagna 100 punti ;)

> Quindi non sei riuscito ad avviarlo?

No

baubau
Davide

Davide Pasca

24/04/2009 19:14:51

0

On Apr 23, 9:26 pm, "Vincent" <darkfren...@yahoo.it> wrote:
> E riguardo il testo??

...sembra ben fatto. Ma riguardo all'utilita'' bisogna vedere come la
pensa il tuo target.
Personalmente ho letto con facilita'.. ma sono solo una persona e ho
gia' una certa esperienza nel campo.

moomooo
Davide

Davide Pasca

26/04/2009 05:58:34

0

On Apr 25, 4:09 am, Davide Pasca <dpa...@gmail.com> wrote:
[...]
> Mi sono sbagliato, Novembre 2008, pero' in un certo senso ne futuro ci
> vivo e posso dirti che chi che nessuno al "potere" sa effettivamente
> come le cose saranno nel futuro.. tante speranze, tante pseudo-
> convizioni e basta.

...avevo scritto senza rileggere 8)

Tradotto in un italiano piu' comprensibile: (parlando di DXSDK)
essendo talvolta a contatto con chi decide le sorti del 3D nei giochi,
mi sono reso conto che c'e' tanta confusione e poca certezza a tutti i
livelli.

baubau
Davide

Vincent

27/04/2009 20:16:59

0

Mi duole farti partire il demo...non vorrei sia il fatto che ho compilato su
Win32...

"Davide Pasca" <dpasca@gmail.com> ha scritto nel messaggio
news:4262117c-9b8f-4133-b165-e34f6d7484b1@s38g2000prg.googlegroups.com...
On Apr 25, 4:09 am, Davide Pasca <dpa...@gmail.com> wrote:
[...]
> Mi sono sbagliato, Novembre 2008, pero' in un certo senso ne futuro ci
> vivo e posso dirti che chi che nessuno al "potere" sa effettivamente
> come le cose saranno nel futuro.. tante speranze, tante pseudo-
> convizioni e basta.

...avevo scritto senza rileggere 8)

Tradotto in un italiano piu' comprensibile: (parlando di DXSDK)
essendo talvolta a contatto con chi decide le sorti del 3D nei giochi,
mi sono reso conto che c'e' tanta confusione e poca certezza a tutti i
livelli.

baubau
Davide