Telepítés
Az XNA Game Studio használatához a következők kellenek:
- Shader Model 1.1-et támogató hardware
- Windows XP Service Pack 2, vagy
- Windows Vista
- .NET Framework 2.0 (Visual Studio majd felrakja)
- Visual Studio 2005 Professional
- és Service Pack 1, vagy ezek helyett
- Visual C# 2005 Express Edition
- és Service Pack 1
- XNA Game Studio 2.0
Kitérő - Segédanyagok
XNA Game Studio 2.0 dokumentáció
HLSL leírás
Tavalyi XNA gyakorlat anyagai
Mi az XNA?
Az XNA nem rövidítés, kifejtve: "XNA's Not Acronymed".
Az XNA egy eszközkészlet, amivel Windows alá vagy XBox 360-ra játékokat lehet fejleszteni.
Mi ebből az XNA Framework-kel fogunk foglalkozni.
XNA Framework
Az XNA Framework egy osztály könyvtár, ami .NET szerű osztályokat ad grafika, hang, beviteli eszközök, hálózati kapcsolatok, stb. elérésére és programozására.
Az órán elsősorban a Microsoft.Xna.Framework.Graphics névtér osztályairól lesz szó.
3D gyorstalpaló
Homogén koordináták
3D-s, [x,y,z] alakú koordináták helyett [x,y,z,w] alakú koordinátákkal dolgozunk. Ha w=0, akkor a jelölt pont a végtelenben van, ez megkönnyíti a számolást például metszéspontok keresésénél.
Az [x,y,z,w] homogén koordinátákkal jelölt projektív térbeli pont koordinátái az Euklideszi térben [x/w, y/w, z/w], ha w nem 0, a w=0, akkor nincs megfelelő pont az Euklideszi térben.
Transzformációk
A projektív tér transzformációi (eltolás, forgatás, léptékezés, nyírás, vetítés) 4x4-es mátrixokkal leírhatók.
Ezeket nem részletezzük, az XNA Matrix struktúrájának a metódusait fogjuk használni.
Több transzformáció egymás utáni alkalmazása megegyezik a mátrixaik szorzatának megfelelő transzformációval.
Ahogy nem ugyanazt adja általában, ha először forgatunk majd eltolunk valamit, vagy fordítva, így a transzformációs mátrixok szorzásának sorrendje sem mindegy (nem is lehetne, a mátrix szorzás nem kommutatív).
A transzformációk balról jobbra mennek végbe.
Példa: T eltolás, R forgatás. Balra: T*R, jobbra: R*T
Jobbkéz, balkéz
Az XNA jobbkezes koordináta rendszert használ (az OpenGL-hez hasonlóan, szemben a DirectX-szel). A műveletek ehhez igazodnak, és a képernyőtérben a Z tengely "kifele" mutat.
Primitívek
A GPU által kirazoltatható primitívek a pont, a szakasz, a háromszög (néhány API alatt a négszög, de XNA-ban nem) és ezek speciális sorozatai.
Az XNA által támogatott primitívek: LineList, LineStrip, PointList, TriangleFan, TriangleList, TriangleStrip
Hello XNA!
Kiinduló project létrehozása
Visual Studio/File/New/Project
Visual C#/XNA Game Studio 2.0/Windows Game (2.0)
Kész! :)
Mit kapunk?
A Game osztály egy leszármazottját, két új adattaggal, és számos függvénnyel.