- Bilgisayar grafiklerini temelden ileri konulara kadar ücretsiz öğrenebileceğiniz çevrimiçi bir eğitim platformu
- 3D rendering, matematiksel temeller, dijital görüntüleme, prosedürel üretim, tooling gibi çeşitli konuları sistemli biçimde ele alır
- Uygulama odaklı ders yapısıyla, teoriden önce doğrudan sonuçları deneyimleyecek şekilde tasarlanmıştır
- Vulkan API öğrenim süreci (yeni), 3D programlama blogu (yakında), kitap (yakında yayımlanacak) gibi başlıklarla gelişmeye devam ediyor
- Geliştiricilerin ve tasarımcıların bilgisayar grafiklerinin ilkelerini ve uygulama tekniklerini derinlemesine anlamasına yardımcı olan ücretsiz bir öğrenme kaynağı
- Scratchapixel, “Learn computer graphics from scratch and for free” sloganıyla, bilgisayar grafiklerinin tamamını ücretsiz öğrenebileceğiniz bir web sitesidir
Şu anda kayıtlı dersler
-
3D Rendering'in Temelleri (The Foundations of 3D Rendering)
- Yeni başlayanlara uygun sırayla yapılandırılmış bir rendering giriş dersi
- Teoriden çok doğrudan çıktı üretimini önceleyen bir yaklaşım benimser
- Başlıca ders konuları şunlardır
- Ray tracing'e giriş, 3D sahne rendering'i, Rasterization, projeksiyon matrisleri, shading ve aydınlatma, texturing, hızlandırma yapıları, hacim rendering'i vb.
- Her ders, gerçek uygulama örnekleriyle birlikte piksel koordinatı hesaplama, pinhole kamera modeli, BRDF ve shader kavramları gibi konuları ele alır
-
Bilgisayar Grafikleri için Matematik (Mathematics for Computer Graphics)
- Grafik uygulamaları için gerekli matematiksel teori ve araçları açıklar
- Bu bölüm giriş seviyesi için değil, diğer derslerde geçen kavramlara başvurmak üzere hazırlanmış bir referans kaynağıdır
- Başlıca konular arasında geometri, matris ters alma (Gauss-Jordan yöntemi), interpolasyon, LookAt fonksiyonu, shading matematiği, Monte Carlo yöntemleri, Fourier dönüşümü vb. yer alır
-
Computer Graphics Gems
- Belirli bir kategoriye girmeyen ama ilgi çekici bağımsız grafik konuları derlemesi
- Şu anda yalnızca blackbody radyasyonu dersi bulunuyor
-
Geometry
- Bilgisayar grafiklerinde biçimin nasıl tanımlandığını ele alır
- Bézier eğrileri ve yüzeyleri ile biçim ifade etme yöntemlerini açıklar
-
Digital Imaging
- Görüntü dosyası işleme ve renk yönetimini ele alır
- Başlıca konular arasında ışık ve renk uzayları, dijital görüntülerin dosyadan ekrana dönüşümü, temel görüntü işlemleri yer alır
-
Procedural Generation of Virtual Worlds
- Doğal olayların prosedürel simülasyonunu ele alır
- Value Noise, Perlin Noise, gökyüzü rengi simülasyonu gibi konuları içerir
-
Tooling
- 3D araç geliştirme ve etkileşim tekniklerini ele alır
- Pencere yönetimi (Windowing), OBJ dosya formatı, kamera gezinme kontrolü gibi içerikleri kapsar
Son haberler
- Yakında açılacak blog, yalnızca 3D programlamayı değil yapay zeka ve eğitim gibi ilgili konuları da ele alacak
- Vulkan API hakkında yeni bir ders eklenecek
- "Learn Computer Graphics Programming from Scratch" başlıklı bir kitap da yakında yayımlanacak
1 yorum
Hacker News yorumları
Bu web sitesi gerçekten çok gelişmiş. Noel Baba'nın bağış bırakması gerekecek kadar harika.
Bilgisayar grafikleri alanında daha fazla açık eğitim kaynağına ihtiyaç olduğunu düşünüyorum. Eski teknikler eski kitapların içinde gömülü, yeni teknikler ise şirket duvarlarının arkasında saklı. Sergei Savchenko'nun 3D Graphics Programming Games and Beyond kitabı buna iyi bir örnek.
Günümüz grafik API'leri gereksiz yere karmaşık; bu yüzden GPU'yu bir kenara bırakıp doğrudan bir yazılım rasterizer'ı ya da ray tracer gerçekleştirmek daha iyi bir başlangıç olabilir.
Yine de bu sitede Discord dışında iletişim yolu olmaması üzücü. Bağış sayfasına da ana sayfadan doğrudan ulaşılabilse iyi olurdu
Bu gerçekten hazine gibi bir kaynak.
Kullanıcı adım, eskiden yaptığım Reactor 3D engine'den geliyor. Quake 3 lise yıllarımda hayatımı değiştirmişti. Doom beni bilgisayarla tanıştırdıysa, Quake 3 de 3D'ye bağladı.
Matematiği pek bilmiyordum ama kod kopyalayarak öğrendim; şimdi de web ile grafiğin kesiştiği bir kariyerim var. WebGL ve WebGPU'nun yaygınlaşması sayesinde iş yerinde doktoralı insanlara vertex packing ve GPU'ya struct aktarma yöntemlerini bile öğrettim.
XNA Silverlight geliştiricisiyle de çalıştım, yani MonoGame'in uzak bir akrabası sayılırım. Artık Vulkan/DX12/Metal gibi yeni yaklaşımlar baskın durumda
Bu site gerçekten harika. Mutlaka göz atacağım.
Yüksek lisans dönemimde ray tracer'ı kendim yazmıştım; o sırada başvurduğum kitap Andrew S. Glassner'ın An Introduction to Ray Tracing kitabıydı. Şimdi ücretsiz indirilebiliyor — bağlantı
Eskiden hazırladığım bir ücretsiz grafik programlama kaynakları derlemesi var. Artık çok güncellemiyorum ama faydalı olabilir — gist bağlantısı
Kariyerimin büyük bölümünde grafikler benim için bir kör nokta oldu. Veri ve dağıtık sistemlere yöneldim ama aslında programlamaya ilk başta oyun yapmak istediğim için başlamıştım.
Eskiden OpenGL ile gezegen yörüngesi simülasyonu yapmışlığım, Flash ile tuhaf bir shoot'em up geliştirmişliğim de var. Ama Vulkan öğrenmeye kalkınca kod miktarı gözümü korkutuyor ve vazgeçiyorum. Sanırım temel kavramları iyi bilmediğim için. Bir gün zamanım olursa ciddi biçimde yeniden öğrenmek istiyorum
Örnek kaynak olarak Tiny Renderer ve Ray Tracing in One Weekend tavsiye ederim.
Bu süreçten geçince GPU'nun neden o şekilde tasarlandığını çok daha derinden anlarsınız. Sonrasında OpenGL 4.6 veya D3D11'e, ayrıca ShaderToy ve ShaderAcademy gibi sitelere genişlemenizi öneririm.
CPU tabanlı render'ın hâlâ önemli olmasının nedeni, film render'larının hassasiyet için CPU kullanmasıdır. Bu arada WARP ve LLVMpipe gerçek prodüksiyonda da kullanılan yazılım rasterizer'larıdır
Bu web sitesindeki içerikleri gerçekten keyifle takip ediyorum. Geçen yıl AI thumbnail ile ilgili geri bildirimi dikkate almış olmalarına da teşekkürler — HN geri bildirim bağlantısı
Bu yılki hedeflerimden biri temelden bir yazılım 3D renderer'ı kendim yapmak. Oyun motoru da yok, GPU da yok; tamamen saf bir uygulama olacak
Artık LLM'e web sitesi bağlantısı ya da PDF verip bunu etkileşimli öğrenme materyaline dönüştürebiliyorsunuz. Ben de bugün 1000 sayfalık bir PDF'yi bu şekilde dönüştürüp oyun motoru çalışırken kullandım. Sadece yer imi olarak bırakmamış olmak güzel
Umarım bir gün NVIDIA'nın grafik API tekeli, Google'ın web üzerindeki hâkimiyeti ve AMD'nin zayıf alternatifleri sona erer