โอเพนจีแอล
![]() | |
ผู้ออกแบบ | ซิลิคอนกราฟิกส์ |
---|---|
ผู้พัฒนา |
|
วันที่เปิดตัว | มกราคม ค.ศ. 1992 |
รุ่นล่าสุด | 4.5 / 11 สิงหาคม ค.ศ. 2014 |
เขียนบน | ภาษาซี[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 () ;
อ้างอิง[แก้]
- The Red Book – OpenGL Programming Guide, 6th edition. ISBN 0-321-48100-3
- ↑ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". สืบค้นเมื่อ 14 March 2010.
- ↑ "Products: Software: OpenGL: Licensing and Logos". SGI. สืบค้นเมื่อ November 7, 2012.
- ↑ https://www.opengl.org/wiki/Main_Page
- ↑ "OpenGL 4.0 Specification" (PDF). สืบค้นเมื่อ 2013-05-02.
- ↑ "สำเนาที่เก็บถาวร". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2019-02-25. สืบค้นเมื่อ 2014-12-06.
- ↑ "SGI – OpenGL Overview".
- ↑ "IRIS GL, SGI's property".
- ↑ "Creation of the OpenGL ARB".
- ↑ "End of OpenGL++". opengl.org.
- ↑ "Announcement of Fahrenheit".
- ↑ "Members of Fahrenheit. 1998". Computergram International. 1998. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2008-01-15. สืบค้นเมื่อ 2014-12-08.
- ↑ "End of Fahrenheit".
- ↑ OpenGL ARB to pass control of OpenGL specification to Khronos Group, Khronos press release
- ↑ OpenGL ARB to Pass Control of OpenGL Specification to Khronos Group, AccessMyLibrary Archive
ดูเพิ่ม[แก้]
- คอมพิวเตอร์กราฟิกส์สามมิติ
- เรขภาพคอมพิวเตอร์ (คอมพิวเตอร์กราฟิกส์)
- ไดเรกเอกซ์
- OpenGL ES
- GLSL
- OpenAL
- XNA
- เกมคอมพิวเตอร์
แหล่งข้อมูลอื่น[แก้]
- โอเพนจีแอล เก็บถาวร 2011-02-26 ที่ เวย์แบ็กแมชชีน