fbpx
วิกิพีเดีย

โอเพนจีแอล

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

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

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

ประวัติ

ตั้งแต่คริสต์ทศวรรษ 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)

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

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

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. http://faculty.ycp.edu/~dbabcock/PastCourses/cs370/labs/index.html
  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.
  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

ดูเพิ่ม

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

  • โอเพนจีแอล

โอเพนจ, แอล, งกฤษ, opengl, open, graphics, library, ไลบราร, กราฟ, กส, แบบเป, อส, วนต, อประสานโปรแกรมประย, กต, านการเร, นเดอร, ภาพกราฟ, กส, เวกเตอร, สองม, และสามม, ทำงานได, หลายแพลตฟอร, มและหลายภาษา, วนต, อประสานน, กใช, ทำงานระหว, างหน, วยประมวลผลกราฟ, กส, เพ, . oxephnciaexl xngkvs OpenGL Open Graphics Library 3 4 5 ilbrarikrafiksaebbepid khuxswntxprasanopraekrmprayukt API dankarernedxrphaphkrafiksewketxrsxngmitiaelasammiti thithanganidhlayaephltfxrmaelahlayphasa swntxprasannimkichthanganrahwanghnwypramwlphlkrafiks GPU ephuxihbrrluphlkarernedxraebbernghardaewroxephnciaexlphuxxkaebbsilikhxnkrafiksphuphthnaedim exxarbipccubn okhronskrupwnthiepidtwmkrakhm kh s 1992 1992 01 runlasud4 5 11 singhakhm kh s 2014 2014 08 11 ekhiynbnphasasi 1 rabbptibtikarkhamaephltfxrmaephltfxrmkhamaephltfxrmpraephthswntxprasanopraekrmprayuktsyyaxnuyathlakhlay 2 ewbistwww opengl orgoxephnciaexlphthnakhunodybristhsilikhxnkrafiks Silicon Graphics Inc SGI tngaet ph s 2534 ephyaephremuxeduxnmkrakhm ph s 2535 6 aelaichnganxyangkwangkhwanginkarxxkaebbichkhxmphiwetxrchwy CAD khwamepncringesmuxn karthaihehnidechingwithyasastr karthasarsnethsihehnid ekhruxngcalxngkarbin aelawidioxekmepntn oxephnciaexlbriharcdkarody okhronskrup epnklumbristhdanethkhonolyithiimaeswngphlkair enuxha 1 prawti 2 twxyangchudkhasngkhxngoxephnciaexl 3 xangxing 4 duephim 5 aehlngkhxmulxunprawti aekikhtngaetkhristthswrrs 1980 karphthnasxftaewrthisamarththangankbhardaewrkrafikidhlakchnidepnkhwamthathayxyangying nkphthnasxftaewrekhiynxinethxrefsaelaidrewxrkhxngtnexngsahrbhardaewraetlachin thaihtxngichkhwamphyayamthwikhunaelamirakhaaephngmathungtnkhristthswrrs 1990 silikhxnkrafiksepnphunaineruxngphaphkrafikssammitisahrbekhruxngsthaningan exphiixchux ixrisciaexl IRIS GL khxngbristhni 7 thuxwa nasmy aelaklaymaepnmatrthandanxutsahkrrmtamkhwamniym bdbngrsmi fiks PHIGS sungepnexphiixthimiphunthanbnmatrthanepid enuxngcakixrisciaexlichnganngaykwafiks aelarxngrbkarernedxrinphawathnthi immediate mode bristhkhuaekhngkhxngsilikhxnkrafiks rwmthngsnimokhrsisetms hiweltt aephkhkard aelaixbiexm ksamarthnahardaewrsammitithirxngrbswnkhyaytang sahrbmatrthanfiksekhasutlad thaihswnaebngkartladkhxngsilikhxnkrafiksldlngenuxngcakphuphlithardaewrphaphkrafikssammitiekhasutladmakkhun dwykhwamphyayamthicakhngiwsungxiththiphlintlad silikhxnkrafikscungtdsinicepliynixrisciaexlepnmatrthanepid sungnnkkhux oxephnciaexlxyangirktam silikhxnkrafiksmilukkhadansxftaewrcanwnmak sungkarepliyncakixrisciaexlepnoxephnciaexlcatxngichenginlngthunmak yingipkwann ixrisciaexlmifngkchnhlayfngkchnthiimekiywkhxngkbdanphaphkrafikssammitixyudwy echn exphiixthiekiywkbkarcdaebnghnatang khiybxrdaelaemas epntn ephraawamnidphthnakhunkxnthicamiexkswinodwsisetmaelarabbniwskhxngsn aelailbraritang khxngixrisciaexlimehmaathicaepliynepnmatrthanepidenuxngcakpyhadanlikhsiththiaelasiththibtr pccyehlanithaihsilikhxnkrafikscaepntxngkhxysnbsnunphuphthnasxftaewraelaexphiixthiichixrisciaexlepnthantxip inkhnathikarsnbsnuntladoxephnciaexlkotetmthikhxcakdhnungkhxngixrisciaexlkkhux karekhathungkhunlksnathirxngrbodyhardaewrthikahndethann thahardaewrkrafikimrxngrbkhunlksnaxnidxnhnung opraekrmprayuktkcaimsamarthichkhunlksnannid oxephnciaexlidaekpyhaniodyetriymsxftaewrrxngrbiwsahrbkhunlksnathiimmiinhardaewr chwyihopraekrmprayuktsamarthichkrafikkhnsungbnrabbkhxnkhangtaid oxephnciaexlidkahndwithikarekhathunghardaewrihepnmatrthan phlkdnpharakarphthnaopraekrmswntxprasanhardaewrihepnkhxngphuphlithardaewr aelamxbhmayfngkchnkarcdaebnghnatangihrabbptibtikarthaaethn dwyhardaewrkrafikmimakmayhlayhlak karthaihhardaewrthnghmdphudkhuydwyphasaediywkninaenwthangnicungepnphlsathxnthioddedn thithaihnkphthnasamarthphthnasxftaewrphaphkrafiksammitibnaephltfxrminradbthisungkhunemux ph s 2535 silikhxnkrafiksidepnphunainkartngkhnakrrmkarthbthwnsthaptykrrmoxephnciaexl OpenGL Architecture Review Board OpenGL ARB khunma sungepnklumkhxngbristhtang thicakhxybarungrksaaelakhyaykhxkahndkhxngoxephnciaexlinxnakht 8 emux ph s 2537 silikhxnkrafiksidmiaenwkhidthicasrangoxephnciaexlphlsphls OpenGL thimiswnprakxbxyangechn exphiix scene graph odykhadwacaichethkhonolyiephxrfxremxrepnthan khxkahndnihmunewiynknxyuinklumkhxngbrisththisnicklumelk aetkimidklaymaepnphlitphnth 9 emux ph s 2538 imokhrsxfthidephyaephriderktthridi Direct3D xxkma sunginthisudkklaymaepnkhuaekhnghlkkhxngoxephnciaexl txmawnthi 17 thnwakhm ph s 2540 imokhrsxfthkbsilikhxnkrafiksidrierimokhrngkarfaerniht 10 sungepnkhwamphyayambrrluepahmaykarrwmswntxprasanoxephnciaexlkbiderktthridiekhadwykn aelaexphiix scene graph dwy aelatxmahiweltt aephkhkardkidekharwmokhrngkardwyin ph s 2541 11 okhrngkarerimtnkhundwysyyathiwacanaexphiixkhxmphiwetxrkrafikssammitithiottxbidmasuchawolk aetenuxngdwykhxcakdthangkarenginkhxngsilikhxnkrafiks ehtuphlechingklyuththkhxngimokhrsxfth aelakarkhadkarsnbsnundanxutsahkrrmodythwip okhrngkarnicungthukthxdthingipemux ph s 2542 12 emuxeduxnkrkdakhm ph s 2549 khnakrrmkarthbthwnsthaptykrrmoxephnciaexl idmimtiihsngmxbkarkhwbkhummatrthanexphiixkhxngoxephnciaexlaekokhronskrup Khronos Group 13 14 twxyangchudkhasngkhxngoxephnciaexl aekikhsrangsamehliymthimi siaedng ekhiyw aela naengin 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 xangxing aekikhThe Red Book OpenGL Programming Guide 6th edition ISBN 0 321 48100 3 Lextrait Vincent January 2010 The Programming Languages Beacon v10 0 subkhnemux 14 March 2010 Products Software OpenGL Licensing and Logos SGI subkhnemux November 7 2012 https www opengl org wiki Main Page OpenGL 4 0 Specification PDF subkhnemux 2013 05 02 http faculty ycp edu dbabcock PastCourses cs370 labs index html 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 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 Archiveduephim aekikhkhxmphiwetxrkrafikssammiti erkhphaphkhxmphiwetxr khxmphiwetxrkrafiks iderkexks OpenGL ES GLSL OpenAL XNA ekmkhxmphiwetxraehlngkhxmulxun aekikhoxephnciaexlekhathungcak https th wikipedia org w index php title oxephnciaexl amp oldid 9041846, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม