djdirectxtut.html: Ultimo aggiornamento 21 Aprile 1999. [counter] contatti dal 23 Nov 1997


Programmazione di Giochi con le DirectX

Copyright (C) David Joffe 1997-1998.

Menu:


Disclaimer

Questo documento e tutti i files e il codice dati insieme ad esso sono forniti "così com'è" e senza alcun tipo di garanzia, nemmeno la garanzia implicita td'uso per qualsiasi scopo particolare. Io NON sono responsabile per qualsiasi danno che può scaturire dall'uso o abuso sia di questo documento che di qualsiasi file disponibile per il download da questo sito. Non c'è nemmeno la garanzia che le informazioni contenute in questo file siano corrette. Se non accettate queste condizioni, allora lasciate ora questo sito.


Introduzione

Target audience: Programmatori C/C++ in Windows che vogliano imparare a scrivere applicazioni che utilizzano le confuse API della Microsoft, le DirectX. Il tutorial utilizza MFC, ma la maggior parte degli argomenti sono indipendenti da MFC.

Contributi: Se qualcuno è interessato a contribuire a questo tutorial (mi piacerebbe renderlo migliore, ma non posso per limiti di tempo/energie) allora vi prego di farmelo sapere (feedback.html.)

Bugs: Sono consapevole di un paio di bugs presenti nel codice di esempio. Un giorno lontano nel futuro, quando troverò tempo, li toglierò.

Vi prego di farmi sapere se trovate qualche errore negli articoli.

1999/04/20: Ho aggiunto un nuovo esempio non proprio completo, ddsamp (non MFC, phew!). Questo spiega il metodo PutPixel descritto in 5.1.2. L'ho fatto con Visual C++ 6, ma se avete un compilatore incompatibile dovreste essere in grado di adattare il codice sorgente in qiualsiasi progetto creiate.

Alcune parole sulle DirectX:

I prossimi pochi paragrafi costituiscono il mio commento e critica alle DirectX. Sono solo mie considerazioni, quindi potete saltare il resto di questa sezione se non volete ascoltare le mie chacchiere.

Ho scritto il paragrafo seguente in Dicembre 1998.

So che questo tutorial è un po' breve, piuttosto inadeguate e con qualche bug, ma al momento ho praticamente fermato ogni mio tentativo di programmare con le DirectX, quindi ho, per il momento, fermato ogni update per questo tutorial. la mia antipatia per le API DirectX cresce; sono grosse, sono eccessivamente complicate, sono proprietarie, sono progettate male, e non esiste una ragione tecnica per l'esistenza di una grande parte di queste, come le Direct3D (un lavoro molto migliore può essere fatto con le API 3D standard esistenti, come le OpenGL, per esempio). Oltre a ciò, la ragione principale per cui ho smesso di programmare è che non riesco a fare un programma con le DirectX che mi diverta (il vostro metro può variare); ho cominciato a programmare perché per me era divertimento, e non mi piace programmare se non mi diverto. Con questo non voglio dire che non dovete imparare le DirectX. Industrialmente, la loro esistenza è estremamente utile, e la quantità del supporto di driver per le periferiche è ineguagliato. Generalmente è anche la migliore (meglio dire la sola) scelta se volete creare giochi per la piattaforma Windows, che è probabilmente la ragione per cui state leggendo ciò. Il numero di grandi giochi che utilizzano la tecnologia DirectX è anche la testimonianza dell'esattezza di quanto detto. Per come stanno le cose ora nell'industria, potrebbe non essere sbagliato imparare le DirectX. Non lasciatevi scoraggiare solo perché a me non piacciono.

Bene, per una serie di ragioni, ho ripreso a lavorare con le DirectX. Ancora non mi piacciono le API. Voglio che i programmatori inesperti capiscano che le DirectX non sono un esempio decente di programmazione API. Non capitemi male - quello che fanno le DirectX è buono, e c'è un vuoto che le DirectX colmano. Ma il loro progetto è tremendo. Le cose nell'industria dei computer vanno così, la Microsoft non ha bisogno di preoccuparsi che i suoi prodotti siano decenti - la gente userà qualsiasi cosa metterà in circolazione e loro lo sanno. Questa mancanza di competizione ha un effetto negativo sulla qualità del codice prodotto. Il mio consiglio ai programmatori inesperti è di essere critici su qualsiasi software design - dovete imparare come riconoscerne pregi e difetti. Non accettate mai che qualcosa è migliore solo perché è lo standard corrente. Proprio adesso, stiamo imparando le DirectX, e le utilizzeremo per molti anni a venire; ma in futuro, gli sviluppatori dovrebbero levarsi contro la cattiva progettazione e chiedere qualità. Se volete esaminare varie alternative alle API per la programmazione di giochi, vedete la mia sezione sulla programmazione con X/Linux alla pagina xprog.html. Niente di disponibile è, comunque, ricco di caratteristiche come le DirectX.

Per essere equi nei confronti della Microsoft, hanno fatto alcuni giusti tentativi per migliorare le DirectX - per esempio, l'aggiunta delle DirectPrimitive. Comunque, non credo nell'iniziare con spazzatura cercando di migliorarla più che si può. Come si dice, "Garbage In, Garbage Out". Il bagaglio di pezze messe lì rimarrà anche con la release delle DirectX 3000.


Il Tutoriall


Download

Sono stufo di visitare siti che rendono il più difficile possibile ottenere le informazioni che hanno per la lettura offline. Nel mio Paese le telefonate vengono pagate in base al tempo, quindi sono convinto di non sedermi ore e ore, cliccando link dopo link, solo per ottenere uno stupido articolo mentre banner pubblicitari escono da tutte le parti. Questo è offuscamento di informazione.

Quindi, alla luce di ciò, potete downloadare una copia zippata del mio tutorial per la consultazione offline. E nemmeno banners.

dj.zip (168K) L'intero tutorial zippato, inclusi i programmi di esempio.


Risorse


FAQ (Frequently Asked Questions)

Se mi postate una domanda che è già trattata qui, la ignorerò. In effetti, se mi mandate una domanda probabilmente la ignorerò, perché è la sola possibilità che ho. Non sono una sorta di supporto tecnico.


Da fare: Coding style, Overlays, Lock, enumerating drivers, enumerating display modes, Cleaning up, Palette, COM Objects, Handling WM_ACTIVATEAPP, WM_MOVE, WM_PAINT, BltFast, Using GDI sulle superfici DD, Mostrare il frame rate, semplici tecniche di animazione di bitmap & tecniche tile-based game in DD, conv3ds e .x files, animazione della telecamera in 3d, matematica 3d e basi di programmazione 3d, settaggio della finestra in MFC, meshbuilder stuff; spiegare i driver ramp/RGB/altri, così come caps, in dettaglio; sprites (decals), Thanks to section; altri compilatori come Borland e Watcom e DJGPP, OpenGL.


URL of this document: http://www.geocities.com/SoHo/Lofts/2018/djdirectxtut.html


[Top] [Home]

---
Traduzione: Papero - IPG 1999
Eng?Ita! Team
http://www.ItaProGaming.com