OpenGL

OpenGL (Open Graphics Library) — მულტიენობრივი, მულტიპლატფორმული აპლიკაციის პროგრამირების ინტერფეისი (API), რომელიც გამოიყენება ორგანზომილებიანი და სამგანზომილებიანი ვექტორული გრაფიკის გამოსახვისთვის. როგორც წესი, იგი გამოიყენება გრაფიკულ პროცესორთან ურთიერთქმედებისთვის, გამოსახვის აპარატურულად აჩქარების მისაღწევად. ინტერფეისი აერთიანებს დაახლოებით 250 განსხვავებულ ფუნქცას, რომლებიც გამოიყენება რთული სამგანზომილებიანი სცენების გამოსახვისთვის. ის პოპულარულია მისი სიმარტივის, მოხერხებულობის, მოქნილობის და იმის გამო, რომ ყველა პლატფორმაზე მუშაობს. ეს ბიბლიოთეკა პოპულარულია ვიდეო თამაშებში; შესაბამისად, ის კონკურენციაშია Microsoft-ის Direct3D-სთან, რომელიც Microsoft Windows-ში ჩაშენებული DirectX-ის კომპონენტია. ის, ასევე, ბევრ სამეცნიერო აპლიკაციაშია გამოკენებული. მისი ერთ-ერთი ვარიანტი, OpenGL ES, სპეციალურად გათვლილია აპლიკაციებისთვის, რომლებიც გამოიყენება მობილურ ტელეფონებში, ჯიბის კომპიუტერებში და სხვა ჩაშენებულ სისტემებში (embedded system). მისი მახასიათებლები და განვითარება წარმოდგენილია Silicon Graphics-ის (შემოკლებით SGI) გუნდის მიერ. ამ გუნდში იყენებენ ცნობილ ბუი ტუონგ ფონგის ჩრდილების ალგორითმს.საჭიროებს წყაროს მითითებას - თარიღი არ არის მითითებული! გამოიყენებთ {{subst:ფაქტიჩა}} ! პროექტ Fahrenheit-ის ფარგლებში, რომელიც Microsoft-ის და SGI-ს ინიციატივით ხორციელდებოდა 1997 წელს, შეეცადნენ, გაეერთიანებინათ OpenGL და Direct3D. 1998 წელს პროექტს Hewlett-Packard-იც შეუერთდა. თავიდან პროექტს თითქოს ჰქონდა პერსპექტივა, მოეწესრიგებინა მსოფლიოს ინტერაქტიული 3D კომპიუტერული გრაფიკის API-ები, თუმცა SGI-ში ფინანსური სახსრების უქონლობის, Microsoft-ში სტრატეგიული მიზეზების გამო და ინდუსტრიის მხარდაჭერის ნაკლებობის გამო, 1999 წელს პროექტი შეჩერდა. OpenGL-ის სპეციფიკაციას თვალყურს ადევნებს ARB (Architecture Review Board), რომელიც ჩამოყალიბდა 1992 წელს. ARB-ში შედიან ისეთი ორგანიწაციები, რომლებიც დაინტერესებულნი არიან API-ების შექმნითა და განვითარებით. 2002 წლის ივნისის ინფორმაციით, OpenGL-ის ოფიციალური საიტის მიხედვით, 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, nVidia, SGI და Sun Microsystems არიან ხმის მიმცემი წევრები. Microsoft, ერთ-ერთი დამაარსებელი წევრი, 2003 წლის მარტს გავიდა წევრებიდან. 2006 წლის ივლისში ARB-მა ხმა მისცა, რომ OpenGL API სპეციფიკაციის კონტროლი გადაცემულიყო Khronos Group-ზე, რომელიც უკვე დაკავებული იყო OpenGL-ის სხვადასხვა სპეციფიკაციების შედგენით, რომლებიც განკუთვნილი იყო მობილურის აპლიკაციებისთვის და ვიდეოთამაშებისთვის. ეს გადაწყვეტილება SIGGRAPH-ის 31-ე კონფერენციის დროს, გამოცხადდა. გადაწკვეტილება საბოლოოდ აღსრულდა 2006 წლის ბოლოს. OpenGL-ის სტანდარტი, ახალი ტექნოლოგიების გამოჩენასთან ერთად, ინდივიდუალურ მწარმოებლებს საშუალებას აძლევს, დაამატონ ფუნქციები ბიბლიოთეკაში გაფართოების მექანიზმის გავლით. გაფართოება გაყოფილია 2 ნაწილად: სასათაურო ფაილი, რომელშიც მდებარეობს ახალი ფუნქციების და მუდმივების პროტოტიპები და ასევე მოწყობილობის დრაივერები. ორივე მათგანს აქვს აბრევიატურები, რომლებიც გამოიყენება, როგორც სახელები ახალი ფუნქციებისთვის და მუდმივებისათვის. მაგალითად, NVIDIA-ს აბრევიატურა NV გამოიყენება glCombinerParameterfvNV() ფუნქციის და მისი მუდმივის, GL_NORMAL_MAP_NV-ის განსასაზღვრად. შესაძლებელია, განსაზღვრულ გაფართოებას რამდენიმე მწარმოებელმა გაუკეთოს რეალიზაცია; ამ შემთხვევაში გამოიყენება აბრევიატურა EXT. ასევე შესაძლებელია, რომ ARB-მ ოფიციალურად გამოაცხადოს რომელიმე გაფართოება; ამ შემთხვევაში ეს უკანასკნელი შეიცვლება სტანდარტით და აბრევიატურა ARB გამოიყენება. ARB-ის პირველი გაფართოება იყო GL_ARB. რამდენიმე ბიბლიოთეკა განვითარდა OpenGL-იდან იმისთვის, რომ უფრო მეტი ფუნქცია ჰქონოდა, რაც თავად OpenGL-ს არ ჰქონდა. ეს ბიბლიოთეკებია: GLU GLUT GLUI GLEW GLEE GLFW არსებობს რამდენიმე იმპლემენტაცია Windows-ისთვის Unix-ისთვის და macOS-ისთვის. ეს იმპლემენტაცია, ძირითადად, შედგენილია გრაფიკის მწარმოებლების მიერ. აგრეთვე, არსებობს ამ ბიბლიოთეკის ღია და თავისუფალი იმპლემენტაცია, სახელად Mesa, რომელიც შეიქმნა 1993 წელს ბრაიან პოლის მიერ და იყენებს იგივე API-ს, რაც საშუალებას იძლევა: ხშირ შემთხვევაში თავიდან ავიცილოთ OpenGL-ის ლიცენზირებასთან დაკავშირებული პრობლემები გამოვიყენოთ OpenGL-ის აპლიკაციები X ტერმინალზე, რომელიც ძირითადად უხარისხოა (ჩვენება საშინელია, მაგრამ ზოგჯერ სჯობს, გამოვიყენოთ თუ ანიმაციების გამოყენება ამ მომენტში არ გვესაჭირეობა). Mesa საშუალებას იძლევა, გამოვიყენოთ OpenGL ჩვეულებრივ X Window System-ზე. ის, ზოგჯერ, არ გვაძლევს 3D გამოსახვის საშუალებას; თუმცა, ამის მიუხედავად, შეგვიძლია გამოვიყენოთ ის მარტივი ფორმებისა და მრავალკუთხედების გამოსახვისთვის. SGI ყოველთვის ასაჯაროებს GL-ის ვერსიას N-1, GL-ის განსაზღვრულ ბიბლიოთეკას. მარკეტინგის ეს მეთოდი: ამცირებს კონკურენციას (OpenGL თავისუფალი და ღიაა; ასე რომ ახლის შექმნის მიზეზი, პრაქტიკულად, არ არსებობს). ამცირებს OpenGL-ის მოდიფიკაციიების რაოდენობას (ის ისედაც მოდიფიცირდება შემდეგ ვერსიაში). SGI სტანციებს აძლევს მეტ უპირატესობას, რადგან GL-ს გააჩნია უპირატესობები OpenGL-თან შედარებით. ზოგიერთი პროგრამა იყენებს OpenGL-ს მისი ინტერფეისის გამოსახვისთვის. ასეთებია: Google Earth, Blender, X11 და ა.შ.. OpenGL 2.0: ოფიციალური გიდი, ჯეკ ნეიდენი, მეისონ ვუ, ტომ დეივისი, დეივ შრეინერი, ვერონიკ კამპილო, 2006, კამპუსპრეს, ISBN 978-2-7440-2086-5. OpenGL პროგრამების ოფიციალური გიდი „როგორ ვისწავლოთ OpenGL“, ვერსია 2, დეივ შრეინერი, მეისონ ვუ, ჯეკ ნეიდენი, 2005, ედისონ-უელსი, ISBN 978-0-321-33573-9. OpenGL აღწერა, რიჩარდ ს, ბენჟამენ ლიპჩაკ, 2004, სამს, ISBN 978-0-672-32601-1. OpenGL თამაშების პროგრამირების დასაწყისი, დეივ ესტილ, კევინ ჰაუკინ, 2004, ტექნოლოგიის კურსი, ISBN 1-59200-369-9. Direct3D OpenGL ES OpenAL API (ინგლისური) OpenGL.org დაარქივებული 2011-02-26 საიტზე Wayback Machine. , OpenGL-ის ოფიციალური ვებ გვერდი. (ინგლისური) GLUT დაარქივებული 2011-01-03 საიტზე Wayback Machine. (ინგლისური) Mesa 3D, თავისუფალი დანერგვა (ინგლისური) freeglut, Gluit-ის თავისუფალი დანერგვა (ინგლისური) NeHe's OpenGL tutorials, დამწყებთათვის A-დან Z-მდე. (ფრანგული) OpenGL Nehe[მკვდარი ბმული], ფრანგული თარგმანი (ფრანგული) FAQ OpenGL, ფორუმი (ფრანგული) LinuxGraphic.org დაარქივებული 2007-06-03 საიტზე Wayback Machine. ახსნა-განმარტება ფრანგულად. (ფრანგული) GL in French დაარქივებული 2007-04-05 საიტზე Wayback Machine. , კურსები ფრანგულად. ↑ Lextrait, Vincent. (January 2010) The Programming Languages Beacon, v10.0. ციტირების თარიღი: March 14, 2010. ↑ Products: Software: OpenGL: Licensing and Logos. SGI. ციტირების თარიღი: November 7, 2012. ↑ „Members of Fahrenheit. 1998“. Computergram International. 1998. დაარქივებულია ორიგინალიდან — 2008-01-15. ციტირების თარიღი: 2016-11-25. ↑ 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