შინაარსზე გადასვლა

OpenGL

მასალა ვიკიპედიიდან — თავისუფალი ენციკლოპედია
OpenGL
OpenGL-ის ლოგო
ავტორი Silicon Graphics
მწარმოებელი Khronos Group
გამოვიდა 1992 წლის იანვარი
ბოლო გამოშვება 4.5 / 11 აგვისტო, 2014
პროგრამირების ენა C[1]
ოს მულტიპლატფორმული
პლატფორმა მულტიპლატფორმული
ჟანრი 3D გრაფიკისAPI
ლიცენზია სხვადასხვა[2]
საიტი opengl.org
Linux-ის ბირთვის და OpenGL-ზე დაფუძნებულივიდეო თამაშებისურთიერთკავშირის ილუსტრაცია. ვიდეო თამაში უთანხმებს რეალურ დროში გამოსახვის გამოთვლებსგრაფიკულ პროცესორსOpenGL-ის მეშვეობით. იმის მაგივრად, რომ გამოსახვის შედეგები გაიგზავნოს უკან, მთავარ მეხსიერებაში, ხდება კადრის ბუფერის გაგზავნა ვიდეო მეხსიერებაში. შემდეგ კი დისპლეი კონტროლერი აგზავნის ამ მონაცემებს დისპლეიზე.

OpenGL(OpenGraphicsLibrary) — მულტიენობრივი, მულტიპლატფორმულიაპლიკაციის პროგრამირების ინტერფეისი(API), რომელიც გამოიყენება ორგანზომილებიანი და სამგანზომილებიანივექტორული გრაფიკისგამოსახვისთვის. როგორც წესი, იგი გამოიყენებაგრაფიკულ პროცესორთანურთიერთქმედებისთვის, გამოსახვის აპარატურულად აჩქარების მისაღწევად.

ინტერფეისი აერთიანებს დაახლოებით 250 განსხვავებულ ფუნქცას, რომლებიც გამოიყენება რთული სამგანზომილებიანი სცენების გამოსახვისთვის. ის პოპულარულია მისი სიმარტივის, მოხერხებულობის, მოქნილობის და იმის გამო, რომ ყველა პლატფორმაზე მუშაობს. ესბიბლიოთეკაპოპულარულიავიდეო თამაშებში;შესაბამისად, ის კონკურენციაშიაMicrosoft-ისDirect3D-სთან, რომელიცMicrosoft Windows-ში ჩაშენებულიDirectX-ის კომპონენტია. ის, ასევე, ბევრ სამეცნიერო აპლიკაციაშია გამოკენებული. მისი ერთ-ერთი ვარიანტი,OpenGL ES,სპეციალურად გათვლილია აპლიკაციებისთვის, რომლებიც გამოიყენება მობილურ ტელეფონებში, ჯიბის კომპიუტერებში და სხვაჩაშენებულ სისტემებში(embedded system).

მისი მახასიათებლები და განვითარება წარმოდგენილიაSilicon Graphics-ის (შემოკლებით SGI) გუნდის მიერ. ამ გუნდში იყენებენ ცნობილბუი ტუონგ ფონგისჩრდილების ალგორითმს.საჭიროებს წყაროს მითითებას-თარიღი არ არის მითითებული! გამოიყენებთ {{subst:ფაქტიჩა}}!პროექტ Fahrenheit-ის ფარგლებში, რომელიც Microsoft-ის და SGI-ს ინიციატივით ხორციელდებოდა 1997 წელს, შეეცადნენ, გაეერთიანებინათ OpenGL დაDirect3D.1998 წელს პროექტსHewlett-Packard-იც შეუერთდა.[3]თავიდან პროექტს თითქოს ჰქონდა პერსპექტივა, მოეწესრიგებინა მსოფლიოს ინტერაქტიული 3D კომპიუტერული გრაფიკის API-ები, თუმცა SGI-ში ფინანსური სახსრების უქონლობის, Microsoft-ში სტრატეგიული მიზეზების გამო და ინდუსტრიის მხარდაჭერის ნაკლებობის გამო, 1999 წელს პროექტი შეჩერდა.[4]

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 წლის ბოლოს.[5][6]

