โอเพนจีแอล

จากวิกิพีเดีย สารานุกรมเสรี
โอเพนจีแอล
OpenGL logo
ผู้ออกแบบซิลิคอนกราฟิกส์
ผู้พัฒนา
วันที่เปิดตัวมกราคม ค.ศ. 1992 (1992-01)
รุ่นล่าสุด4.5 / 11 สิงหาคม ค.ศ. 2014 (2014-08-11)
เขียนบนภาษาซี[1]
ระบบปฏิบัติการข้ามแพลตฟอร์ม
แพลตฟอร์มข้ามแพลตฟอร์ม
ประเภทส่วนต่อประสานโปรแกรมประยุกต์
สัญญาอนุญาตหลากหลาย[2]
เว็บไซต์www.opengl.org

โอเพนจีแอล (อังกฤษ: OpenGL: Open Graphics Library[3][4][5] ไลบรารีกราฟิกส์แบบเปิด) คือส่วนต่อประสานโปรแกรมประยุกต์ (API) ด้านการเร็นเดอร์ภาพกราฟิกส์เวกเตอร์สองมิติและสามมิติ ที่ทำงานได้หลายแพลตฟอร์มและหลายภาษา ส่วนต่อประสานนี้มักใช้ทำงานระหว่างหน่วยประมวลผลกราฟิกส์ (GPU) เพื่อให้บรรลุผลการเร็นเดอร์แบบเร่งฮาร์ดแวร์

โอเพนจีแอลพัฒนาขึ้นโดยบริษัทซิลิคอนกราฟิกส์ (Silicon Graphics Inc.: SGI) ตั้งแต่ พ.ศ. 2534 เผยแพร่เมื่อเดือนมกราคม พ.ศ. 2535[6] และใช้งานอย่างกว้างขวางในการออกแบบใช้คอมพิวเตอร์ช่วย (CAD) ความเป็นจริงเสมือน การทำให้เห็นได้เชิงวิทยาศาสตร์ การทำสารสนเทศให้เห็นได้ เครื่องจำลองการบิน และวิดีโอเกมเป็นต้น โอเพนจีแอลบริหารจัดการโดย โครโนสกรุป เป็นกลุ่มบริษัทด้านเทคโนโลยีที่ไม่แสวงผลกำไร

ประวัติ[แก้]

ตั้งแต่คริสต์ทศวรรษ 1980 การพัฒนาซอฟต์แวร์ที่สามารถทำงานกับฮาร์ดแวร์กราฟิกได้หลากชนิดเป็นความท้าทายอย่างยิ่ง นักพัฒนาซอฟต์แวร์เขียนอินเทอร์เฟซและไดรเวอร์ของตนเองสำหรับฮาร์ดแวร์แต่ละชิ้น ทำให้ต้องใช้ความพยายามทวีคูณและมีราคาแพง

มาถึงต้นคริสต์ทศวรรษ 1990 ซิลิคอนกราฟิกส์เป็นผู้นำในเรื่องภาพกราฟิกส์สามมิติสำหรับเครื่องสถานีงาน เอพีไอชื่อ ไอริสจีแอล (IRIS GL) ของบริษัทนี้[7] ถือว่า "นำสมัย" และกลายมาเป็นมาตรฐานด้านอุตสาหกรรมตามความนิยม บดบังรัศมี ฟิกส์ (PHIGS) ซึ่งเป็นเอพีไอที่มีพื้นฐานบนมาตรฐานเปิด เนื่องจากไอริสจีแอลใช้งานง่ายกว่าฟิกส์ และรองรับการเร็นเดอร์ในภาวะทันที (immediate mode)

บริษัทคู่แข่งของซิลิคอนกราฟิกส์ (รวมทั้งซันไมโครซิสเต็มส์ ฮิวเลตต์-แพคการ์ด และไอบีเอ็ม) ก็สามารถนำฮาร์ดแวร์สามมิติที่รองรับส่วนขยายต่าง ๆ สำหรับมาตรฐานฟิกส์เข้าสู่ตลาด ทำให้ส่วนแบ่งการตลาดของซิลิคอนกราฟิกส์ลดลงเนื่องจากผู้ผลิตฮาร์ดแวร์ภาพกราฟิกส์สามมิติเข้าสู่ตลาดมากขึ้น ด้วยความพยายามที่จะคงไว้ซึ่งอิทธิพลในตลาด ซิลิคอนกราฟิกส์จึงตัดสินใจเปลี่ยนไอริสจีแอลเป็นมาตรฐานเปิด ซึ่งนั่นก็คือ โอเพนจีแอล

