คำถามยอดนิยม
ไทมไลน์
แชท
มุมมอง
โอเพนจีแอล
จากวิกิพีเดีย สารานุกรมเสรี
Remove ads
โอเพนจีแอล (อังกฤษ: OpenGL: Open Graphics Library[4][5][6] ไลบรารีกราฟิกส์แบบเปิด) คือส่วนต่อประสานโปรแกรมประยุกต์ (API) ด้านการเร็นเดอร์ภาพกราฟิกส์เวกเตอร์สองมิติและสามมิติ ที่ทำงานได้หลายแพลตฟอร์มและหลายภาษา ส่วนต่อประสานนี้มักใช้ทำงานระหว่างหน่วยประมวลผลกราฟิกส์ (GPU) เพื่อให้บรรลุผลการเร็นเดอร์แบบเร่งด้วยฮาร์ดแวร์
โอเพนจีแอลได้รับการพัฒนาขึ้นโดยบริษัทซิลิคอนกราฟิกส์ (Silicon Graphics Inc.: SGI) ตั้งแต่ พ.ศ. 2534 และออกเผยแพร่เมื่อ 30 มิถุนายน พ.ศ. 2535[7][8] และใช้งานอย่างกว้างขวางในการออกแบบใช้คอมพิวเตอร์ช่วย (CAD) ความเป็นจริงเสมือน การทำให้เห็นได้เชิงวิทยาศาสตร์ การทำสารสนเทศให้เห็นได้ เครื่องจำลองการฝึกบิน และวิดีโอเกมเป็นต้น โครโนสกรุป ซึ่งเป็นกลุ่มบริษัทด้านเทคโนโลยีที่ไม่แสวงผลกำไร ได้เข้ามาบริหารจัดการโอเพนจีแอลตั้งแต่ปี พ.ศ. 2559
Remove ads
ประวัติ
สรุป
มุมมอง
ตั้งแต่คริสต์ทศวรรษ 1980 การพัฒนาซอฟต์แวร์ที่สามารถทำงานกับฮาร์ดแวร์กราฟิกได้หลากชนิดเป็นความท้าทายอย่างยิ่ง นักพัฒนาซอฟต์แวร์เขียนอินเทอร์เฟซและไดรเวอร์ของตนเองสำหรับฮาร์ดแวร์แต่ละชิ้น ทำให้ต้องใช้ความพยายามทวีคูณและมีราคาแพง
มาถึงต้นคริสต์ทศวรรษ 1990 ซิลิคอนกราฟิกส์เป็นผู้นำในเรื่องภาพกราฟิกส์สามมิติสำหรับเครื่องสถานีงาน เอพีไอชื่อ ไอริสจีแอล (IRIS GL) ของบริษัทนี้[9] ถือว่า "นำสมัย" และกลายมาเป็นมาตรฐานด้านอุตสาหกรรมตามความนิยม บดบังรัศมี ฟิกส์ (PHIGS) ซึ่งเป็นเอพีไอที่มีพื้นฐานบนมาตรฐานเปิด เนื่องจากไอริสจีแอลใช้งานง่ายกว่าฟิกส์ และรองรับการเร็นเดอร์ในภาวะทันที (immediate mode)
บริษัทคู่แข่งของซิลิคอนกราฟิกส์ (รวมทั้งซันไมโครซิสเต็มส์ ฮิวเลตต์-แพคการ์ด และไอบีเอ็ม) ก็สามารถนำฮาร์ดแวร์สามมิติที่รองรับส่วนขยายต่าง ๆ สำหรับมาตรฐานฟิกส์เข้าสู่ตลาด ทำให้ส่วนแบ่งการตลาดของซิลิคอนกราฟิกส์ลดลงเนื่องจากผู้ผลิตฮาร์ดแวร์ภาพกราฟิกส์สามมิติเข้าสู่ตลาดมากขึ้น ด้วยความพยายามที่จะคงไว้ซึ่งอิทธิพลในตลาด ซิลิคอนกราฟิกส์จึงตัดสินใจเปลี่ยนไอริสจีแอลเป็นมาตรฐานเปิด ซึ่งนั่นก็คือ โอเพนจีแอล
อย่างไรก็ตาม ซิลิคอนกราฟิกส์มีลูกค้าด้านซอฟต์แวร์จำนวนมาก ซึ่งการเปลี่ยนจากไอริสจีแอลเป็นโอเพนจีแอลจะต้องใช้เงินลงทุนมาก ยิ่งไปกว่านั้น ไอริสจีแอลมีฟังก์ชันหลายฟังก์ชันที่ไม่เกี่ยวข้องกับด้านภาพกราฟิกส์สามมิติอยู่ด้วย เช่น เอพีไอที่เกี่ยวกับการจัดแบ่งหน้าต่าง คีย์บอร์ดและเมาส์ เป็นต้น เพราะว่ามันได้พัฒนาขึ้นก่อนที่จะมีเอ็กซ์วินโดวซิสเต็มและระบบนิวส์ของซัน และไลบรารีต่าง ๆ ของไอริสจีแอลไม่เหมาะที่จะเปลี่ยนเป็นมาตรฐานเปิดเนื่องจากปัญหาด้านลิขสิทธิ์และสิทธิบัตร ปัจจัยเหล่านี้ทำให้ซิลิคอนกราฟิกส์จำเป็นต้องคอยสนับสนุนผู้พัฒนาซอฟต์แวร์และเอพีไอที่ใช้ไอริสจีแอลเป็นฐานต่อไป ในขณะที่การสนับสนุนตลาดโอเพนจีแอลก็โตเต็มที่
ข้อจำกัดหนึ่งของไอริสจีแอลก็คือ การเข้าถึงคุณลักษณะที่รองรับโดยฮาร์ดแวร์ที่กำหนดเท่านั้น ถ้าฮาร์ดแวร์กราฟิกไม่รองรับคุณลักษณะอันใดอันหนึ่ง โปรแกรมประยุกต์ก็จะไม่สามารถใช้คุณลักษณะนั้นได้ โอเพนจีแอลได้แก้ปัญหานี้โดยเตรียมซอฟต์แวร์รองรับไว้สำหรับคุณลักษณะที่ไม่มีในฮาร์ดแวร์ ช่วยให้โปรแกรมประยุกต์สามารถใช้กราฟิกขั้นสูงบนระบบค่อนข้างต่ำได้ โอเพนจีแอลได้กำหนดวิธีการเข้าถึงฮาร์ดแวร์ให้เป็นมาตรฐาน ผลักดันภาระการพัฒนาโปรแกรมส่วนต่อประสานฮาร์ดแวร์ให้เป็นของผู้ผลิตฮาร์ดแวร์ และมอบหมายฟังก์ชันการจัดแบ่งหน้าต่างให้ระบบปฏิบัติการทำแทน ด้วยฮาร์ดแวร์กราฟิกมีมากมายหลายหลาก การทำให้ฮาร์ดแวร์ทั้งหมดพูดคุยด้วยภาษาเดียวกันในแนวทางนี้จึงเป็นผลสะท้อนที่โดดเด่น ที่ทำให้นักพัฒนาสามารถพัฒนาซอฟต์แวร์ภาพกราฟิกสามมิติบนแพลตฟอร์มในระดับที่สูงขึ้น
เมื่อ พ.ศ. 2535 ซิลิคอนกราฟิกส์ได้เป็นผู้นำในการตั้งคณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล (OpenGL Architecture Review Board: OpenGL ARB) ขึ้นมา ซึ่งเป็นกลุ่มของบริษัทต่าง ๆ ที่จะคอยบำรุงรักษาและขยายข้อกำหนดของโอเพนจีแอลในอนาคต[10]
เมื่อ พ.ศ. 2537 ซิลิคอนกราฟิกส์ได้มีแนวคิดที่จะสร้างโอเพนจีแอลพลัสพลัส (OpenGL++) ที่มีส่วนประกอบอย่างเช่น เอพีไอ scene-graph (โดยคาดว่าจะใช้เทคโนโลยีเพอร์ฟอร์เมอร์เป็นฐาน) ข้อกำหนดนี้หมุนเวียนกันอยู่ในกลุ่มของบริษัทที่สนใจกลุ่มเล็ก ๆ แต่ก็ไม่ได้กลายมาเป็นผลิตภัณฑ์[11]
เมื่อ พ.ศ. 2538 ไมโครซอฟท์ได้เผยแพร่ไดเรกต์ทรีดี (Direct3D) ออกมา ซึ่งในที่สุดก็กลายมาเป็นคู่แข่งหลักของโอเพนจีแอล ต่อมาวันที่ 17 ธันวาคม พ.ศ. 2540 ไมโครซอฟท์กับซิลิคอนกราฟิกส์ได้ริเริ่มโครงการฟาเรนไฮต์[12] ซึ่งเป็นความพยายามบรรลุเป้าหมายการรวมส่วนต่อประสานโอเพนจีแอลกับไดเรกต์ทรีดีเข้าด้วยกัน (และเอพีไอ scene-graph ด้วย) และต่อมาฮิวเลตต์-แพคการ์ดก็ได้เข้าร่วมโครงการด้วยใน พ.ศ. 2541[13] โครงการเริ่มต้นขึ้นด้วยสัญญาที่ว่าจะนำเอพีไอคอมพิวเตอร์กราฟิกส์สามมิติที่โต้ตอบได้มาสู่ชาวโลก แต่เนื่องด้วยข้อจำกัดทางการเงินของซิลิคอนกราฟิกส์ เหตุผลเชิงกลยุทธ์ของไมโครซอฟท์ และการขาดการสนับสนุนด้านอุตสาหกรรมโดยทั่วไป โครงการนี้จึงถูกทอดทิ้งไปเมื่อ พ.ศ. 2542[14]
เมื่อเดือนกรกฎาคม พ.ศ. 2549 คณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล ได้มีมติให้ส่งมอบการควบคุมมาตรฐานเอพีไอของโอเพนจีแอลแก่โครโนสกรุป (Khronos Group)[15][16]
ความเปลี่ยนแปลงในอุตสาหกรรมเกมส์
เมื่อเดือนมิถุนายน พ.ศ. 2561 บริษัทแอปเปิล ได้ประกาศว่าสถานะของ OpenGL และ OpenCL จะถือเป็น deprecated (เลิกใช้) ในทุกแพลตฟอร์ม (iOS, macOS และ tvOS) โดยเสนอแนะให้นักพัฒนาโปรแกรมหันไปใช้ Metal API ซึ่งเป็นผลิตภัณฑ์ของแอปเปิลแทน เอพีไอดังกล่าวได้รับการเผยแพร่มาตั้งแต่ พ.ศ. 2557[17]
บริษัทไอดีซอฟต์แวร์ (id Software) ได้ใช้โอเพนจีแอลในการสร้างเกมตั้งแต่ GLQuake (เปลี่ยนเทคโนโลยีจาก Quake มาเป็นโอเพนจีแอลโดยมีการปรับแต่งเล็กน้อย) ซึ่งถูกปล่อยออกมาในปี พ.ศ. 2540 [18] ตัวเอนจิ้นแรกของบริษัทที่ใช้โอเพนจีแอลอย่างถูกต้องมีลิขสิทธิ์คือ Quake II engine หรือ id Tech 2[19] ในปี พ.ศ. 2559 พวกเขาได้ปล่อยตัวอัปเดตสำหรับ id Tech 6 ซึ่งใช้ Vulkan อันเป็นเทคโนโลยียุคใหม่ถัดจากโอเพนจีแอล ID Tech 7 จึงเลิกใช้โอเพนจีแอล[20]
เมื่อเดือนมีนาคม พ.ศ. 2566 บริษัทวาล์ว (Valve Corporation) ได้ถอดโอเพ่นจีแอลออกจาก Dota 2[21]
โครโนกรุ๊ปได้ถอดโอเพนจีแอลออกจากเทคโนโลยีคอมพิวเตอร์กราฟฟิกส์สมัยใหม่หลายตัว เช่น เรย์เทรซซิ่ง การเข้ารหัสวีโดโอบนจีพียู การลบรอยหยักในกราฟิกส์ อัลกอริธึมในดีพเลิร์นนิ่ง FidelityFX Super Resolution(FSR) ของ AMD[22][23] และ Nvidia DLSS[24][25]
เกมส์ Atypical ซึ่งสนับสนุนโดย Samsung ได้ปรับปรุงเอ็นจิ้นใหม่โดยใช้ Vulkan แทนที่จะเป็นโอเพนจีแอล[26]
นอกจากนี้ Google Stadia และระบบปฏิบัติการ Fuchsia ก็ใช้ Vulkan เป็นกราฟฟิกเอพีไอหลัก รวมทั้งต้องการให้ใช้จีพียูที่สนับสนุน Vulkan ด้วย ทั้งนี้ Fuchsia ตั้งใจที่จะใช้โอเพนจีแอลบนชั้นของ Vulkan ด้วยเลเยอร์ของ ANGLE translation[27][28]
Remove ads
ประวัติรุ่น
สรุป
มุมมอง
โอเพนจีแอลรุ่นแรก หรือเวอร์ชัน 1.0 เปิดตัวเมื่อ 30 มิถุนายน พ.ศ. 2535 โดยมาร์ค ซีกัล และเคิร์ต อะเคลลีย์ หลังจากนั้นมา โอเพนจีแอลได้รับการปรับปรุงคุณลักษณะหลายเวอร์ชัน ในแต่ละเวอร์ชันได้กำหนดฟีเจอร์ต่าง ๆ ที่เป็นพื้นฐานให้กราฟฟิกการ์ดต้องสนับสนุนหรือรองรับ และต่อต้านส่วนต่อขยายด้วยการเขียนที่ง่ายกว่วา เวอร์ชันใหม่แต่ละเวอร์ชันมีแนวโน้มที่จะรวมส่วนขยายต่าง ๆ เข้าด้วยกันซึ่งได้รับการสนับสนุนอย่างกว้างขวางจากผู้จำหน่ายกราฟิกการ์ด แม้ว่ารายละเอียดของส่วนขยายเหล่านั้นอาจมีการเปลี่ยนแปลงได้
Remove ads
แหล่งข้อมูลเรียนรู้-ฝึกฝน
- OpenGL Step by Step[36] ฝึกการเขียนโปรแกรมโดยใช้โอเพนจีแอล ทีละสเต็ป
- OpenGL Introduction [37] แนะนำการเขียนโปรแกรมโดยใช้โอเพนจีแอล
- OpenGL SDK [38] แนะนำเครื่องมือพัฒนาโปรแกรมโดยใช้โอเพนจีแอล
- Anton's OpenGL 4 Tutorials [39] ฝึกการเขียนโปรแกรมโดยใช้โอเพนจีแอล เวอร์ชัน 4
- Getting Started - OpenGL Wiki [40] เริ่มต้นกับโอเพนจีแอลวิกิ
- Learn OpenGL [41] เรียนรู้โอเพนจีแอล พร้อมซอร์สโค้ด
วัลแคน
วัลแคน (Vulkan) เดิมเรียกว่า "Next Generation OpenGL Initiative" (glNext)[42][43] เป็นการออกแบบระบบใหม่เพื่อหลอมรวม OpenGL และ OpenGL ES ให้เป็น API เดียว ซึ่งจะไม่คำนึงถึงความเข้ากันได้กับเวอร์ชันของโอเพนจีแอลที่มีอยู่[44][45][46]
วัลแคนเวอร์ชันแรก ได้รับการเผยแพร่เมื่อวันที่ 16 กุมภาพันธ์ พ.ศ. 2559
Vulkan เป็น API ใหม่สำหรับกราฟิกที่เร่งความเร็วด้วยฮาร์ดแวร์ (และการคำนวณทั่วไป) ผ่าน GPU ดั้งเดิม โอเพนจีแอลจะยังคงได้รับการพัฒนาต่อไปเนื่องจากเป็น API ระดับสูงกว่า Vulkan เราสามารถอนุมานได้ว่า Vulkan นั้นน่าจะจบลงด้วยการเป็น "OpenGL 5"
Remove ads
อ้างอิง
ดูเพิ่ม
แหล่งข้อมูลอื่น
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads