bugün
- dinlerin yalan olması9
- sarapci koala75
- kürtler olmasa türkler anadoluya giremezdi yalanı14
- türk ten kürt'ü ayırırsan türk kalmaz6
- ilkay gündoğan5
- 30 ağustos 2026 girne feribot faciası6
- muslettin amca3
- anayasa değişikliği2
- acı kıyaslamak5
- dudağın içinde çıkan beyaz yaralar5
- dinsizlik modası3
- nervio5
- soğan yiyen kız6
- motor yağı6
- pazar akşamları2
- zengin olsanız ne yaparsınız3
- 30 ağustos zafer bayramı17
- incil vahiy9
- tüm gün sözlükte ırkçılık yapan yazarlar3
- üç nokta yerine dört nokta kullanan insan4
- pekmez bey birader dönsün kampanyası2
- türklerin türkiye de asimile olması8
- 30 ağustos 2026 samsunspor fenerbahçe maçı9
- çanta6
- 29 ağustos 2026 galatasaray göztepe maçı29
- üç harflilerin size gösterdiği vizyonlar6
- chp değişecek mi3
- tai lung44
- iq testi yaptırmış sözlük yazarları11
- ezilenlerin iktidarını kuran büyük insan34
- ismet gurbuz 2024 mübarek bir zattır3
- nervio hamferdi11
- seri eksiciyi tenhada yakalamak2
- gs'ye yapılan torpillere söylenmek10
- seri eksici ezik3
- rafael leao34
- erecto bay birader bey yazar2
- kötüyü beteriyle aklama çabası2
- trt türkü2
- 0 0 713
- galatasaray11
- anın görüntüsü20
- bira ve nirvana2
- kadınlardaki sahiplenilme isteği8
- israil'in ateşkese rağmen lübnan'ı vurması2
- almanya6
- diamond bey birader elmas beydir4
- eksilemeyi hobi haline getirmek4
- seda sayan'ın olduğu eğitim platformu reklamı2
- winsley boteli3
https://streamable.com/27nuyh
yanına c++ ve sfml yi de ekleyerek,
hareketsiz objelere,
çarpışma mekanikleri,
kinematik ve dinamik denklemlerinin can verdiği basit bir fizik motoru bile tasarlayabilirsiniz!
yanına c++ ve sfml yi de ekleyerek,
hareketsiz objelere,
çarpışma mekanikleri,
kinematik ve dinamik denklemlerinin can verdiği basit bir fizik motoru bile tasarlayabilirsiniz!
(bkz: half life)
OpenGL (Open Graphics Library), 2D ve 3D vektör grafikleri oluşturmak için çapraz dil, platformlar arası bir uygulama programlama arayüzüdür (API). API tipik olarak bir grafik işlem birimi (GPU) ile etkileşimde bulunmak için kullanılır ve donanım hızlandırılmış render elde eder.
Silikon Grafik, Inc. (SGI) 1991'de OpenGL'i geliştirmeye başladı ve 30 Haziran 1992'de piyasaya sürdü. Bilgisayar destekli tasarım (CAD), video oyunları, bilimsel görselleştirme, sanal gerçeklik ve uçuş simülasyonu dahil olmak üzere çeşitli uygulamalar için kullanılır. 2006 yılından bu yana OpenGL, kar amacı gütmeyen teknoloji konsorsiyumu Khronos Group tarafından yönetilmektedir.
Tasarım
Grafik boru hattı işleminin bir illüstrasyonu
görsel
OpenGL spesifikasyonu, 2D ve 3D grafik çizimi için soyut bir uygulama programlama arayüzünü (API) açıklar. API'nin tamamen bir CPU'da çalışan yazılımlarda uygulanması mümkün olsa da, GPU gibi donanım hızlandırma işleminin çoğunlukla veya tamamen kullanılmasıyla uygulanacak şekilde tasarlanmıştır.
API, bir dizi isimsiz tamsayı sabitinin yanı sıra istemci programı tarafından adlandırılabilecek bir dizi işlev olarak tanımlanır (örneğin, 3553 ondalık numaraya karşılık gelen sabit GL_TEXTURE_2D). işlev tanımları, C programlama diline yüzeysel olarak benzer olsa da dilden bağımsızdır. Bu nedenle, OpenGL'nin birçok dil bağlama özelliğine sahiptir; en dikkat çekici olanlardan bazıları, bir web tarayıcısından 3D render için JavaScript bağlayıcı WebGL (API, OpenGL ES 2.0'a dayanan API); C bağlayıcıları WGL, GLX ve CGL'yi bağlar; iOS tarafından sağlanan C bağlayıcısı; ve Android tarafından sağlanan Java ve C bağlayıcıları.
Dilden bağımsız olmanın yanı sıra, OpenGL de çapraz platformdur. Spesifikasyon, bir OpenGL bağlamını elde etme ve yönetme konusunda hiçbir şey söylemez ve bunu altta yatan pencere sisteminin bir ayrıntısı olarak bırakır. Aynı nedenle, OpenGL tamamen render ile ilgilidir ve giriş, ses veya pencere ile ilgili hiçbir API'si sağlamaz.
Gelişme
OpenGL artık aktif gelişimde değilken, 2001 ve 2014 yılları arasında OpenGL spesifikasyonu çoğunlukla yıllık olarak güncellendi. 2009'da iki sürüm (3.1 ve 3.2) ve 2010'da üç (3.3, 4.0 ve 4.1) gerçekleşti. En son OpenGL spesifikasyonu 4.6, üç yıllık bir aradan sonra 2017'de piyasaya sürüldü ve çekirdek profile on bir mevcut ARB ve EXT uzantılarının dahil edilmesiyle sınırlıydı.
OpenGL'in aktif gelişimi, 2016 yılında piyasaya sürülen Vulkan API lehine düşürüldü ve ilk geliştirme sırasında kod adı glNext olarak anıldı. 2017'de Khronos Group, OpenGL ES'nin yeni versiyonlarına sahip olmayacağını açıkladı ve o zamandan beri Vulkan ve diğer teknolojilerin geliştirilmesine odaklandı. Sonuç olarak, modern GPU'lar tarafından sunulan belirli yetenekler, örneğin ışın izleme, OpenGL standardı tarafından desteklenmez. Bununla birlikte, satıcıya özel OpenGL uzantıları aracılığıyla daha yeni özellikler için destek sağlanabilir.
OpenGL özelliklerinin yeni sürümleri, her biri API'yi çeşitli yeni özellikleri desteklemek için genişleten Khronos Group tarafından yayınlanmaktadır. Her sürümün ayrıntıları, grafik kartı üreticileri, işletim sistemi tasarımcıları ve Mozilla ve Google gibi genel teknoloji şirketleri de dahil olmak üzere grubun üyeleri arasında fikir birliği ile kararlaştırılır.
Çekirdek API'nin gerektirdiği özelliklere ek olarak, grafik işleme birimi (GPU) satıcıları uzantılar şeklinde ek işlevsellik sağlayabilir. Uzantılar yeni işlevler ve yeni sabitler sunabilir ve mevcut OpenGL işlevlerine yönelik kısıtlamaları gevşetebilir veya kaldırabilir. Satıcılar, diğer satıcılardan veya bir bütün olarak Khronos Group'tan destek almadan özel API'leri açığa çıkarmak için uzantıları kullanabilir ve bu da OpenGL'nin esnekliğini büyük ölçüde artırır. Tüm uzantılar OpenGL Kayıt Defteri'nde toplanır ve tanımlanır.
Her uzantı, onu geliştiren şirketin ismine dayanan kısa bir tanımlayıcı ile ilişkilidir. Örneğin, Nvidia'nın tanımlayıcısı, uzatma adının bir parçası olan NV'dir. GL_NV_half_float, sabit olan GL_HALF_FLOAT_NV ve fonksiyon glVertex2hNV(). Birden fazla satıcı aynı API'yi kullanarak aynı işlevselliği uygulamayı kabul ederse, tanımlayıcı EXT kullanılarak paylaşılan bir uzantı yayınlanabilir. Bu gibi durumlarda, Khronos Group'un Mimarlık inceleme Kurulu'nun uzantısına açık onaylarını vermesi de olabilir, bu durumda tanımlayıcı ARB kullanılır.
OpenGL'nin her yeni sürümü tarafından tanıtılan özellikler, tipik olarak yaygın olarak uygulanan birkaç uzantının, özellikle ARB veya EXT tipi uzantılarının birleşik özelliklerinden oluşur.
Silikon Grafik, Inc. (SGI) 1991'de OpenGL'i geliştirmeye başladı ve 30 Haziran 1992'de piyasaya sürdü. Bilgisayar destekli tasarım (CAD), video oyunları, bilimsel görselleştirme, sanal gerçeklik ve uçuş simülasyonu dahil olmak üzere çeşitli uygulamalar için kullanılır. 2006 yılından bu yana OpenGL, kar amacı gütmeyen teknoloji konsorsiyumu Khronos Group tarafından yönetilmektedir.
Tasarım
Grafik boru hattı işleminin bir illüstrasyonu
görsel
OpenGL spesifikasyonu, 2D ve 3D grafik çizimi için soyut bir uygulama programlama arayüzünü (API) açıklar. API'nin tamamen bir CPU'da çalışan yazılımlarda uygulanması mümkün olsa da, GPU gibi donanım hızlandırma işleminin çoğunlukla veya tamamen kullanılmasıyla uygulanacak şekilde tasarlanmıştır.
API, bir dizi isimsiz tamsayı sabitinin yanı sıra istemci programı tarafından adlandırılabilecek bir dizi işlev olarak tanımlanır (örneğin, 3553 ondalık numaraya karşılık gelen sabit GL_TEXTURE_2D). işlev tanımları, C programlama diline yüzeysel olarak benzer olsa da dilden bağımsızdır. Bu nedenle, OpenGL'nin birçok dil bağlama özelliğine sahiptir; en dikkat çekici olanlardan bazıları, bir web tarayıcısından 3D render için JavaScript bağlayıcı WebGL (API, OpenGL ES 2.0'a dayanan API); C bağlayıcıları WGL, GLX ve CGL'yi bağlar; iOS tarafından sağlanan C bağlayıcısı; ve Android tarafından sağlanan Java ve C bağlayıcıları.
Dilden bağımsız olmanın yanı sıra, OpenGL de çapraz platformdur. Spesifikasyon, bir OpenGL bağlamını elde etme ve yönetme konusunda hiçbir şey söylemez ve bunu altta yatan pencere sisteminin bir ayrıntısı olarak bırakır. Aynı nedenle, OpenGL tamamen render ile ilgilidir ve giriş, ses veya pencere ile ilgili hiçbir API'si sağlamaz.
Gelişme
OpenGL artık aktif gelişimde değilken, 2001 ve 2014 yılları arasında OpenGL spesifikasyonu çoğunlukla yıllık olarak güncellendi. 2009'da iki sürüm (3.1 ve 3.2) ve 2010'da üç (3.3, 4.0 ve 4.1) gerçekleşti. En son OpenGL spesifikasyonu 4.6, üç yıllık bir aradan sonra 2017'de piyasaya sürüldü ve çekirdek profile on bir mevcut ARB ve EXT uzantılarının dahil edilmesiyle sınırlıydı.
OpenGL'in aktif gelişimi, 2016 yılında piyasaya sürülen Vulkan API lehine düşürüldü ve ilk geliştirme sırasında kod adı glNext olarak anıldı. 2017'de Khronos Group, OpenGL ES'nin yeni versiyonlarına sahip olmayacağını açıkladı ve o zamandan beri Vulkan ve diğer teknolojilerin geliştirilmesine odaklandı. Sonuç olarak, modern GPU'lar tarafından sunulan belirli yetenekler, örneğin ışın izleme, OpenGL standardı tarafından desteklenmez. Bununla birlikte, satıcıya özel OpenGL uzantıları aracılığıyla daha yeni özellikler için destek sağlanabilir.
OpenGL özelliklerinin yeni sürümleri, her biri API'yi çeşitli yeni özellikleri desteklemek için genişleten Khronos Group tarafından yayınlanmaktadır. Her sürümün ayrıntıları, grafik kartı üreticileri, işletim sistemi tasarımcıları ve Mozilla ve Google gibi genel teknoloji şirketleri de dahil olmak üzere grubun üyeleri arasında fikir birliği ile kararlaştırılır.
Çekirdek API'nin gerektirdiği özelliklere ek olarak, grafik işleme birimi (GPU) satıcıları uzantılar şeklinde ek işlevsellik sağlayabilir. Uzantılar yeni işlevler ve yeni sabitler sunabilir ve mevcut OpenGL işlevlerine yönelik kısıtlamaları gevşetebilir veya kaldırabilir. Satıcılar, diğer satıcılardan veya bir bütün olarak Khronos Group'tan destek almadan özel API'leri açığa çıkarmak için uzantıları kullanabilir ve bu da OpenGL'nin esnekliğini büyük ölçüde artırır. Tüm uzantılar OpenGL Kayıt Defteri'nde toplanır ve tanımlanır.
Her uzantı, onu geliştiren şirketin ismine dayanan kısa bir tanımlayıcı ile ilişkilidir. Örneğin, Nvidia'nın tanımlayıcısı, uzatma adının bir parçası olan NV'dir. GL_NV_half_float, sabit olan GL_HALF_FLOAT_NV ve fonksiyon glVertex2hNV(). Birden fazla satıcı aynı API'yi kullanarak aynı işlevselliği uygulamayı kabul ederse, tanımlayıcı EXT kullanılarak paylaşılan bir uzantı yayınlanabilir. Bu gibi durumlarda, Khronos Group'un Mimarlık inceleme Kurulu'nun uzantısına açık onaylarını vermesi de olabilir, bu durumda tanımlayıcı ARB kullanılır.
OpenGL'nin her yeni sürümü tarafından tanıtılan özellikler, tipik olarak yaygın olarak uygulanan birkaç uzantının, özellikle ARB veya EXT tipi uzantılarının birleşik özelliklerinden oluşur.
3dfx kartınız yoksa bir nimetini göremezdiniz...
oyun programlama ile ilgilenenler için bol miktarda opengl hakkında pdf formatında kitap bulabileceğiniz site:
http://www.it-ebooks.org/tag/opengl
http://www.it-ebooks.org/tag/opengl
osx, linux, bsd, play station, wii dahil olmak üzere non-microsoft sistemlerin hepsi opengl kullanır.
thread desteği olmayan kütüphane.
yani kendi içinde multi-thread bir çalışma biçimi olabilir, ondan pek emin değilim. ama siz bir opengl handler'i oluşturduğunuzda buna diğer threadlerden erişemiyorsunuz, sadece oluşturduğunuz threadden erişebiliyorsunuz.
bunun sebebi de farklı threadlerin aynı anda ekran kartının aynı bölümüne erişmesinin, grafik işlemlerinin stabilitesini düşüreceğinin düşünülmesiymiş.
not: bu dediğim opengl 2.1 için. daha sonraki sürümlerde bu durumun değişip değişmediğine dair hiç bir fikrim yok.
yani kendi içinde multi-thread bir çalışma biçimi olabilir, ondan pek emin değilim. ama siz bir opengl handler'i oluşturduğunuzda buna diğer threadlerden erişemiyorsunuz, sadece oluşturduğunuz threadden erişebiliyorsunuz.
bunun sebebi de farklı threadlerin aynı anda ekran kartının aynı bölümüne erişmesinin, grafik işlemlerinin stabilitesini düşüreceğinin düşünülmesiymiş.
not: bu dediğim opengl 2.1 için. daha sonraki sürümlerde bu durumun değişip değişmediğine dair hiç bir fikrim yok.
directx'in aksine, sadece grafik kütüphanesidir.
bu yüzden directx ile kıyaslamak aslında çok doğru değildir. çünkü directx; ses ve girdi-çıktı işlemlerini de destekler.
ama grafik konusunda directx ile kapışır.
tek eksiği; piyasada destekçisinin pek bulunmayışıdır.
bu yüzden directx ile kıyaslamak aslında çok doğru değildir. çünkü directx; ses ve girdi-çıktı işlemlerini de destekler.
ama grafik konusunda directx ile kapışır.
tek eksiği; piyasada destekçisinin pek bulunmayışıdır.
azıcık desteklense directx'i piyasadan silecek olan grafik kütüphanesi.
Bakıyorum, opengl kullanan hiç bir firma yok neredeyse; ona rağmen opengl bu seviyede. bir iki firma opengl ile oyun çıkartsa neler neler olur düşünemiyorum bile.
Bakıyorum, opengl kullanan hiç bir firma yok neredeyse; ona rağmen opengl bu seviyede. bir iki firma opengl ile oyun çıkartsa neler neler olur düşünemiyorum bile.
sik gibi bir şeydir.
yani diret3d için sik gibi, hani onu zorlayan anlamında yani.
yani diret3d için sik gibi, hani onu zorlayan anlamında yani.
2.1 sürümü ile directx 10 u hallaç pamuğu gibi atan canavar ötesi api.
http://img76.imageshack.u.../opengl21directx10cx7.jpg
http://img76.imageshack.u.../opengl21directx10cx7.jpg
format atılmış bir pc de medal of honor oynamaya çalışırken hata yapan şey. meğer ekran kartı driveri yüklenmeliymiş.
nehe.gamedev.net adresinden bir sürü tutorial bulabileceğiniz grafik programlama olayı. ayrıca derslerin sonunda değişik dillere* cevrilmiş kodları bulabilirsiniz.
Gündemdeki Haberler
Güncel Önemli Başlıklar