อย่างไรก็ตาม ซิลิคอนกราฟิกส์มีลูกค้าด้านซอฟต์แวร์จำนวนมาก ซึ่งการเปลี่ยนจากไอริสจีแอลเป็นโอเพนจีแอลจะต้องใช้เงินลงทุนมาก ยิ่งไปกว่านั้น ไอริสจีแอลมีฟังก์ชันหลายฟังก์ชันที่ไม่เกี่ยวข้องกับด้านภาพกราฟิกส์สามมิติอยู่ด้วย เช่น เอพีไอที่เกี่ยวกับการจัดแบ่งหน้าต่าง คีย์บอร์ดและเมาส์ เป็นต้น เพราะว่ามันได้พัฒนาขึ้นก่อนที่จะมีเอ็กซ์วินโดวซิสเต็มและระบบนิวส์ของซัน และไลบรารีต่าง ๆ ของไอริสจีแอลไม่เหมาะที่จะเปลี่ยนเป็นมาตรฐานเปิดเนื่องจากปัญหาด้านลิขสิทธิ์และสิทธิบัตร ปัจจัยเหล่านี้ทำให้ซิลิคอนกราฟิกส์จำเป็นต้องคอยสนับสนุนผู้พัฒนาซอฟต์แวร์และเอพีไอที่ใช้ไอริสจีแอลเป็นฐานต่อไป ในขณะที่การสนับสนุนตลาดโอเพนจีแอลก็โตเต็มที่

ข้อจำกัดหนึ่งของไอริสจีแอลก็คือ การเข้าถึงคุณลักษณะที่รองรับโดยฮาร์ดแวร์ที่กำหนดเท่านั้น ถ้าฮาร์ดแวร์กราฟิกไม่รองรับคุณลักษณะอันใดอันหนึ่ง โปรแกรมประยุกต์ก็จะไม่สามารถใช้คุณลักษณะนั้นได้ โอเพนจีแอลได้แก้ปัญหานี้โดยเตรียมซอฟต์แวร์รองรับไว้สำหรับคุณลักษณะที่ไม่มีในฮาร์ดแวร์ ช่วยให้โปรแกรมประยุกต์สามารถใช้กราฟิกขั้นสูงบนระบบค่อนข้างต่ำได้ โอเพนจีแอลได้กำหนดวิธีการเข้าถึงฮาร์ดแวร์ให้เป็นมาตรฐาน ผลักดันภาระการพัฒนาโปรแกรมส่วนต่อประสานฮาร์ดแวร์ให้เป็นของผู้ผลิตฮาร์ดแวร์ และมอบหมายฟังก์ชันการจัดแบ่งหน้าต่างให้ระบบปฏิบัติการทำแทน ด้วยฮาร์ดแวร์กราฟิกมีมากมายหลายหลาก การทำให้ฮาร์ดแวร์ทั้งหมดพูดคุยด้วยภาษาเดียวกันในแนวทางนี้จึงเป็นผลสะท้อนที่โดดเด่น ที่ทำให้นักพัฒนาสามารถพัฒนาซอฟต์แวร์ภาพกราฟิกสามมิติบนแพลตฟอร์มในระดับที่สูงขึ้น

เมื่อ พ.ศ. 2535 ซิลิคอนกราฟิกส์ได้เป็นผู้นำในการตั้งคณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล (OpenGL Architecture Review Board: OpenGL ARB) ขึ้นมา ซึ่งเป็นกลุ่มของบริษัทต่าง ๆ ที่จะคอยบำรุงรักษาและขยายข้อกำหนดของโอเพนจีแอลในอนาคต[8]