OpenGL-ის სტანდარტი, ახალი ტექნოლოგიების გამოჩენასთან ერთად, ინდივიდუალურ მწარმოებლებს საშუალებას აძლევს, დაამატონ ფუნქციები ბიბლიოთეკაში გაფართოების მექანიზმის გავლით. გაფართოება გაყოფილია 2 ნაწილად: სასათაურო ფაილი, რომელშიც მდებარეობს ახალი ფუნქციების და მუდმივების პროტოტიპები და ასევე მოწყობილობის დრაივერები. ორივე მათგანს აქვს აბრევიატურები, რომლებიც გამოიყენება, როგორც სახელები ახალი ფუნქციებისთვის და მუდმივებისათვის. მაგალითად,NVIDIA-ს აბრევიატურაNVგამოიყენებაglCombinerParameterfvNV()ფუნქციის და მისი მუდმივის,GL_NORMAL_MAP_NV-ის განსასაზღვრად. შესაძლებელია, განსაზღვრულ გაფართოებას რამდენიმე მწარმოებელმა გაუკეთოს რეალიზაცია; ამ შემთხვევაში გამოიყენება აბრევიატურაEXT.ასევე შესაძლებელია, რომ ARB-მ ოფიციალურად გამოაცხადოს რომელიმე გაფართოება; ამ შემთხვევაში ეს უკანასკნელი შეიცვლება სტანდარტით და აბრევიატურაARBგამოიყენება. ARB-ის პირველი გაფართოება იყოGL_ARB.

რამდენიმე ბიბლიოთეკა განვითარდა OpenGL-იდან იმისთვის, რომ უფრო მეტი ფუნქცია ჰქონოდა, რაც თავად OpenGL-ს არ ჰქონდა. ეს ბიბლიოთეკებია:

არსებობს რამდენიმე იმპლემენტაციაWindows-ისთვისUnix-ისთვის დაmacOS-ისთვის. ეს იმპლემენტაცია, ძირითადად, შედგენილია გრაფიკის მწარმოებლების მიერ. აგრეთვე, არსებობს ამ ბიბლიოთეკისღიადათავისუფალიიმპლემენტაცია, სახელადMesa,რომელიც შეიქმნა 1993 წელსბრაიან პოლისმიერ და იყენებს იგივე API-ს, რაც საშუალებას იძლევა:

  • ხშირ შემთხვევაში თავიდან ავიცილოთ OpenGL-ის ლიცენზირებასთან დაკავშირებული პრობლემები
  • გამოვიყენოთ OpenGL-ის აპლიკაციებიX ტერმინალზე,რომელიც ძირითადად უხარისხოა (ჩვენება საშინელია, მაგრამ ზოგჯერ სჯობს, გამოვიყენოთ თუ ანიმაციების გამოყენება ამ მომენტში არ გვესაჭირეობა).

Mesa საშუალებას იძლევა, გამოვიყენოთ OpenGL ჩვეულებრივX Window System-ზე. ის, ზოგჯერ, არ გვაძლევს 3D გამოსახვის საშუალებას; თუმცა, ამის მიუხედავად, შეგვიძლია გამოვიყენოთ ის მარტივი ფორმებისა და მრავალკუთხედების გამოსახვისთვის.

OpenGL-ის ინტერესი SGI-ის მიმართ:

[რედაქტირება|წყაროს რედაქტირება]

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.

დაკავშირებული სტატიები

[რედაქტირება|წყაროს რედაქტირება]

რესურსები ინტერნეტში

[რედაქტირება|წყაროს რედაქტირება]
  1. Lextrait, Vincent. (January 2010)The Programming Languages Beacon, v10.0.ციტირების თარიღი: March 14, 2010.
  2. Products: Software: OpenGL: Licensing and Logos.SGI.ციტირების თარიღი: November 7, 2012.
  3. „Members of Fahrenheit. 1998 “.Computergram International.1998. დაარქივებულიაორიგინალიდან— 2008-01-15.ციტირების თარიღი:2016-11-25.
  4. End of Fahrenheit.
  5. OpenGL ARB to pass control of OpenGL specification to Khronos Group,Khronos press release
  6. OpenGL ARB to Pass Control of OpenGL Specification to Khronos Group,AccessMyLibrary Archive
მოძიებულია „https://ka.wikipedia.org/w/index.php?title=OpenGL&oldid=4545766“-დან