İçeriğe atla

GLUT (yazılım)

GLUT (OpenGL Utility Toolkit), OpenGL Programming for the X Window System and The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics'in yazarı ve Silicon Graphics çalışanı Mark J. Kilgard tarafından OpenGL programlarının geliştirilmesi amacıyla yazılmış bir kütüphanedir. Nate Robins tarafından Win32 platformuna da aktarılmıştır.

GLUT kütüphanesinin iki temel amacı vardır.

  • Platformlar arası kod taşınabilirliğini artırmak.
  • OpenGL programlama öğrenimini kolaylaştırmak.

GLUT kullanılarak geliştirilen programlarda işletim sistemine özgü karmaşık pencere API' leriyle uğraşmaya gerek duyulmaz. Temel olarak pencere tanımlama, pencere kontrolü, klavye, fare girişi ve izlenmesi fonksiyonlarını barındırır. Aynı zamanda birçok ilkel geometrik model için fonksiyonlar içerir.

Tüm GLUT fonksiyonları glut ön adıyla başlar (örneğin, glutCreateWindow).

GLUT, açık kaynaklı bir kütüphane değildir.

Ayrıca bakınız

Kaynakça

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">DirectX</span>

DirectX, Microsoft'un video oyunları başta olmak üzere çoklu ortam yazılımlarını rahat, hızlı ve uyumlu şekilde hazırlayabilmek için yarattığı bir uygulama programlama arayüzüdür (API). Şu andaki en güncel resmî sürüm DirectX 12'dir. İçerdiği bileşenlerden bazıları şu şekilde özetlenebilir:

<span class="mw-page-title-main">OpenGL</span> grafik uygulama geliştirme arabirimi

OpenGL, gelişmiş donanım desteğini kullanarak hem iki hem de üç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde yaygın olarak ve Playstation 3 başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.

<span class="mw-page-title-main">Enlightenment</span>

Enlightenment, basit, hızlı, sade ve kullanışlı bir masaüstü ortamı yaratmak için başlatılan bir projedir. EFL adı verilen pek çok parçadan oluşmuş bir grup kütüphane üzerine inşa edilmiştir.

GLSL, C tabanlı yüksek seviye bir programlama dilidir.OpenGL ARB tarafından,geliştiricilerin grafik işhattına assembly veya donanım-bağımlı bir dil bilmeden direkt erişim sağlaması için yaratılmıştır.

Cg Nvidia tarafından Microsoft la yakın işbirliği ile, tepe ve nokta tarayıcıları programlayabilmek için geliştirilen yüksek seviye bir tarayıcı dilidir. Microsoft un HLSL sine benzer. Cg C tabanlı olması ve aynı söz dizilimini kullanmasına rağmen,C nin bazı özellikleri düzenlenmiş, renk ve normal gibi yeni veri tipleri eklenmiştir.

<span class="mw-page-title-main">FLTK</span>

FLTK, Bill Spitzak tarafından C++ ile geliştirilmiş çapraz platform GUI kütüphanesidir. GNU LGPL ile özgür olarak dağıtılıp kullanılabilir. OpenGL ile üç boyutlu programlama yeteneklerini kullanır. Fakat genel GUI programlamasına da uygun olarak geliştirilmiştir. C++ ile geliştirildiğinden birincil programlama tercihi de bu yöndedir. Fakat zaman içerisinde Lua, Python, Ruby gibi nesne yönelimli diller içinde uygun hale getirilmiştir.

freeglut, ilk olarak Pawel W. Olszta tarafından geliştirilmeye başlanan OpenGL Utility Toolkit (GLUT) in bütünüyle açık kaynak seçeneği bir kütüphanedir. Şu anda Steve Baker tarafından resmi olarak sahiplenilmiştir.

