40 puan yazan GN⁺ 2025-12-29 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2025-12-29
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

    • Eskiden bir öğrencinin 3D oyun yapmak istediğini söylediğinde hocanın afalladığını hatırlıyorum. Ben de ona “kütüphaneden Foley & Van Dam kitabını ödünç al” demiştim. Şimdi çeşitli baskıları var — Computer Graphics (Goodreads)
  • 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

    • WebGL ya da daha iyi bir seçenek olarak WebGPU tavsiye ederim. Öğrenmesi çok daha kolay ve öğrendiğin kavramlar diğer API'lere de aktarılıyor — WebGPU Fundamentals, WebGL2 Fundamentals
    • Ben de benzer hissediyorum. Zbrush ve Maya'dan ilham alıp shader'larla sanat üretmeye çalışmıştım ama bu dev yazılımları kısmen bile kopyalamak için her gün bu alana gömülmek gerekiyor gibi. Zbrush'ın performansı gerçekten hayranlık uyandırıcı
    • Vulkan yeni başlayanlara göre değil. Temelleri bilseniz bile aşırı ayrıntılı. Modern OpenGL fazlasıyla yeterli; Vulkan'ı gerçekten kullanmanız gerekiyorsa SDL3 gibi daha üst düzey bir kütüphane kullanmak daha iyi
    • Bence modern grafikler fazla karmaşık. GPU programlama ile bilgisayar grafiklerini karıştırmamak lazım. Yeni başlayan biri için Vulkan'dan ziyade CPU tabanlı bir rasterizer ya da ray tracer yazmak çok daha iyi olur.
      Ö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
    • Vulkan aslında bir grafik API'si değil, düşük seviyeli bir GPU API'sidir. Grafik, GPU'nun yapabildiği şeylerden sadece biri. Bunu anlayınca Vulkan'ın neden öyle tasarlandığı daha anlamlı geliyor
  • 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ı

    • Yine de ana sayfada hâlâ yazım hatalarıyla dolu görseller kalmış olması üzücü. Eğitim amaçlı bir site için iyi görünmüyor
  • 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

    • Harika bir yaklaşım. Ben de uzun zamandır böyle öğretiyorum. Çoğu insan 3D grafiklerin doğrudan rasterization olduğunu sanıyor ama ben aslında ray tracing ile başlamış olmamı şans sayıyorum
    • Farklı bir bakış açısından görmek istersen Computer Graphics from Scratch da önerilir. Ücretsizdir ve adı benzer olduğu için karışabilir
    • Bir diğer iyi kaynak da Tiny Renderer
    • “build-your-own-x” proje derlemesinde de ilgili rehberler var — GitHub bağlantısı
    • 3D grafikleri tek bir formülle açıklayan bir video da var — YouTube: One Formula That Demystifies 3D Graphics
  • 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

    • Ama 1000 sayfalık PDF'yi işleyecek kadar geniş context window'a sahip bir LLM var mı, merak ediyorum
  • 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