API หรือ Application Programming Interface คือส่วนของซอฟต์แวร์ที่จะช่วยให้ซอฟต์แวร์สามารถติดต่อสื่อสารกับฮาร์ดแวร์ ได้อย่างสะดวกและเป็นผ่อนแรงให้กับผู้พัฒนาโปรแกรม แน่นอนว่าเราผู้ใช้คอมพิวเตอร์ทุกคนต่างใช้งาน API กันโดยไม่รู้ตัวอยู่ทุกวี่ทุกวันในโลกคอมพิวเตอร์ ยิ่งเป็นผู้ใช้ระบบปฏิบัติการ Windows ด้วยแล้วก็ต่างรู้จักกันดีในชื่อของ DirectX ที่ปัจจุบันออกมาถึงเวอร์ชั่น 11 แล้ว
แต่ก็แน่นอนว่าในโลกของคอมพิวเตอร์ไม่ได้มีแต่ระบบปฏิบัติการ Windows ในระบบปฏิบัติการอื่นๆ ก็มี API ให้ใช้งานเช่นกัน อีกหนึ่งตัวที่เรารู้จักกันบ้างไม่มากก็น้อยคือ OpenGL (Open Graphics Library) ซึ่งเป็น API ที่เป็นมาตรฐานเปิดและไม่เสียค่าลิขสิทธิ์ แต่ปัจจุบันความนิยมได้ถดถอยลงด้วยการทำตลาดของ Microsoft ที่เหนือกว่า รวมถึงเทรนด์ของผู้พัฒนาเกมที่เปลี่ยนไป
และเมื่อวานนี้ Khronos Group กลุ่มผู้พัฒนา OpenGL ได้เปิดตัวเวอร์ชั่นใหม่ของ OpenGL 4.0 ในงาน Game Developer Conference 2010 โดยความสามารถของ OpenGL 4.0 ที่เพิ่มเข้ามาคือการนำ OpenCL ที่เป็นส่วนช่วยในการป้อนการทำงานทั่วไปให้แก่ GPU (ปกติแล้ว GPU จะทำงานเฉพาะงานเกี่ยวกับกราฟิกเท่านั้น) นำเข้ามาทำงานร่วมกันเป็นหนึ่งเดียวเสียเลย นอกจากนี้ในเวอร์ชั่น 4.0 ยังมีการทำงานที่รวดเร็วขึ้น และผู้ที่เคยใช้เวอร์ชั่น 3.0 มาแล้วก็สามารถปรับตัวได้ไม่ยากนัก สำหรับเรื่องลูกเล่นปลีกย่อยต่างๆ ก็สามารถสู้และหวังกู้บัลลังก์จาก DirectX ที่ปัจจุบันเข้าครองโลกแห่ง API บนวินโดวส์ไปแล้วเรียบร้อย
สูงสุดคืนสู่สามัญ
ผู้ที่เล่นเกมคอมพิวเตอร์ส่วนใหญ่ต่างทราบกันดีกว่า สมัยก่อนเรายังเคยเห็น OpenGL โลดแล่นอยู่ในวงการเกมเป็นจำนวนมาก โดยในช่วงปี 2000 – 2005 ถือว่าเป็นยุคที่รุ่งเรืองที่สุดของ OpenGL บนวินโดวส์เนื่องด้วยความสามารถต่างๆ ที่มีมากมายและเหนือกว่า DirectX ในยุคนั้นแต่พอหลังจากที่ Console ยุคล่าสุดพัฒนาออกมารวมถึงการตลาดของ Microsoft ที่เร่งโปรโมทคอนโซลของตนเองอย่างยิ่งใหญ่ รวมถึง OpenGL มีการพัฒนาที่เชื่องช้า ทำให้เหล่านักพัฒนาเริ่มลังเลถึงอนาคตของ OpenGL ที่ไร้การผลักดัน สุดท้ายแล้วทำให้ยุคแห่ง OpenGL เริ่มเสื่อมความนิยมลงตั้งแต่บัดนั้นเป็นต้นมา กว่าจะรู้ตัวก็สายไปเสียแล้ว
สำหรับเกมที่นำ OpenGL มาใช้ได้อย่างชาญฉลาดที่สุดก็คงไม่พ้นเกมจากค่าย ID Software ผลงานของ John Carmack เช่น Quake 3, Doom 3ที่สามารถนำ OpenGL มาใช้งานได้อย่างมีประสิทธิภาพมากจนทำให้แฟนเกมต่างอึ้งกันไปตามๆ กัน (เกมในยุคนั้นโดยเฉพาะเกมยิง มีพื้นฐานมาจากค่ายนี้ทั้งสิ้น รวมถึงตัวเอนจิ้นด้วย) และเอนจิ้นล่าสุดอย่าง Tech 5 ที่จะถูกใช้ในเกม Rage ของทางค่ายเอง ก็พัฒนาโดยมีพื้นฐานมาจาก OpenGL เช่นกัน (เรียกว่าแกเป็นแฟนพันธุ์แท้จริงๆ) แค่นี้ก็พอจะทราบประสิทธิภาพของ OpenGL แล้วใช่มั๊ยครับ ว่าไม่ได้ด้อยกว่า DirectX แต่อย่างใดเลย
ข้อดีของ OpenGL
ข้อดีของ OpenGL คือเป็น API ที่เป็นรูปแบบ Cross-Platform คือสามารถพัฒนาข้ามไปมาได้หลายแพลตฟอร์มได้ทุกคอนโซล (ยกเว้น Xbox 360) รวมถึงการพอร์ทเกมไปลง Mac, Linux ก็สามารถทำได้เนื่องจากเป็น API ที่ฟรีและไม่เสียค่าลิขสิทธิ์ ฉะนั้นเกมที่พัฒนาโดยใช้ OpenGL เราจะได้เห็นมันพอร์ทไปแพลตฟอร์มอื่นๆ ได้ไม่ยากเย็นนัก นอกจากนี้ OpenGL ยังรุกตลาดระดับพกพาด้วยการพัฒนา OpenGL ES (Embedded Systems) ขึ้นมาอีกด้วย ยังไม่รวมแพลตฟอร์มบนเว็บอย่าง WebGL เรียกว่าครั้งนี้เป็นการเปิดศึกครั้งใหม่ก็คงไม่ผิดนัก
อนาคตของ OpenGL
สำหรับอนาคตของ OpenGL นั้นเท่าที่ดูตอนนี้ไม่รู้ว่าจะกลับมาทันหรือไม่ เท่าที่รู้ในตอนนี้ Valve ซึ่งเป็นค่ายที่เคยภักดีกับ OpenGL มาตั้งแต่สมัยเอนจิ้น Half-Life ในภาคแรก (ที่อนุญาตให้เราสามารถเลือกใช้งานได้ทั้ง OpenGL และ DX3D) ก็หันมาใช้ DirectX อย่างเต็มตัวใน Source Engine ที่มาพร้อมกับ Half-Life 2 และประกาศก่อนหน้านี้ว่าจะไม่มีการพอร์ทไปลงแพลตฟอร์มอื่นนอกจาก Xbox 360 แต่ว่าเมื่อไม่กี่วันที่ผ่านมาได้ประกาศว่าจะนำระบบ digital distribution ของตนเองอย่าง Steam ไปลงแพลตฟอร์ม Mac ด้วย ซึ่ง Mac ไม่มี DirectX (ปัจจุบัน OSX ยังคงใช้ OpenGL เวอร์ชั่น 2.1 ซึ่งเป็นเวอร์ชั่นเก่าอยู่) รวมถึงเริ่มเผยออกมาอีกว่าอาจจะนำ Half-Life 2 ไปลงให้กับ PlayStation 3 อีกด้วย ฉะนั้นค่ายนี้อนาคตอาจจะต้องพอร์ทเกมตัวเองที่เคยใช้ DirectX ไปใช้ OpenGL ด้วยก็ได้เพื่อนำไปลงให้แพลตฟอร์มอื่นๆ
อีกค่ายคือ ID Software นั่นเอง เราก็ต้องดูกันต่อไปว่า Rage จะทำออกมาได้เยี่ยมยอดแค่ไหน และเทรนด์ของผู้พัฒนาจะกลับมาใช้ OpenGL หรือไม่ก็ต้องคอยติดตาม (แต่บนแพลตฟอร์ม Windows ความรู้สึกของผมเอง คงกลับมายากพอตัวเพราะเอนจิ้นใหม่ๆ รองรับทั้ง OpenGL และ DirectX ครับ บนวินโดวส์ถ้านำมาใช้ก็คงหนีไม่พ้น DirectX แน่นอน)
ในฝั่งของผู้ผลิตฮาร์ดแวร์ ค่ายใหญ่อย่าง NVIDIA ได้ออกมาประกาศเป็นเรียบร้อยแล้วว่าการ์ดตัวใหม่รหัส Fermi ที่จะออกมาแล้วในอีกไม่นานก็จะรองรับการทำงานของ OpenGL 4.0 อย่างเต็มรูปแบบ สำหรับทางฝั่ง AMD/ATI นั้นคาดว่าอีกไม่นานก็คงจะมาประกาศสนับสนุนเช่นกัน
สำหรับเราซึ่งเป็นผู้บริโภค เรื่องเหล่านี้คงเป็นเรื่องที่ไกลตัวพอสมควรเพราะถึงอย่างไรผู้พัฒนาก็ย่อมพัฒนาเกมให้เล่นได้บนแพลตฟอร์มพีซีได้ดีในระดับนึงอยู่แล้ว แต่การที่ OpenGL กลับมารุ่งเรืองบนพีซีอีกครั้ง เราอาจจะได้เห็นเกมพอร์ทที่มีพื้นเพอยู่บน OpenGL เมื่อพอร์ทมาลง PC อาจจะทำได้ดีกว่านี้ หรือเราอาจจะได้เห็นเกมใหม่ๆ ที่มีการพัฒนาแบบก้าวกระโดดและไม่ต้องรอการออกเวอร์ชั่นใหม่ๆ ของ DirectX ให้เสียเวลาก็เป็นได้
OpenGL 4.0 vs. DirectX 11 ศึกครั้งใหม่ที่น่าจับตามอง
API หรือ Application Programming Interface คือส่วนของซอฟต์แวร์ที่จะช่วยให้ซอฟต์แวร์สามารถติดต่อสื่อสารกับฮาร์ดแวร์ ได้อย่างสะดวกและเป็นผ่อนแรงให้กับผู้พัฒนาโปรแกรม แน่นอนว่าเราผู้ใช้คอมพิวเตอร์ทุกคนต่างใช้งาน API กันโดยไม่รู้ตัวอยู่ทุกวี่ทุกวันในโลกคอมพิวเตอร์ ยิ่งเป็นผู้ใช้ระบบปฏิบัติการ Windows ด้วยแล้วก็ต่างรู้จักกันดีในชื่อของ DirectX ที่ปัจจุบันออกมาถึงเวอร์ชั่น 11 แล้ว
แต่ก็แน่นอนว่าในโลกของคอมพิวเตอร์ไม่ได้มีแต่ระบบปฏิบัติการ Windows ในระบบปฏิบัติการอื่นๆ ก็มี API ให้ใช้งานเช่นกัน อีกหนึ่งตัวที่เรารู้จักกันบ้างไม่มากก็น้อยคือ OpenGL (Open Graphics Library) ซึ่งเป็น API ที่เป็นมาตรฐานเปิดและไม่เสียค่าลิขสิทธิ์ แต่ปัจจุบันความนิยมได้ถดถอยลงด้วยการทำตลาดของ Microsoft ที่เหนือกว่า รวมถึงเทรนด์ของผู้พัฒนาเกมที่เปลี่ยนไป
และเมื่อวานนี้ Khronos Group กลุ่มผู้พัฒนา OpenGL ได้เปิดตัวเวอร์ชั่นใหม่ของ OpenGL 4.0 ในงาน Game Developer Conference 2010 โดยความสามารถของ OpenGL 4.0 ที่เพิ่มเข้ามาคือการนำ OpenCL ที่เป็นส่วนช่วยในการป้อนการทำงานทั่วไปให้แก่ GPU (ปกติแล้ว GPU จะทำงานเฉพาะงานเกี่ยวกับกราฟิกเท่านั้น) นำเข้ามาทำงานร่วมกันเป็นหนึ่งเดียวเสียเลย นอกจากนี้ในเวอร์ชั่น 4.0 ยังมีการทำงานที่รวดเร็วขึ้น และผู้ที่เคยใช้เวอร์ชั่น 3.0 มาแล้วก็สามารถปรับตัวได้ไม่ยากนัก สำหรับเรื่องลูกเล่นปลีกย่อยต่างๆ ก็สามารถสู้และหวังกู้บัลลังก์จาก DirectX ที่ปัจจุบันเข้าครองโลกแห่ง API บนวินโดวส์ไปแล้วเรียบร้อย
สูงสุดคืนสู่สามัญ
ผู้ที่เล่นเกมคอมพิวเตอร์ส่วนใหญ่ต่างทราบกันดีกว่า สมัยก่อนเรายังเคยเห็น OpenGL โลดแล่นอยู่ในวงการเกมเป็นจำนวนมาก โดยในช่วงปี 2000 – 2005 ถือว่าเป็นยุคที่รุ่งเรืองที่สุดของ OpenGL บนวินโดวส์เนื่องด้วยความสามารถต่างๆ ที่มีมากมายและเหนือกว่า DirectX ในยุคนั้นแต่พอหลังจากที่ Console ยุคล่าสุดพัฒนาออกมารวมถึงการตลาดของ Microsoft ที่เร่งโปรโมทคอนโซลของตนเองอย่างยิ่งใหญ่ รวมถึง OpenGL มีการพัฒนาที่เชื่องช้า ทำให้เหล่านักพัฒนาเริ่มลังเลถึงอนาคตของ OpenGL ที่ไร้การผลักดัน สุดท้ายแล้วทำให้ยุคแห่ง OpenGL เริ่มเสื่อมความนิยมลงตั้งแต่บัดนั้นเป็นต้นมา กว่าจะรู้ตัวก็สายไปเสียแล้ว
สำหรับเกมที่นำ OpenGL มาใช้ได้อย่างชาญฉลาดที่สุดก็คงไม่พ้นเกมจากค่าย ID Software ผลงานของ John Carmack เช่น Quake 3, Doom 3ที่สามารถนำ OpenGL มาใช้งานได้อย่างมีประสิทธิภาพมากจนทำให้แฟนเกมต่างอึ้งกันไปตามๆ กัน (เกมในยุคนั้นโดยเฉพาะเกมยิง มีพื้นฐานมาจากค่ายนี้ทั้งสิ้น รวมถึงตัวเอนจิ้นด้วย) และเอนจิ้นล่าสุดอย่าง Tech 5 ที่จะถูกใช้ในเกม Rage ของทางค่ายเอง ก็พัฒนาโดยมีพื้นฐานมาจาก OpenGL เช่นกัน (เรียกว่าแกเป็นแฟนพันธุ์แท้จริงๆ) แค่นี้ก็พอจะทราบประสิทธิภาพของ OpenGL แล้วใช่มั๊ยครับ ว่าไม่ได้ด้อยกว่า DirectX แต่อย่างใดเลย
ข้อดีของ OpenGL
ข้อดีของ OpenGL คือเป็น API ที่เป็นรูปแบบ Cross-Platform คือสามารถพัฒนาข้ามไปมาได้หลายแพลตฟอร์มได้ทุกคอนโซล (ยกเว้น Xbox 360) รวมถึงการพอร์ทเกมไปลง Mac, Linux ก็สามารถทำได้เนื่องจากเป็น API ที่ฟรีและไม่เสียค่าลิขสิทธิ์ ฉะนั้นเกมที่พัฒนาโดยใช้ OpenGL เราจะได้เห็นมันพอร์ทไปแพลตฟอร์มอื่นๆ ได้ไม่ยากเย็นนัก นอกจากนี้ OpenGL ยังรุกตลาดระดับพกพาด้วยการพัฒนา OpenGL ES (Embedded Systems) ขึ้นมาอีกด้วย ยังไม่รวมแพลตฟอร์มบนเว็บอย่าง WebGL เรียกว่าครั้งนี้เป็นการเปิดศึกครั้งใหม่ก็คงไม่ผิดนัก
อนาคตของ OpenGL
สำหรับอนาคตของ OpenGL นั้นเท่าที่ดูตอนนี้ไม่รู้ว่าจะกลับมาทันหรือไม่ เท่าที่รู้ในตอนนี้ Valve ซึ่งเป็นค่ายที่เคยภักดีกับ OpenGL มาตั้งแต่สมัยเอนจิ้น Half-Life ในภาคแรก (ที่อนุญาตให้เราสามารถเลือกใช้งานได้ทั้ง OpenGL และ DX3D) ก็หันมาใช้ DirectX อย่างเต็มตัวใน Source Engine ที่มาพร้อมกับ Half-Life 2 และประกาศก่อนหน้านี้ว่าจะไม่มีการพอร์ทไปลงแพลตฟอร์มอื่นนอกจาก Xbox 360 แต่ว่าเมื่อไม่กี่วันที่ผ่านมาได้ประกาศว่าจะนำระบบ digital distribution ของตนเองอย่าง Steam ไปลงแพลตฟอร์ม Mac ด้วย ซึ่ง Mac ไม่มี DirectX (ปัจจุบัน OSX ยังคงใช้ OpenGL เวอร์ชั่น 2.1 ซึ่งเป็นเวอร์ชั่นเก่าอยู่) รวมถึงเริ่มเผยออกมาอีกว่าอาจจะนำ Half-Life 2 ไปลงให้กับ PlayStation 3 อีกด้วย ฉะนั้นค่ายนี้อนาคตอาจจะต้องพอร์ทเกมตัวเองที่เคยใช้ DirectX ไปใช้ OpenGL ด้วยก็ได้เพื่อนำไปลงให้แพลตฟอร์มอื่นๆ
อีกค่ายคือ ID Software นั่นเอง เราก็ต้องดูกันต่อไปว่า Rage จะทำออกมาได้เยี่ยมยอดแค่ไหน และเทรนด์ของผู้พัฒนาจะกลับมาใช้ OpenGL หรือไม่ก็ต้องคอยติดตาม (แต่บนแพลตฟอร์ม Windows ความรู้สึกของผมเอง คงกลับมายากพอตัวเพราะเอนจิ้นใหม่ๆ รองรับทั้ง OpenGL และ DirectX ครับ บนวินโดวส์ถ้านำมาใช้ก็คงหนีไม่พ้น DirectX แน่นอน)
ในฝั่งของผู้ผลิตฮาร์ดแวร์ ค่ายใหญ่อย่าง NVIDIA ได้ออกมาประกาศเป็นเรียบร้อยแล้วว่าการ์ดตัวใหม่รหัส Fermi ที่จะออกมาแล้วในอีกไม่นานก็จะรองรับการทำงานของ OpenGL 4.0 อย่างเต็มรูปแบบ สำหรับทางฝั่ง AMD/ATI นั้นคาดว่าอีกไม่นานก็คงจะมาประกาศสนับสนุนเช่นกัน
สำหรับเราซึ่งเป็นผู้บริโภค เรื่องเหล่านี้คงเป็นเรื่องที่ไกลตัวพอสมควรเพราะถึงอย่างไรผู้พัฒนาก็ย่อมพัฒนาเกมให้เล่นได้บนแพลตฟอร์มพีซีได้ดีในระดับนึงอยู่แล้ว แต่การที่ OpenGL กลับมารุ่งเรืองบนพีซีอีกครั้ง เราอาจจะได้เห็นเกมพอร์ทที่มีพื้นเพอยู่บน OpenGL เมื่อพอร์ทมาลง PC อาจจะทำได้ดีกว่านี้ หรือเราอาจจะได้เห็นเกมใหม่ๆ ที่มีการพัฒนาแบบก้าวกระโดดและไม่ต้องรอการออกเวอร์ชั่นใหม่ๆ ของ DirectX ให้เสียเวลาก็เป็นได้