โอเพนจีแอล (อังกฤษ: OpenGL: Open Graphics Libraryไลบรารีกราฟิกส์แบบเปิด) คือส่วนต่อประสานโปรแกรมประยุกต์ (API) ด้านการเร็นเดอร์ภาพกราฟิกส์เวกเตอร์และสามมิติ ที่ทำงานได้หลายแพลตฟอร์มและ ส่วนต่อประสานนี้มักใช้ทำงานระหว่างหน่วยประมวลผลกราฟิกส์ (GPU) เพื่อให้บรรลุผลการเร็นเดอร์แบบ
ผู้ออกแบบ | |
---|---|
นักพัฒนา |
|
วันที่เปิดตัว | 30 มิถุนายน 1992 |
รุ่นเสถียร | 4.6 / 31 กรกฎาคม 2017 |
ภาษาที่เขียน | ภาษาซี |
ระบบปฏิบัติการ | ข้ามแพลตฟอร์ม |
ข้ามแพลตฟอร์ม | |
ประเภท | ส่วนต่อประสานโปรแกรมประยุกต์ |
สัญญาอนุญาต | หลากหลาย |
เว็บไซต์ | www.opengl.org |
โอเพนจีแอลได้รับการพัฒนาขึ้นโดยบริษัท (Silicon Graphics Inc.: SGI) ตั้งแต่ พ.ศ. 2534 และออกเผยแพร่เมื่อ 30 มิถุนายน พ.ศ. 2535 และใช้งานอย่างกว้างขวางในการออกแบบใช้คอมพิวเตอร์ช่วย (CAD) ความเป็นจริงเสมือน การทำสารสนเทศให้เห็นได้ และวิดีโอเกมเป็นต้น โครโนสกรุป ซึ่งเป็นด้านเทคโนโลยีที่ไม่แสวงผลกำไร ได้เข้ามาบริหารจัดการโอเพนจีแอลตั้งแต่ปี พ.ศ. 2559
ประวัติ
ตั้งแต่คริสต์ทศวรรษ 1980 การพัฒนาซอฟต์แวร์ที่สามารถทำงานกับฮาร์ดแวร์กราฟิกได้หลากชนิดเป็นความท้าทายอย่างยิ่ง นักพัฒนาซอฟต์แวร์เขียนอินเทอร์เฟซและไดรเวอร์ของตนเองสำหรับฮาร์ดแวร์แต่ละชิ้น ทำให้ต้องใช้ความพยายามทวีคูณและมีราคาแพง
มาถึงต้นคริสต์ทศวรรษ 1990 เป็นผู้นำในเรื่องภาพกราฟิกส์สามมิติสำหรับเครื่องสถานีงาน เอพีไอชื่อ (IRIS GL) ของบริษัทนี้ ถือว่า "นำสมัย" และกลายมาเป็นมาตรฐานด้านอุตสาหกรรมตามความนิยม บดบังรัศมี (PHIGS) ซึ่งเป็นเอพีไอที่มีพื้นฐานบนมาตรฐานเปิด เนื่องจากไอริสจีแอลใช้งานง่ายกว่าฟิกส์ และรองรับการเร็นเดอร์ใน (immediate mode)
บริษัทคู่แข่งของซิลิคอนกราฟิกส์ (รวมทั้งซันไมโครซิสเต็มส์ ฮิวเลตต์-แพคการ์ด และไอบีเอ็ม) ก็สามารถนำฮาร์ดแวร์สามมิติที่รองรับส่วนขยายต่าง ๆ สำหรับมาตรฐานฟิกส์เข้าสู่ตลาด ทำให้ส่วนแบ่งการตลาดของซิลิคอนกราฟิกส์ลดลงเนื่องจากผู้ผลิตฮาร์ดแวร์ภาพกราฟิกส์สามมิติเข้าสู่ตลาดมากขึ้น ด้วยความพยายามที่จะคงไว้ซึ่งอิทธิพลในตลาด ซิลิคอนกราฟิกส์จึงตัดสินใจเปลี่ยนไอริสจีแอลเป็นมาตรฐานเปิด ซึ่งนั่นก็คือ โอเพนจีแอล
อย่างไรก็ตาม ซิลิคอนกราฟิกส์มีลูกค้าด้านซอฟต์แวร์จำนวนมาก ซึ่งการเปลี่ยนจากไอริสจีแอลเป็นโอเพนจีแอลจะต้องใช้เงินลงทุนมาก ยิ่งไปกว่านั้น ไอริสจีแอลมีฟังก์ชันหลายฟังก์ชันที่ไม่เกี่ยวข้องกับด้านภาพกราฟิกส์สามมิติอยู่ด้วย เช่น เอพีไอที่เกี่ยวกับการจัดแบ่งหน้าต่าง คีย์บอร์ดและเมาส์ เป็นต้น เพราะว่ามันได้พัฒนาขึ้นก่อนที่จะมีเอ็กซ์วินโดวซิสเต็มและระบบของซัน และไลบรารีต่าง ๆ ของไอริสจีแอลไม่เหมาะที่จะเปลี่ยนเป็นมาตรฐานเปิดเนื่องจากปัญหาด้านลิขสิทธิ์และสิทธิบัตร ปัจจัยเหล่านี้ทำให้ซิลิคอนกราฟิกส์จำเป็นต้องคอยสนับสนุนผู้พัฒนาซอฟต์แวร์และเอพีไอที่ใช้ไอริสจีแอลเป็นฐานต่อไป ในขณะที่การสนับสนุนตลาดโอเพนจีแอลก็โตเต็มที่
ข้อจำกัดหนึ่งของไอริสจีแอลก็คือ การเข้าถึงคุณลักษณะที่รองรับโดยฮาร์ดแวร์ที่กำหนดเท่านั้น ถ้าฮาร์ดแวร์กราฟิกไม่รองรับคุณลักษณะอันใดอันหนึ่ง โปรแกรมประยุกต์ก็จะไม่สามารถใช้คุณลักษณะนั้นได้ โอเพนจีแอลได้แก้ปัญหานี้โดยเตรียมซอฟต์แวร์รองรับไว้สำหรับคุณลักษณะที่ไม่มีในฮาร์ดแวร์ ช่วยให้โปรแกรมประยุกต์สามารถใช้กราฟิกขั้นสูงบนระบบค่อนข้างต่ำได้ โอเพนจีแอลได้กำหนดวิธีการเข้าถึงฮาร์ดแวร์ให้เป็นมาตรฐาน ผลักดันภาระการพัฒนาโปรแกรมส่วนต่อประสานฮาร์ดแวร์ให้เป็นของผู้ผลิตฮาร์ดแวร์ และมอบหมายฟังก์ชันการจัดแบ่งหน้าต่างให้ระบบปฏิบัติการทำแทน ด้วยฮาร์ดแวร์กราฟิกมีมากมายหลายหลาก การทำให้ฮาร์ดแวร์ทั้งหมดพูดคุยด้วยภาษาเดียวกันในแนวทางนี้จึงเป็นผลสะท้อนที่โดดเด่น ที่ทำให้นักพัฒนาสามารถพัฒนาซอฟต์แวร์ภาพกราฟิกสามมิติบนแพลตฟอร์มในระดับที่สูงขึ้น
เมื่อ พ.ศ. 2535 ซิลิคอนกราฟิกส์ได้เป็นผู้นำในการตั้งคณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล (OpenGL Architecture Review Board: OpenGL ARB) ขึ้นมา ซึ่งเป็นกลุ่มของบริษัทต่าง ๆ ที่จะคอยบำรุงรักษาและขยายข้อกำหนดของโอเพนจีแอลในอนาคต
เมื่อ พ.ศ. 2537 ซิลิคอนกราฟิกส์ได้มีแนวคิดที่จะสร้าง (OpenGL++) ที่มีส่วนประกอบอย่างเช่น เอพีไอ scene-graph (โดยคาดว่าจะใช้เทคโนโลยีเป็นฐาน) ข้อกำหนดนี้หมุนเวียนกันอยู่ในกลุ่มของบริษัทที่สนใจกลุ่มเล็ก ๆ แต่ก็ไม่ได้กลายมาเป็นผลิตภัณฑ์
เมื่อ พ.ศ. 2538 ไมโครซอฟท์ได้เผยแพร่ (Direct3D) ออกมา ซึ่งในที่สุดก็กลายมาเป็นคู่แข่งหลักของโอเพนจีแอล ต่อมาวันที่ 17 ธันวาคม พ.ศ. 2540 ไมโครซอฟท์กับซิลิคอนกราฟิกส์ได้ริเริ่ม ซึ่งเป็นความพยายามบรรลุเป้าหมายการรวมส่วนต่อประสานโอเพนจีแอลกับไดเรกต์ทรีดีเข้าด้วยกัน (และเอพีไอ scene-graph ด้วย) และต่อมาฮิวเลตต์-แพคการ์ดก็ได้เข้าร่วมโครงการด้วยใน พ.ศ. 2541 โครงการเริ่มต้นขึ้นด้วยสัญญาที่ว่าจะนำเอพีไอคอมพิวเตอร์กราฟิกส์สามมิติที่โต้ตอบได้มาสู่ชาวโลก แต่เนื่องด้วยข้อจำกัดทางการเงินของซิลิคอนกราฟิกส์ เหตุผลเชิงกลยุทธ์ของไมโครซอฟท์ และการขาดการสนับสนุนด้านอุตสาหกรรมโดยทั่วไป โครงการนี้จึงถูกทอดทิ้งไปเมื่อ พ.ศ. 2542
เมื่อเดือนกรกฎาคม พ.ศ. 2549 คณะกรรมการทบทวนสถาปัตยกรรมโอเพนจีแอล ได้มีมติให้ส่งมอบการควบคุมมาตรฐานเอพีไอของโอเพนจีแอลแก่โครโนสกรุป (Khronos Group)
ความเปลี่ยนแปลงในอุตสาหกรรมเกมส์
เมื่อเดือนมิถุนายน พ.ศ. 2561 บริษัทแอปเปิล ได้ประกาศว่าสถานะของ OpenGL และ OpenCL จะถือเป็น deprecated (เลิกใช้) ในทุกแพลตฟอร์ม (iOS, macOS และ ) โดยเสนอแนะให้นักพัฒนาโปรแกรมหันไปใช้ Metal API ซึ่งเป็นผลิตภัณฑ์ของแอปเปิลแทน เอพีไอดังกล่าวได้รับการเผยแพร่มาตั้งแต่ พ.ศ. 2557
บริษัทไอดีซอฟต์แวร์ (id Software) ได้ใช้โอเพนจีแอลในการสร้างเกมตั้งแต่ (เปลี่ยนเทคโนโลยีจาก Quake มาเป็นโอเพนจีแอลโดยมีการปรับแต่งเล็กน้อย) ซึ่งถูกปล่อยออกมาในปี พ.ศ. 2540 ตัวเอนจิ้นแรกของบริษัทที่ใช้โอเพนจีแอลอย่างถูกต้องมีลิขสิทธิ์คือ หรือ ในปี พ.ศ. 2559 พวกเขาได้ปล่อยตัวอัปเดตสำหรับ ซึ่งใช้ Vulkan อันเป็นเทคโนโลยียุคใหม่ถัดจากโอเพนจีแอล จึงเลิกใช้โอเพนจีแอล
เมื่อเดือนมีนาคม พ.ศ. 2566 บริษัทวาล์ว (Valve Corporation) ได้ถอดโอเพ่นจีแอลออกจาก Dota 2
โครโนกรุ๊ปได้ถอดโอเพนจีแอลออกจากเทคโนโลยีคอมพิวเตอร์กราฟฟิกส์สมัยใหม่หลายตัว เช่น เรย์เทรซซิ่ง การเข้ารหัสวีโดโอบนจีพียู การลบรอยหยักในกราฟิกส์ อัลกอริธึมในดีพเลิร์นนิ่ง FidelityFX Super Resolution(FSR) ของ AMD และ Nvidia DLSS
เกมส์ Atypical ซึ่งสนับสนุนโดย Samsung ได้ปรับปรุงเอ็นจิ้นใหม่โดยใช้ Vulkan แทนที่จะเป็นโอเพนจีแอล
นอกจากนี้ Google Stadia และระบบปฏิบัติการ Fuchsia ก็ใช้ Vulkan เป็นกราฟฟิกเอพีไอหลัก รวมทั้งต้องการให้ใช้จีพียูที่สนับสนุน Vulkan ด้วย ทั้งนี้ Fuchsia ตั้งใจที่จะใช้โอเพนจีแอลบนชั้นของ Vulkan ด้วยเลเยอร์ของ ANGLE translation
ประวัติรุ่น
โอเพนจีแอลรุ่นแรก หรือเวอร์ชัน 1.0 เปิดตัวเมื่อ 30 มิถุนายน พ.ศ. 2535 โดยมาร์ค ซีกัล และเคิร์ต อะเคลลีย์ หลังจากนั้นมา โอเพนจีแอลได้รับการปรับปรุงคุณลักษณะหลายเวอร์ชัน ในแต่ละเวอร์ชันได้กำหนดฟีเจอร์ต่าง ๆ ที่เป็นพื้นฐานให้กราฟฟิกการ์ดต้องสนับสนุนหรือรองรับ และต่อต้านส่วนต่อขยายด้วยการเขียนที่ง่ายกว่วา เวอร์ชันใหม่แต่ละเวอร์ชันมีแนวโน้มที่จะรวมส่วนขยายต่างๆ เข้าด้วยกันซึ่งได้รับการสนับสนุนอย่างกว้างขวางจากผู้จำหน่ายกราฟิกการ์ด แม้ว่ารายละเอียดของส่วนขยายเหล่านั้นอาจมีการเปลี่ยนแปลงได้
เวอร์ชัน | วันที่เผยแพร่ | คุณสมบัติใหม่ |
---|---|---|
1.1 | พ.ศ. 2538 | Texture objects, Vertex Arrays |
1.2 | 16 มีนาคม พ.ศ. 2538 | 3D textures, BGRA และ packed pixel formats, และมีการใช้imaging subset ซึ่งเป็นประโยชน์แก่แอพประมวลผลข้อมูลภาพ |
1.2.1 | 14 ตุลาคม พ.ศ. 2538 | ออกส่วนขยาย ARB |
1.3 | 14 สิงหาคม พ.ศ. 2544 | Multitexturing, multisampling, |
1.4 | 24 กรกฎาคม พ.ศ. 2545 | Depth textures, GLSlang |
1.5 | 29 กรกฎาคม พ.ศ. 2546 | Vertex Buffer Object (VBO), Occlusion Queries |
2.0 | 7 กันยายน พ.ศ. 2547 | 1.1, , Non Power of Two textures, Point Sprites, Two-sided stencil |
2.1 | 2 กรกฎาคม พ.ศ. 2549 | GLSL 1.2, Pixel Buffer Object (PBO), sRGB Textures |
3.0 | 11 สิงหาคม พ.ศ. 2551 | GLSL 1.3, Texture Arrays, Conditional rendering, Frame Buffer Object (FBO) |
3.1 | 24 มีนาคม พ.ศ. 2552 | GLSL 1.4, Instancing, Texture Buffer Object, Uniform Buffer Object, Primitive restart |
3.2 | 3 สิงหาคม พ.ศ. 2552 | GLSL 1.5, Geometry Shader, Multi-sampled textures |
3.3 | 11 มีนาคม พ.ศ. 2553 | GLSL 3.30, ปรับปรุงฟังก์ชันรุ่นเก่าให้เข้าได้กับคุณลักษณะของ OpenGL 4.0 |
4.0 | 11 มีนาคม พ.ศ. 2553 | GLSL 4.00, Tessellation on GPU, shaders with 64-bit precision |
4.1 | 26 กรกฎาคม พ.ศ. 2553 | GLSL 4.10, แสดง debug output ให้ดูง่าย, เข้ากันได้กับ OpenGL ES 2.0 |
4.2 | 8 กรกฎาคม พ.ศ. 2554 | GLSL 4.20, Shaders ด้วย atomic counters, draw transform feedback instanced, การแพ็ค shader, เพิ่มขีดสมรรถนะ |
4.3 | 6 สิงหาคม พ.ศ. 2555 | GLSL 4.30, Compute shaders leveraging GPU parallelism, shader storage buffer objects, high-quality ETC2/EAC texture compression, increased memory security, a multi-application robustness extension, compatibility with OpenGL ES 3.0 |
4.4 | 22 กรกฎาคม พ.ศ. 2556 | GLSL 4.40, Buffer Placement Control, Efficient Asynchronous Queries, Shader Variable Layout, Efficient Multiple Object Binding, Streamlined Porting of Direct3D applications, Bindless Texture Extension, Sparse Texture Extension |
4.5 | 11 สิงหาคม พ.ศ. 2557 | GLSL 4.50, Direct State Access (DSA), Flush Control, ความคงทน, ความเข้ากันได้กับ OpenGL ES 3.1 API และ shader, ฟีเจอร์การจำลอง DX11 |
4.6 | 31 กรกฎาคม พ.ศ. 2560 | GLSL 4.60, เพิ่มประสิทธิภาพการประมวลผลเรขาคณิตและการรันเเชดเดอร์, เพิ่มข้อมูล, no error context, polygon offset clamp, SPIR-V, anisotropic filtering |
แหล่งข้อมูลเรียนรู้-ฝึกฝน
- OpenGL Step by Step ฝึกการเขียนโปรแกรมโดยใช้โอเพนจีแอล ทีละสเต็ป
- OpenGL Introduction แนะนำการเขียนโปรแกรมโดยใช้โอเพนจีแอล
- OpenGL SDK แนะนำเครื่องมือพัฒนาโปรแกรมโดยใช้โอเพนจีแอล
- Anton's OpenGL 4 Tutorials ฝึกการเขียนโปรแกรมโดยใช้โอเพนจีแอล เวอร์ชัน 4
- Getting Started - OpenGL Wiki เริ่มต้นกับโอเพนจีแอลวิกิ
- Learn OpenGL เรียนรู้โอเพนจีแอล พร้อมซอร์สโค้ด
วัลแคน
วัลแคน (Vulkan) เดิมเรียกว่า "Next Generation OpenGL Initiative" (glNext) เป็นการออกแบบระบบใหม่เพื่อหลอมรวม OpenGL และ OpenGL ES ให้เป็น API เดียว ซึ่งจะไม่คำนึงถึงความเข้ากันได้กับเวอร์ชันของโอเพนจีแอลที่มีอยู่
วัลแคนเวอร์ชันแรก ได้รับการเผยแพร่เมื่อวันที่ 16 กุมภาพันธ์ พ.ศ. 2559
Vulkan เป็น API ใหม่สำหรับกราฟิกที่เร่งความเร็วด้วยฮาร์ดแวร์ (และการคำนวณทั่วไป) ผ่าน GPU ดั้งเดิม โอเพนจีแอลจะยังคงได้รับการพัฒนาต่อไปเนื่องจากเป็น API ระดับสูงกว่า Vulkan เราสามารถอนุมานได้ว่า Vulkan นั้นน่าจะจบลงด้วยการเป็น "OpenGL 5"
อ้างอิง
- The Red Book – OpenGL Programming Guide, 6th edition.
- Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ May 30, 2012. สืบค้นเมื่อ March 14, 2010.
- "FAQ OpenGL Wiki". โครโนสกรุป. April 22, 2019. สืบค้นเมื่อ April 4, 2023.
- "Khronos Logos, Trademarks, and Guidelines". โครโนสกรุป. สืบค้นเมื่อ April 4, 2023.
- https://www.opengl.org/wiki/Main_Page
- "Khronos Combined OpenGL Registry". สืบค้นเมื่อ April 4, 2023.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2019-02-25. สืบค้นเมื่อ 2014-12-06.
- "SGI – OpenGL Overview". จากแหล่งเดิมเมื่อ October 31, 2004. สืบค้นเมื่อ February 16, 2007.
- Peddie, Jon (July 2012). "Who's the Fairest of Them All?". Computer Graphics World. สืบค้นเมื่อ May 30, 2018.
- "IRIS GL, SGI's property".
- "Creation of the OpenGL ARB".
- . opengl.org. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2008-05-16. สืบค้นเมื่อ 2014-12-08.
- "Announcement of Fahrenheit".
- . 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
- Smith, Ryan (June 5, 2018). "Apple Deprecates OpenGL Across All OSes; Urges Developers to use Metal". www.anandtech.com. Purch. สืบค้นเมื่อ June 5, 2018.
- "GLQuake". Quake Wiki.
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ November 8, 2009. สืบค้นเมื่อ September 17, 2008.
- "Doom Wiki: id Tech 7". สืบค้นเมื่อ October 26, 2021.
- Dawe, Liam (2023-03-07). "Dota 2 removes OpenGL support, new hero Muerta now live, big update due in April". GamingOnLinux (ภาษาอังกฤษ). สืบค้นเมื่อ 2023-03-26.
- "AMD FidelityFX Super Resolution". สืบค้นเมื่อ 2022-05-17.
- "AMD FidelityFX™ Super Resolution (FSR)".
- "NVIDIA DLSS".
- "Getting Started with DLSS". June 2021.
- "Jet Set Vulkan : Reflecting on the move to Vulkan".
- "Magma: Overview". fuchsia.dev. สืบค้นเมื่อ 2023-03-26.
- "Google announces Stadia, a game streaming service using Vulkan". Khronos Group. 2019-03-19.
- Astle, Dave (April 1, 2003). "Moving Beyond OpenGL 1.1 for Windows". gamedev.net. สืบค้นเมื่อ November 15, 2007.
- Isorna, J.M. (2015). Simulación visual de materiales : teoría, técnicas, análisis de casos. UPC Grau. Arquitectura, urbanisme i edificació (ภาษาสเปน). Universitat Politècnica de Catalunya. p. 191. ISBN . สืบค้นเมื่อ August 21, 2019.
- "Point Primitive".
- "Khronos Unleashes Cutting-Edge, Cross-Platform Graphics Acceleration with OpenGL 4.0". March 11, 2010.
- "Khronos Drives Evolution of Cross-Platform 3D Graphics with Release of OpenGL 4.1 Specification". July 26, 2010.
- "Khronos Releases OpenGL 4.3 Specification with Major Enhancements". August 6, 2012.
- "Khronos Releases OpenGL 4.4 Specification". July 22, 2013.
- "OpenGL Step by Step - OpenGL". สืบค้นเมื่อ April 5, 2023.
- "OpenGL Introduction". สืบค้นเมื่อ April 5, 2023.
- "OpenGL SDK". สืบค้นเมื่อ April 5, 2023.
- "Anton's OpenGL 4 Tutorials". สืบค้นเมื่อ April 5, 2023.
- "Getting Started - OpenGL Wiki". สืบค้นเมื่อ April 5, 2023.
- "Learn OpenGL". สืบค้นเมื่อ April 5, 2023.
- Dingman, Hayden (March 3, 2015). "Meet Vulkan, the powerful, platform-agnostic gaming tech taking aim at DirectX 12". . สืบค้นเมื่อ March 3, 2015.
- Bright, Peter (March 3, 2015). "Khronos unveils Vulkan: OpenGL built for modern systems". . สืบค้นเมื่อ March 3, 2015.
- "Khronos Announces Next Generation OpenGL Initiative". AnandTech. สืบค้นเมื่อ August 20, 2014.
- "OpenGL 4.5 released, next-gen OpenGL unveiled: Cross-platform Mantle killer, DX12 competitor". สืบค้นเมื่อ August 20, 2014.
- "Khronos Publishes Its Slides About OpenGL-Next". Phoronix. สืบค้นเมื่อ August 22, 2014.
ดูเพิ่ม
- คอมพิวเตอร์กราฟิกส์สามมิติ
- เรขภาพคอมพิวเตอร์ (คอมพิวเตอร์กราฟิกส์)
- ไดเรกเอกซ์
- OpenAL
- เกมคอมพิวเตอร์
แหล่งข้อมูลอื่น
- โอเพนจีแอล 2011-02-26 ที่ เวย์แบ็กแมชชีน
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
oxephnciaexl xngkvs OpenGL Open Graphics Library ilbrarikrafiksaebbepid khuxswntxprasanopraekrmprayukt API dankarernedxrphaphkrafiksewketxraelasammiti thithanganidhlayaephltfxrmaela swntxprasannimkichthanganrahwanghnwypramwlphlkrafiks GPU ephuxihbrrluphlkarernedxraebboxephnciaexlphuxxkaebbnkphthnaedim exxarbipccubn okhronskrupwnthiepidtw30 mithunayn 1992 31 pikxn 1992 06 30 runesthiyr4 6 31 krkdakhm 2017 6 pikxn 2017 07 31 phasathiekhiynphasasirabbptibtikarkhamaephltfxrmkhamaephltfxrmpraephthswntxprasanopraekrmprayuktsyyaxnuyathlakhlayewbistwww opengl org oxephnciaexlidrbkarphthnakhunodybristh Silicon Graphics Inc SGI tngaet ph s 2534 aelaxxkephyaephremux 30 mithunayn ph s 2535 aelaichnganxyangkwangkhwanginkarxxkaebbichkhxmphiwetxrchwy CAD khwamepncringesmuxn karthasarsnethsihehnid aelawidioxekmepntn okhronskrup sungepndanethkhonolyithiimaeswngphlkair idekhamabriharcdkaroxephnciaexltngaetpi ph s 2559prawtitngaetkhristthswrrs 1980 karphthnasxftaewrthisamarththangankbhardaewrkrafikidhlakchnidepnkhwamthathayxyangying nkphthnasxftaewrekhiynxinethxrefsaelaidrewxrkhxngtnexngsahrbhardaewraetlachin thaihtxngichkhwamphyayamthwikhunaelamirakhaaephng mathungtnkhristthswrrs 1990 epnphunaineruxngphaphkrafikssammitisahrbekhruxngsthaningan exphiixchux IRIS GL khxngbristhni thuxwa nasmy aelaklaymaepnmatrthandanxutsahkrrmtamkhwamniym bdbngrsmi PHIGS sungepnexphiixthimiphunthanbnmatrthanepid enuxngcakixrisciaexlichnganngaykwafiks aelarxngrbkarernedxrin immediate mode bristhkhuaekhngkhxngsilikhxnkrafiks rwmthngsnimokhrsisetms hiweltt aephkhkard aelaixbiexm ksamarthnahardaewrsammitithirxngrbswnkhyaytang sahrbmatrthanfiksekhasutlad thaihswnaebngkartladkhxngsilikhxnkrafiksldlngenuxngcakphuphlithardaewrphaphkrafikssammitiekhasutladmakkhun dwykhwamphyayamthicakhngiwsungxiththiphlintlad silikhxnkrafikscungtdsinicepliynixrisciaexlepnmatrthanepid sungnnkkhux oxephnciaexl xyangirktam silikhxnkrafiksmilukkhadansxftaewrcanwnmak sungkarepliyncakixrisciaexlepnoxephnciaexlcatxngichenginlngthunmak yingipkwann ixrisciaexlmifngkchnhlayfngkchnthiimekiywkhxngkbdanphaphkrafikssammitixyudwy echn exphiixthiekiywkbkarcdaebnghnatang khiybxrdaelaemas epntn ephraawamnidphthnakhunkxnthicamiexkswinodwsisetmaelarabbkhxngsn aelailbraritang khxngixrisciaexlimehmaathicaepliynepnmatrthanepidenuxngcakpyhadanlikhsiththiaelasiththibtr pccyehlanithaihsilikhxnkrafikscaepntxngkhxysnbsnunphuphthnasxftaewraelaexphiixthiichixrisciaexlepnthantxip inkhnathikarsnbsnuntladoxephnciaexlkotetmthi khxcakdhnungkhxngixrisciaexlkkhux karekhathungkhunlksnathirxngrbodyhardaewrthikahndethann thahardaewrkrafikimrxngrbkhunlksnaxnidxnhnung opraekrmprayuktkcaimsamarthichkhunlksnannid oxephnciaexlidaekpyhaniodyetriymsxftaewrrxngrbiwsahrbkhunlksnathiimmiinhardaewr chwyihopraekrmprayuktsamarthichkrafikkhnsungbnrabbkhxnkhangtaid oxephnciaexlidkahndwithikarekhathunghardaewrihepnmatrthan phlkdnpharakarphthnaopraekrmswntxprasanhardaewrihepnkhxngphuphlithardaewr aelamxbhmayfngkchnkarcdaebnghnatangihrabbptibtikarthaaethn dwyhardaewrkrafikmimakmayhlayhlak karthaihhardaewrthnghmdphudkhuydwyphasaediywkninaenwthangnicungepnphlsathxnthioddedn thithaihnkphthnasamarthphthnasxftaewrphaphkrafiksammitibnaephltfxrminradbthisungkhun emux ph s 2535 silikhxnkrafiksidepnphunainkartngkhnakrrmkarthbthwnsthaptykrrmoxephnciaexl OpenGL Architecture Review Board OpenGL ARB khunma sungepnklumkhxngbristhtang thicakhxybarungrksaaelakhyaykhxkahndkhxngoxephnciaexlinxnakht emux ph s 2537 silikhxnkrafiksidmiaenwkhidthicasrang OpenGL thimiswnprakxbxyangechn exphiix scene graph odykhadwacaichethkhonolyiepnthan khxkahndnihmunewiynknxyuinklumkhxngbrisththisnicklumelk aetkimidklaymaepnphlitphnth emux ph s 2538 imokhrsxfthidephyaephr Direct3D xxkma sunginthisudkklaymaepnkhuaekhnghlkkhxngoxephnciaexl txmawnthi 17 thnwakhm ph s 2540 imokhrsxfthkbsilikhxnkrafiksidrierim sungepnkhwamphyayambrrluepahmaykarrwmswntxprasanoxephnciaexlkbiderktthridiekhadwykn aelaexphiix scene graph dwy aelatxmahiweltt aephkhkardkidekharwmokhrngkardwyin ph s 2541 okhrngkarerimtnkhundwysyyathiwacanaexphiixkhxmphiwetxrkrafikssammitithiottxbidmasuchawolk aetenuxngdwykhxcakdthangkarenginkhxngsilikhxnkrafiks ehtuphlechingklyuththkhxngimokhrsxfth aelakarkhadkarsnbsnundanxutsahkrrmodythwip okhrngkarnicungthukthxdthingipemux ph s 2542 emuxeduxnkrkdakhm ph s 2549 khnakrrmkarthbthwnsthaptykrrmoxephnciaexl idmimtiihsngmxbkarkhwbkhummatrthanexphiixkhxngoxephnciaexlaekokhronskrup Khronos Group khwamepliynaeplnginxutsahkrrmekms emuxeduxnmithunayn ph s 2561 bristhaexpepil idprakaswasthanakhxng OpenGL aela OpenCL cathuxepn deprecated elikich inthukaephltfxrm iOS macOS aela odyesnxaenaihnkphthnaopraekrmhnipich Metal API sungepnphlitphnthkhxngaexpepilaethn exphiixdngklawidrbkarephyaephrmatngaet ph s 2557 bristhixdisxftaewr id Software idichoxephnciaexlinkarsrangekmtngaet epliynethkhonolyicak Quake maepnoxephnciaexlodymikarprbaetngelknxy sungthukplxyxxkmainpi ph s 2540 twexncinaerkkhxngbrisththiichoxephnciaexlxyangthuktxngmilikhsiththikhux hrux inpi ph s 2559 phwkekhaidplxytwxpedtsahrb sungich Vulkan xnepnethkhonolyiyukhihmthdcakoxephnciaexl cungelikichoxephnciaexl emuxeduxnminakhm ph s 2566 bristhwalw Valve Corporation idthxdoxephnciaexlxxkcak Dota 2 okhronkrupidthxdoxephnciaexlxxkcakethkhonolyikhxmphiwetxrkraffikssmyihmhlaytw echn eryethrssing karekharhswiodoxbnciphiyu karlbrxyhykinkrafiks xlkxrithumindiphelirnning FidelityFX Super Resolution FSR khxng AMD aela Nvidia DLSS ekms Atypical sungsnbsnunody Samsung idprbprungexncinihmodyich Vulkan aethnthicaepnoxephnciaexl nxkcakni Google Stadia aelarabbptibtikar Fuchsia kich Vulkan epnkraffikexphiixhlk rwmthngtxngkarihichciphiyuthisnbsnun Vulkan dwy thngni Fuchsia tngicthicaichoxephnciaexlbnchnkhxng Vulkan dwyeleyxrkhxng ANGLE translationprawtirunoxephnciaexlrunaerk hruxewxrchn 1 0 epidtwemux 30 mithunayn ph s 2535 odymarkh sikl aelaekhirt xaekhlliy hlngcaknnma oxephnciaexlidrbkarprbprungkhunlksnahlayewxrchn inaetlaewxrchnidkahndfiecxrtang thiepnphunthanihkraffikkardtxngsnbsnunhruxrxngrb aelatxtanswntxkhyaydwykarekhiynthingaykwwa ewxrchnihmaetlaewxrchnmiaenwonmthicarwmswnkhyaytang ekhadwyknsungidrbkarsnbsnunxyangkwangkhwangcakphucahnaykrafikkard aemwaraylaexiydkhxngswnkhyayehlannxacmikarepliynaeplngid prawtiewxrchnkhxngoxephnciaexl ewxrchn wnthiephyaephr khunsmbtiihm1 1 ph s 2538 Texture objects Vertex Arrays1 2 16 minakhm ph s 2538 3D textures BGRA aela packed pixel formats aelamikarichimaging subset sungepnpraoychnaekaexphpramwlphlkhxmulphaph1 2 1 14 tulakhm ph s 2538 xxkswnkhyay ARB1 3 14 singhakhm ph s 2544 Multitexturing multisampling 1 4 24 krkdakhm ph s 2545 Depth textures GLSlang1 5 29 krkdakhm ph s 2546 Vertex Buffer Object VBO Occlusion Queries2 0 7 knyayn ph s 2547 1 1 Non Power of Two textures Point Sprites Two sided stencil2 1 2 krkdakhm ph s 2549 GLSL 1 2 Pixel Buffer Object PBO sRGB Textures3 0 11 singhakhm ph s 2551 GLSL 1 3 Texture Arrays Conditional rendering Frame Buffer Object FBO 3 1 24 minakhm ph s 2552 GLSL 1 4 Instancing Texture Buffer Object Uniform Buffer Object Primitive restart3 2 3 singhakhm ph s 2552 GLSL 1 5 Geometry Shader Multi sampled textures3 3 11 minakhm ph s 2553 GLSL 3 30 prbprungfngkchnrunekaihekhaidkbkhunlksnakhxng OpenGL 4 04 0 11 minakhm ph s 2553 GLSL 4 00 Tessellation on GPU shaders with 64 bit precision4 1 26 krkdakhm ph s 2553 GLSL 4 10 aesdng debug output ihdungay ekhaknidkb OpenGL ES 2 04 2 8 krkdakhm ph s 2554 GLSL 4 20 Shaders dwy atomic counters draw transform feedback instanced karaephkh shader ephimkhidsmrrthna4 3 6 singhakhm ph s 2555 GLSL 4 30 Compute shaders leveraging GPU parallelism shader storage buffer objects high quality ETC2 EAC texture compression increased memory security a multi application robustness extension compatibility with OpenGL ES 3 04 4 22 krkdakhm ph s 2556 GLSL 4 40 Buffer Placement Control Efficient Asynchronous Queries Shader Variable Layout Efficient Multiple Object Binding Streamlined Porting of Direct3D applications Bindless Texture Extension Sparse Texture Extension4 5 11 singhakhm ph s 2557 GLSL 4 50 Direct State Access DSA Flush Control khwamkhngthn khwamekhaknidkb OpenGL ES 3 1 API aela shader fiecxrkarcalxng DX114 6 31 krkdakhm ph s 2560 GLSL 4 60 ephimprasiththiphaphkarpramwlphlerkhakhnitaelakarrneechdedxr ephimkhxmul no error context polygon offset clamp SPIR V anisotropic filteringaehlngkhxmuleriynru fukfnOpenGL Step by Step fukkarekhiynopraekrmodyichoxephnciaexl thilasetp OpenGL Introduction aenanakarekhiynopraekrmodyichoxephnciaexl OpenGL SDK aenanaekhruxngmuxphthnaopraekrmodyichoxephnciaexl Anton s OpenGL 4 Tutorials fukkarekhiynopraekrmodyichoxephnciaexl ewxrchn 4 Getting Started OpenGL Wiki erimtnkboxephnciaexlwiki Learn OpenGL eriynruoxephnciaexl phrxmsxrsokhdwlaekhnwlaekhn Vulkan edimeriykwa Next Generation OpenGL Initiative glNext epnkarxxkaebbrabbihmephuxhlxmrwm OpenGL aela OpenGL ES ihepn API ediyw sungcaimkhanungthungkhwamekhaknidkbewxrchnkhxngoxephnciaexlthimixyu wlaekhnewxrchnaerk idrbkarephyaephremuxwnthi 16 kumphaphnth ph s 2559 Vulkan epn API ihmsahrbkrafikthierngkhwamerwdwyhardaewr aelakarkhanwnthwip phan GPU dngedim oxephnciaexlcayngkhngidrbkarphthnatxipenuxngcakepn API radbsungkwa Vulkan erasamarthxnumanidwa Vulkan nnnacacblngdwykarepn OpenGL 5 xangxingThe Red Book OpenGL Programming Guide 6th edition ISBN 0 321 48100 3Lextrait Vincent January 2010 The Programming Languages Beacon v10 0 khlngkhxmulekaekbcakaehlngedimemux May 30 2012 subkhnemux March 14 2010 FAQ OpenGL Wiki okhronskrup April 22 2019 subkhnemux April 4 2023 Khronos Logos Trademarks and Guidelines okhronskrup subkhnemux April 4 2023 https www opengl org wiki Main Page Khronos Combined OpenGL Registry subkhnemux April 4 2023 khlngkhxmulekaekbcakaehlngedimemux 2019 02 25 subkhnemux 2014 12 06 SGI OpenGL Overview cakaehlngedimemux October 31 2004 subkhnemux February 16 2007 Peddie Jon July 2012 Who s the Fairest of Them All Computer Graphics World subkhnemux May 30 2018 IRIS GL SGI s property Creation of the OpenGL ARB opengl org khlngkhxmulekaekbcakaehlngedimemux 2008 05 16 subkhnemux 2014 12 08 Announcement of Fahrenheit Computergram International 1998 khlngkhxmulekaekbcakaehlngedimemux 2008 01 15 subkhnemux 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 Smith Ryan June 5 2018 Apple Deprecates OpenGL Across All OSes Urges Developers to use Metal www anandtech com Purch subkhnemux June 5 2018 GLQuake Quake Wiki khlngkhxmulekaekbcakaehlngedimemux November 8 2009 subkhnemux September 17 2008 Doom Wiki id Tech 7 subkhnemux October 26 2021 Dawe Liam 2023 03 07 Dota 2 removes OpenGL support new hero Muerta now live big update due in April GamingOnLinux phasaxngkvs subkhnemux 2023 03 26 AMD FidelityFX Super Resolution subkhnemux 2022 05 17 AMD FidelityFX Super Resolution FSR NVIDIA DLSS Getting Started with DLSS June 2021 Jet Set Vulkan Reflecting on the move to Vulkan Magma Overview fuchsia dev subkhnemux 2023 03 26 Google announces Stadia a game streaming service using Vulkan Khronos Group 2019 03 19 Astle Dave April 1 2003 Moving Beyond OpenGL 1 1 for Windows gamedev net subkhnemux November 15 2007 Isorna J M 2015 Simulacion visual de materiales teoria tecnicas analisis de casos UPC Grau Arquitectura urbanisme i edificacio phasasepn Universitat Politecnica de Catalunya p 191 ISBN 978 84 9880 564 2 subkhnemux August 21 2019 Point Primitive Khronos Unleashes Cutting Edge Cross Platform Graphics Acceleration with OpenGL 4 0 March 11 2010 Khronos Drives Evolution of Cross Platform 3D Graphics with Release of OpenGL 4 1 Specification July 26 2010 Khronos Releases OpenGL 4 3 Specification with Major Enhancements August 6 2012 Khronos Releases OpenGL 4 4 Specification July 22 2013 OpenGL Step by Step OpenGL subkhnemux April 5 2023 OpenGL Introduction subkhnemux April 5 2023 OpenGL SDK subkhnemux April 5 2023 Anton s OpenGL 4 Tutorials subkhnemux April 5 2023 Getting Started OpenGL Wiki subkhnemux April 5 2023 Learn OpenGL subkhnemux April 5 2023 Dingman Hayden March 3 2015 Meet Vulkan the powerful platform agnostic gaming tech taking aim at DirectX 12 subkhnemux March 3 2015 Bright Peter March 3 2015 Khronos unveils Vulkan OpenGL built for modern systems subkhnemux March 3 2015 Khronos Announces Next Generation OpenGL Initiative AnandTech subkhnemux August 20 2014 OpenGL 4 5 released next gen OpenGL unveiled Cross platform Mantle killer DX12 competitor subkhnemux August 20 2014 Khronos Publishes Its Slides About OpenGL Next Phoronix subkhnemux August 22 2014 duephimkhxmphiwetxrkrafikssammiti erkhphaphkhxmphiwetxr khxmphiwetxrkrafiks iderkexks OpenAL ekmkhxmphiwetxraehlngkhxmulxunoxephnciaexl 2011 02 26 thi ewyaebkaemchchin