ไดเรกต์เอกซ์
| บทความนี้ไม่มีการอ้างอิงจากเอกสารอ้างอิงหรือแหล่งข้อมูล โปรดช่วยพัฒนาบทความนี้โดยเพิ่มแหล่งข้อมูลน่าเชื่อถือ เนื้อหาที่ไม่มีการอ้างอิงอาจถูกคัดค้านหรือนำออก |
ไดเรกต์เอกซ์ (DirectX) เป็นไลบรารีที่ช่วยอำนวยความสะดวกให้กับนักเขียนโปรแกรม เพื่อส่งคำสั่งควบคุมการวาดภาพไปยังอุปกรณ์ฮาร์ดแวร์ประมวลผลภาพ ซึ่งได้ถูกใช้อย่างแพร่หลายในการพัฒนาวิดีโอเกมและเกมคอมพิวเตอร์สำหรับไมโครซอฟท์ วินโดวส์ เอกซ์บอกซ์ และ เอกซ์บอกซ์ 360
เนื้อหา |
ส่วนประกอบ [แก้]
โดยทั่วไปแล้ว ไดเรกต์เอกซ์ ประกอบด้วยส่วนย่อย 5 ส่วน (อาจไม่เหมือนกันเปลี่ยนแปลงไปตามแต่ละเวอร์ชัน) คือ
- DirectDraw (DDraw) ส่วนสำหรับการวาดภาพ 2 มิติ
- Direct3D (D3D) ส่วนสำหรับการวาดภาพแบบ 3 มิติ แบ่งเป็น 2 ประเภทคือ
- Direct3DRM (Retained Mode) (D3DRM) ส่วนการวาดภาพ 3 มิติ อย่างง่าย
- Direct3DIM (Immediate Mode) (D3DIM) ส่วนการวาดภาพ 3 มิติ อย่างยาก
- DirectInput (DXInput) ส่วนสำหรับการรับข้อมูลจากผู้ใช้ เช่น keyboard mouse และ joystick
- DirectSound (DXSound) ส่วนสำหรับการประมวลผลเสียง และสร้างเสียง
- DirectPlay (DXPlay) ส่วนสำหรับการทำงานสำหรับผู้เล่นหลายคนผ่านระบบเครือข่าย
ตัวอย่าง [แก้]
สร้างสามเหลี่ยมที่มี สีแดง เขียว และ น้ำเงิน
// Render a triangle D3DTLVERTEX v[3]; v[0] = D3DTLVERTEX (D3DVECTOR (160, 50,0) ,1,D3DRGB (1,0,0) ,D3DRGB (0,0,0) ,0,0) ; v[1] = D3DTLVERTEX (D3DVECTOR (240,200,0) ,1,D3DRGB (0,1,0) ,D3DRGB (0,0,0) ,0,0) ; v[2] = D3DTLVERTEX (D3DVECTOR ( 80,200,0) ,1,D3DRGB (0,0,1) ,D3DRGB (0,0,0) ,0,0) ; D3DDevice->BeginScene () ; D3DDevice->DrawPrimitive (D3DPT_TRIANGLELIST, D3DVT_TLVERTEX, &v, 3, NULL) ; D3DDevice->EndScene () ;
ไดเรกต์เอกซ์ได้พัฒนามาจนถึง DirectX 10 ซึ่งสามารถใช้งานได้เฉพาะใน วินโดวส์วิสตา รองรับเฉพาะการ์ดจอรุ่นใหม่และสเปคเครื่องระดับสูง ไมโครซอฟยังมีการตรวจสอบลิขสิทธิ์ ให้ดาวน์โหลดได้เฉพาะผู้ใช้ซอฟต์แวร์ลิขสิทธิ์อีกด้วย
DirectX 11 [แก้]
ปัจจุบัน ไดเรกต์เอกซ์ได้พัฒนามาจนถึง DirectX 11 ซึ่งสามารถใช้งานได้เฉพาะใน วินโดวส์ 7 โดยรองรับเฉพาะการ์ดจอรุ่นใหม่และสเปคเครื่องระดับสูง ไมโครซอฟยังมีการตรวจสอบลิขสิทธิ์ ให้ดาวน์โหลดได้เฉพาะผู้ใช้ซอฟต์แวร์ลิขสิทธิ์อีกด้วย
Project Alky [แก้]
โปรเจกต์แอลกี้ได้เริ่มขึ้นเมื่อไมโครซอฟเปิดตัว DirectX 10 เพื่อแก้ไขให้ DirectX 10 สามารถใช้ได้กับ วินโดวส์เอกซ์พี, ลินุกซ์ และเครื่องสเปคต่ำ โดยตัวโปรเจกต์เป็นฟรีแวร์ โปรเจกต์แอลกี้พัฒนาโดย Cody Brocious อายุ 19 ปี
ดูเพิ่ม [แก้]
แหล่งข้อมูลอื่น [แก้]
- หน้าหลักไดเรกต์เอกซ์
- http://www.thaigamearticles.com/Resource/Articlestutorials/DirectX/dxshow.php?dx_articles=article/article1.wcf
- http://angsila.compsci.buu.ac.th/~sc450618/css/DirectXInGame.pdf
- http://www.vcharkarn.com/varticle/33131/5
- http://www.se-ed.net/sanambin/s-directx.html
- Alky Project
- DirectX World - DirectX lessons. Learn how to build a graphic engine.