เมื่อ พ.ศ. 2537 ซิลิคอนกราฟิกส์ได้มีแนวคิดที่จะสร้างโอเพนจีแอลพลัสพลัส (OpenGL++) ที่มีส่วนประกอบอย่างเช่น เอพีไอ scene-graph (โดยคาดว่าจะใช้เทคโนโลยีเพอร์ฟอร์เมอร์เป็นฐาน) ข้อกำหนดนี้หมุนเวียนกันอยู่ในกลุ่มของบริษัทที่สนใจกลุ่มเล็ก ๆ แต่ก็ไม่ได้กลายมาเป็นผลิตภัณฑ์[9]

เมื่อ พ.ศ. 2538 ไมโครซอฟท์ได้เผยแพร่ไดเรกต์ทรีดี (Direct3D) ออกมา ซึ่งในที่สุดก็กลายมาเป็นคู่แข่งหลักของโอเพนจีแอล ต่อมาวันที่ 17 ธันวาคม พ.ศ. 2540 ไมโครซอฟท์กับซิลิคอนกราฟิกส์ได้ริเริ่มโครงการฟาเรนไฮต์[10] ซึ่งเป็นความพยายามบรรลุเป้าหมายการรวมส่วนต่อประสานโอเพนจีแอลกับไดเรกต์ทรีดีเข้าด้วยกัน (และเอพีไอ scene-graph ด้วย) และต่อมาฮิวเลตต์-แพคการ์ดก็ได้เข้าร่วมโครงการด้วยใน พ.ศ. 2541[11] โครงการเริ่มต้นขึ้นด้วยสัญญาที่ว่าจะนำเอพีไอคอมพิวเตอร์กราฟิกส์สามมิติที่โต้ตอบได้มาสู่ชาวโลก แต่เนื่องด้วยข้อจำกัดทางการเงินของซิลิคอนกราฟิกส์ เหตุผลเชิงกลยุทธ์ของไมโครซอฟท์ และการขาดการสนับสนุนด้านอุตสาหกรรมโดยทั่วไป โครงการนี้จึงถูกทอดทิ้งไปเมื่อ พ.ศ. 2542[12]

เมื่อเดือนกรกฎาคม พ.ศ. 2549 คณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล ได้มีมติให้ส่งมอบการควบคุมมาตรฐานเอพีไอของโอเพนจีแอลแก่โครโนสกรุป (Khronos Group)[13][14]

ตัวอย่างชุดคำสั่งของโอเพนจีแอล[แก้]

สร้างสามเหลี่ยมที่มี สีแดง เขียว และ น้ำเงิน

glBegin (GL_TRIANGLES) ;
glNormal3f ( 0.0, 1.0, 0.0) ;
glColor3f ( 1.0, 0.0, 0.0) ; glVertex3f ( 0.0, 0.0, -1.0) ;
glColor3f ( 0.0, 1.0, 0.0) ; glVertex3f ( 1.0, 0.0, 0.0) ;
glColor3f ( 0.0, 0.0, 1.0) ; glVertex3f ( 0.0, 0.0, 1.0) ;
glEnd () ;

อ้างอิง[แก้]

  1. Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". สืบค้นเมื่อ 14 March 2010.
  2. "Products: Software: OpenGL: Licensing and Logos". SGI. สืบค้นเมื่อ November 7, 2012.
  3. https://www.opengl.org/wiki/Main_Page
  4. "OpenGL 4.0 Specification" (PDF). สืบค้นเมื่อ 2013-05-02.
  5. "สำเนาที่เก็บถาวร". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2019-02-25. สืบค้นเมื่อ 2014-12-06.
  6. "SGI – OpenGL Overview".
  7. "IRIS GL, SGI's property".
  8. "Creation of the OpenGL ARB".
  9. "End of OpenGL++". opengl.org.
  10. "Announcement of Fahrenheit".
  11. "Members of Fahrenheit. 1998". Computergram International. 1998. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2008-01-15. สืบค้นเมื่อ 2014-12-08.
  12. "End of Fahrenheit".
  13. OpenGL ARB to pass control of OpenGL specification to Khronos Group, Khronos press release
  14. OpenGL ARB to Pass Control of OpenGL Specification to Khronos Group, AccessMyLibrary Archive

ดูเพิ่ม[แก้]

แหล่งข้อมูลอื่น[แก้]