GLee, açık kaynak kodlu çapraz platform OpenGL uzantı (extension) yükleme kütüphanesi. GLee, OpenGL 3.0 ile birlikte gelen yeni fonksiyonların tamamına ve 399 uzantıya kusursuz destek sağlar. OpenGL Extension kütüphanelerine bağlantıyı, çekirdek fonksiyonları kullanmayı kolaylaştırmak amacıyla geliştirilmiştir.

<span class="mw-page-title-main">OpenSceneGraph</span>

OpenSceneGraph açık kaynaklı, geçişli platformlarda uçuş simülasyonu, oyun, sanal gerçeklikler ve bilimsel sanallaştırmalar gibi yüksek performansta grafik uygulamaları geliştirebilmek için kullanılan grafik araçlarıdır. SceneGraph kaynağının temelini, OpenGL’nin üzerinde bulunarak geliştiriciyi düşük seviyeli grafik çağırımlarını uygulama ve uyumlaştırma gibi işlemlerden kurtaran nesneye yönelik bir framework ile desteklemektedir. Ayrıca grafik uygulamasında hızlı geliştirme için birçok ek özellikleri (utilities) de desteklemektedir.

Karesel gölgelendirme anlamına gelen Pixel Shader DirectX 9 ve üzeri oyun grafik kütüphanesinde bulunan grafik işleme komut fonksiyonudur. Yeni nesil olarak tanımlanan birçok oyunda bu özellik şartı aranıldığı için bir önceki nesil ekran görüntü kartları bu özelliği desteklemediği için birçok oyun yazılımı çalışmama durumu yaşanmaktadır.

Khronos Group, Inc., 3D grafikler, sanal gerçeklik, artırılmış gerçeklik, paralel hesaplama, görüntü hızlandırma ve makine öğrenimi için telifsiz birlikte çalışabilirlik standartları geliştiren, yayınlayan ve sürdüren 160 kuruluştan oluşan açık, kar amacı gütmeyen, üye odaklı bir konsorsiyumdur. Açık standartlar ve ilgili uygunluk testleri, yazılım uygulamalarının ve ara katman yazılımının, çok çeşitli platformlarda ve cihazlarda dinamik medyanın yazılmasını ve hızlandırılmasını sağlar. Grubun merkezi Beaverton, Oregon'dadır.

<span class="mw-page-title-main">EGL</span>

EGL, kâr amacı gütmeyen teknoloji şirketler birliği Khronos Group tarafından yönetilen, Khronos Group'un yönettiği diğer bazı API'ler ile, pencere sistemi arasında bir arayüz oluşturmayı hedefleyen API dir. Örneğin OpenGL ES destekleyen bir grafik işlemcisi ihtiva eden bir bilgisayarda, pencere sisteminin ekrana çizilmesi için ihtiyaç duyulan kaynakların atanması,yönetilmesi ve 2 veya 3 boyutlu pencere sistemi bileşenlerinin hızlı ve eşsiz bir şekilde ekrana çizilmesini sağlayan bir API dir. En çok kullanılan gerçeklenmişi ise X.org'un temelini oluşturan Mesa 3D kütüphanesidir.

OpenGL SC, OpenGL 1.3 spesifikasyonunun değiştirilmesiyle, güvenlik-kritik yazılım sektöründe kullanılmak üzere tasarlanmış olan OpenGL alt kümesidir. Havacılık elektroniği (aviyonik), askeri, sağlık, endüstriyel ve otomotiv elektroniğinde güvenlik-kritik yazılımlarda kullanılmak üzere tasarlanmıştır. OpenGL SC DO-178 gibi kalite standartlarında dikte edilen %100 grafik güvenilirliği ilkesini karşılamaktadır. OpenGL SC ile gerçek zamanlı çalışan diğer ekipman ile grafik ekipmanı uyum içinde çalışabilmektedir. OpenGL SC kâr amacı gütmeyen Khronos Group tarafından yönetilmektedir.

