OpenGL programming guide kitabını çevireceğim

Başlatan __CODER_4EVER_, 02 Temmuz 2016 - 22:06:05

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

__CODER_4EVER_

Evet, bu kitap 986 sayfadan oluşuyor, haftada bir bölümü çevirip (biraz aksatabilirim) burada .Text formatında sıkıştırılmış olarak yayınlayacağım. Kitabı çevirme nedenim bu konuyu daha iyi öğrenmek istemem.

7hr33l3t73r

Guzel bir kaynak olacagi dusuncesindeyim. Kolay gelsin.
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Amenofis

Benim de öğrenmem şart ama nasıl yapacağız bilmiyorum.

__CODER_4EVER_

#3
Gerçekten modern OpenGL çok farklı. İnternet üzerindeki diğer türkçe veya ingilizce kaynaklar eski ve kullanılması sakıncalı, çoğunluk olarak CPU üstünde çalışan örnekler veriyor. Örneğin kitaptan çevirdiğim bir kısım:

Şimdi, geometrik primitives, yâni geometrik ilkeller vardır (Nokta, çizgi veya çokgenler). Bunlar vektörlerden oluşur, bu veriler ise Shader ile işlenir (sadece bunlar değil, renk veya doku -Texture- da işlenir), bu Shader ile üretilen matematiksel bilgiler kullanılarak Fragments üretilir ki bunlar objenin ekran üzerindeki konumunu içerir, Bildiğiniz gibi vektörler sadece güç ve yönden ibarettir, konum ile herhangi bir ilgileri yoktur. Bir vektör herhangi bir yerde olabilir, Fragment bu yüzden gereklidir. Bu işleme Rasterization denir.

Ondan sonra bu bilgiler Fragment shader çalıştırılarak son bir defa işlenilir, ve ardından opsiyonel olarak yapılacak bir işlem daha vardır fakat bunu kafanızı karıştırmamak için anlatmayacağım. Bilgiler Framebuffer'a (görüntüyü saklayan bellek) aktarılır ve tamamdır.

Amenofis

Aslında bu saatten sonra Vulkan'a yoğunlaşmak lazım, müthiş bir teknoloji. Gpu üzerinde yapılacak bütün işlemler için tek aradil sunuyor (spir-v). Ayrıca llvm-ir'den spir-v'ye direkt dönüşüm yapan araçlarla geliyor. Bunun anlamı gpu üzerinde c/c++ kodu çalıştırabileceğiz. Shaderlar da glsl yerine C ile yazılacak, ya da spir-v ye çıktı alabilen herhangi bir dille.

__CODER_4EVER_

#5
Alıntı yapılan: Amenofis - 05 Temmuz 2016 - 22:56:01
Aslında bu saatten sonra Vulkan'a yoğunlaşmak lazım, müthiş bir teknoloji. Gpu üzerinde yapılacak bütün işlemler için tek aradil sunuyor (spir-v). Ayrıca llvm-ir'den spir-v'ye direkt dönüşüm yapan araçlarla geliyor. Bunun anlamı gpu üzerinde c/c++ kodu çalıştırabileceğiz. Shaderlar da glsl yerine C ile yazılacak, ya da spir-v ye çıktı alabilen herhangi bir dille.

Vulkan henüz yeteri kadar yaygın değil, her ne kadar hızlı ve güzel bir arayüz sunuyor olsa da yeteri kadar yaygın değil, kendisi için yeteri kadar dökümantasyon yok ve sürücüsünü kurmak ise dağıtım ile birlikte gelmediği için ayrı bir çile. Khronos group, OpenGL grafik sistemini destekleyeceğini ve geliştirmeye devam edeceğini duyurmuştu, NVidia ise Vulkan grafik sistemine tam destek vereceğini söylüyor, ilerleyen zamanda Vulkan grafik sisteminin yaygınlaşacağını ve taşınabilirliği ve saire özellikleriye DirectX grafik sisteminin önüne geçeceğini düşünüyorum, ama bunun iki veya üç yıldan önce gerçekleşeceğini düşünmüyorum. Bu süre zarfında OpenGL grafik sistemini kullanmaya devam :D

Ayrıca bâzı yanlışların var, OpenGl ile GLSL kullanmadan GPU için kod yazman mümkün (Edit: az önce öğrendim ki değilmiş). OpenGL bunun için gerekli araçları sana sunuyor (glCompileShader olmasın o?), hatta OpenGL grafik sistemini (GLSL daha doğru olur) GPGPU için kullanan insan evlatları var. Ama yine de OpenGL kullanırken dikkatli olmak gerekli çünkü bâzı fonksiyonlar, kaldırılması gereken, tahminen 10 yıl önce yazılmış ve çoğunluk olarak CPU üzerinde çalışan fonksiyonlar var. Örneğin glBegin fonksiyonu bu deprecated fonksiyonlardan biri. Kullanılmaması gerekli.

__CODER_4EVER_

Şu aralar WebGL ile uğraşıyorum. Birkaç istisna dışında normal OpenGL grafik sisteminin aynısı sayılır. JS ile basit bir API geliştirmeye çalışıyorum.  Kitabın daha sadece 1 kaç sayfasını çevirdim. Öğrenmeye çalışıyorum.