OpenGL

ვიკიპედიიდან

OpenGL (Open Graphics Library) — 3-განზომილებიანი სურათების აპლიკაცია, რომელიც განსაზღვრავს API-ს და მულტი-პლატფორმულია.

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

სექციების სია

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

მისი მახასიათებლები და განვითარება წარმოდგენილია SGI ჯგუფის მიერ, იმის შემდეგ რაც იმუშავებს მსგავს პირველ პროექტ INRIA-ზე. ამ გუნდში იყენებენ ცნობილ Bui Tuong Phong-ს ვინც შექმნა ჩრდილების ალგორითმი. პროექტმა ფარენგეიტი, ინიციატორი მაიკროსვორდის და SGI-ს, შეეცადნენ გაეერთიანებინათ OpenGL და Direct3D. ამ უკანასკნელს იმედი ჰქონდა რომ მოაწესრიგებდა 3D API-ს სამყაროს, მაგრამ ფინანსების უქონლობის გამო ეს პროეკტი მიატოვეს. OpenGL-ის სპეციფიკაციას თვალყურს ადევნებენ ARB(Architecture Review Board), რომელიც ჩამოყალიბდა 1992 წელს. ARB-ში შედიან ისეთი ორგანიწაციები რომლებიც დაინტერესებულნი არიან API-ის შექმნით და მისი გავრცობით. OpenGL ოფიციალური საიტის მიხედვით 3Dlabs, Apple, ATI, Dell, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Matrox, nVidia, SGI და Sun Microsystems არიან ხმისმიმცემი წევრები(2002წ.ივნისი). Microsoft-ი, ერთ-ერთი დამაარსებელი 2003 წლის მარტს წავიდა აქედან. 2006 წლის ივლისში 31 Siggraph-ის კონფერენციის დროს ARB-იმ გამოაცხადა თავისი გადაწყვეტილება OpenGL-ის სპეციფიკაციის კონტროლის გადაცემა Khronos Group-ისთვის, რომელიც უკვე დაკავებული იყო OpenGL-ის სხვადასხვა სპეციფიკაციებით ისევდაისევ იმ აპლიკაციებისთვის რომლებიც მობილურებშია და ვიდეო-თამაშები-სთვის. ამ გადაწკვეტილებამ შედეგი გამოიგო 2006 წლის ბოლოს.

[რედაქტირება] გაფართოება

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

[რედაქტირება] ბიბლიოთეკა

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

  • GLU
  • GLUT
  • GLUI
  • GLEW
  • GLEE
  • GLFW

[რედაქტირება] დანერგვა

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

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

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

[რედაქტირება] OpenGL-ის ინტერესი SGI-ის მიმართ:

SGI-ს ყოველთვის გამოაქვს საქვეყნოდ GL-ის ვერსია N-1, GL-ის გრაფიკული ბიბლიოთეკა. მარკეტინგის ეს მოახლოება:

  • ამცირებს კონკურენციას (OpenGL უფასოა და ღიაა, რატომ შევქმნათ ახალი?)
  • ამცირებს აგრეთვე OpenGL-ის მოდიფიკაციას (ის რომ ისედაც შემდეგ ვერსიაში შეიცვლება).
  • SGI-ი სტანციებს აძლევს მეტ უპირატესობას, რადგან GL-ს აქვს ყოველთვის მეტი უპირატესობა OpenGL-ზე.

[რედაქტირება] გამოყენება

ზოგიერთი პტოგრამა გამოიყენებს OpenGL-ს თავისი ინტერფეისისთვის . ესეთებია Google Earth, Blender, ან SGI-ის X11 ვერსია.

[რედაქტირება] იხილეთ აგრეთვე

API

[რედაქტირება] ბიბლიოგრაფია

  • OpenGL 2.0:ოფიციალური გიდი, ჯეკ ნეიდენი, მეისონ ვუ, ტომ დევისი, დეივ შრეინერი, ვერონიკ კამპილო, 2006, კამპუსპრეს, ISBN 978-2744020865.
  • OpenGL პროგრამების ოფიციალური გიდი როგორ ვისწავლოთ OpenGL, ვერსია2, დეივ შრეინერი, მეისონ ვუ, ჯეკ ნეიდენი, 2005, ედისონ-უელსი, ISBN 978-0321335739.
  • OpenGL აღწერა, რიჩარდ ს, ბენჟამენ ლიპჩაკ, 2004, სამს, ISBN 978-0672326011.
  • OpenGL თამაშების პროგრამირების დასაწყისი დეივ ესტილ, კევინ ჰაუკინ, 2004, ტექნოლოგიის კურსი, ISBN 1592003699.

[რედაქტირება] სპეციფიკაციები

OpenGL და OpenGL-ის უტილიტების სპეციფიკაციები.

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

  • Direct3D
  • OpenGL ES
  • OpenAL

[რედაქტირება] გარე ბმულები