GLFW, temelde ve ilk olarak OpenGL ile kullanılmak üzere geliştirilmiş hafif bir yardımcı kütüphanedir. Programcıya, üzerinde çalışılan işletim sisteminden bağımsız olarak OpenGL ve Vulkan için 'context' ve pencere yaratma, klavye, fare, oyun çubuğu girdi ve çıktılarını yönetme kolaylığı sağlar.

SFML (Simple and Fast Multimedia Library), bilgisayar bileşenleri için basit arayüz sağlayan platform bağımsız yazılım geliştirme kütüphanesi. C++ ile nesne yönelimli olarak geliştirilmiştir ve C, D, Java, Python, Ruby, .NET, Go, Rust, OCaml, Euphoria ve Nimrod gibi programlama dilleri için de bağlayıcıları vardır. Android ve iOS için uygulama geliştirebilmeyi sağlayacak deneysel portu SFML'nin 2.2 sürümüyle birlikte gelmiştir.

Vulkan düşük maliyetli ve Çapraz platform 3D grafik ve işlem API-sidir. İlk kez Khronos Group tarafından GDC 2015'te açıklandı. Vulkan API başlangıçta, Khronos tarafından yeni nesil "OpenGL girişimi" veya "OpenGL-in sonrakısı" olarak sevk edildi. Vulkan, AMD'nin Mantle API bileşenleri üzerine türetilmiş ve inşa edilmiştir. Khronos'a, bir vakıf niyetiyle AMD tarafından bağışlanmıştır. OpenGL gibi, Vulkan da yüksek performanslı video oyunu ve interaktif medya gibi, gerçek zamanlı 3D grafik uygulamalara hedeflenir ve Direct3D 12 ve Mantle gibi, daha yüksek performans ve daha düşük CPU kullanımı sunuyor. Vulkanın ayrıca 2D grafik uygulamaları işlemek için yeteneği vardır, ancak genellikle 3D için uygundur. Alt CPU kullanımı yanı sıra, Vulkan da daha Çok çekirdekli işlemciler arasında eser yapabiliyor.

<span class="mw-page-title-main">KWin</span>

KWin X Pencere Sistemi için bir pencere yöneticisi ve halen Wayland kompozitörü olma sürecindedir. Varsayılan pencere yöneticisi olduğu KDE Plasma 5'in bir parçası olarak piyasaya sürüldü. KWin, kendi başına veya diğer masaüstü ortamılarıyla da kullanılabilir

<span class="mw-page-title-main">Compiz</span>

Compiz, pencere yönetimi için hızlı kompozit masaüstü efektleri oluşturmak üzere 3D grafik donanımını kullanarak X Pencere Sistemi için tasarlanmış bir kompozit pencere yöneticisidir. Küçültme animasyonu veya küp çalışma alanı gibi efektler, yüklenebilir eklentiler olarak uygulanır. ICCCM kurallarına uyduğu için Compiz, GNOME Panel kullanılırken varsayılan Mutter veya Metacity veya KDE Plasma Workspaces'te KWin yerine kullanılabilir. Dahili olarak Compiz, OpenGL kitaplığını grafik donanımına arabirim olarak kullanır.

dwm

dwm, xmonad ve awesome dahil olmak üzere diğer birçok X pencere yöneticisinin gelişimini etkileyen Suckless tarafından X Pencere Sistemi için geliştirilmiş minimalist bir dinamik pencere yöneticisidir. Harici olarak wmii'ye benzer, ancak dahili olarak çok daha basittir. dwm, basitliğe ek olarak performans ve güvenlik için tamamen C ile yazılmıştır ve kaynak kodunu düzenlemenin yanı sıra herhangi bir yapılandırma arayüzünden yoksundur. Projenin yönergelerinden biri, kaynak kodunun asla 2000 SLOC'yi aşmaması ve kullanıcı tarafından yapılandırılabilen seçeneklerin hepsinin tek bir başlık dosyasında yer almasıdır.