Ana içeriğe geç
Ahmet Faruk UzunkayaYaratıcı geliştirici

Yazılar ve notlar

Proje yaparken kurcaladığım ayrıntıları yazıya döküyorum: render motorlarından tarayıcıdaki işletim sistemlerine, mimari kararlardan ölçümlere kadar.

Tüm yazılar / 13

Grafik, yazılım ve tasarım üzerine çalışma notları.

Baştan sona oku

Seriler ve rehberler

Tarayıcıda işletim sistemleri · 2

7 Ekim 2026 · 8 dk okuma

Tarayıcıda sekiz işletim sistemi yazdım, her birinde başka bir state modeli çıktı

Pencere yöneticisini, dosya sistemini ve uygulama kaydını beş masaüstünde sıfırdan kurdum ve her seferinde işe başka bir yerden girdim. "Kaydetmeden kapatılsın mı?" sorusunu da üç ayrı şekilde çözdüm. Ubuntu'nun kabuğu yan etkilerini geri veriyor, WebDroid intent'leri WebSocket üzerinden taşıyor, iPhone'un ekranı da bir 3D modelin üstüne oturtulmuş canlı DOM.

  • React
  • Mimari
Derinlemesine

8 Ekim 2026 · 6 dk okuma

İstanbul Park'ı bir SVG çiziminden tarayıcıda sürülebilir bir piste çevirmek

Sitenin ana sayfasındaki 3D pist, Wikimedia'daki Istanbul_park.svg'den çıkarılmış 329 noktalık bir çizgiden üretiliyor. Bu çizginin sürülebilir bir yola nasıl dönüştüğünü, yolun ilk başta neden görünmediğini, ağaçların karedeki üçgenlerin neredeyse tamamını neden yediğini ve farın bütün ekranı neden kararttığını anlatıyorum.
  • Three.js
  • React Three Fiber
Derinlemesine

8 Ekim 2026 · 6 dk okuma

AFU · Console'da kumanda, klavye, fare ve dokunmatik için tek girdi modeli

Konsol arayüzündeki ekranlar hangi aygıtın kullanıldığını bilmiyor; onlara yalnızca "yukarı", "onayla", "geri" gibi eylemler ulaşıyor. Dört girdiyi bu eylemlere nasıl çevirdiğimi, kumandada basılı tutunca tekrarın nasıl zamanlandığını, odak ızgarasını, sesleri osilatörle nasıl ürettiğimi ve bütün arayüzü tek bir CSS birimiyle nasıl ölçeklediğimi kodla anlatıyorum.

  • Gamepad API
  • Web Audio
  • React
Derinlemesine

7 Ekim 2026 · 7 dk okuma

Glance'te bir sonraki fotoğrafı sen ok tuşuna basmadan hazırlamak

Glance'te "anında açılıyor" derken ölçülebilir bir şeyi kastediyorum: ok tuşuna bastığında görsel zaten çözülmüş ve GPU'da duruyor. Bunun için WIC'e doğrudan COM üzerinden gittim, ön yüklemeyi gezinme yönüne göre sıraladım ve önbelleği bayt bütçesiyle sınırladım. RAW önizleme tarayıcısı, dllhost'ta çalışan Gezgin küçük resimleri ve geri alınabilir silme de yazıda var.

  • C#
  • WinUI 3
Tarayıcıda işletim sistemleri · 1

30 Eylül 2026 · 7 dk okuma

Tarayıcıdaki Windows 11'imde açılışı bilerek yavaş tuttum

react-os-win'de açılışı bilerek yavaşlattım ve bütün süreleri tek bir dosyada topladım. Pencereleri 14 action'lık saf bir reducer yönetiyor, 19 uygulamanın her biri de kendi hata sınırına sarılmış lazy bir bileşen. z-index sayacını, snap düzenlerini, localStorage'a neyin yazıldığını ve testlerin neyi kapsadığını koda bakarak anlatıyorum.

  • React
  • TypeScript
Photon Engine · 1

30 Eylül 2026 · 8 dk okuma

PhotonEngine'de görüntü karıncalı kalmasın diye yaptıklarım

C++20 ile yazdığım CPU path tracer'da ışığı doğrudan örnekliyorum, iki örnekleme stratejisini güç sezgiseliyle birleştiriyorum, Rus ruletinde en büyük renk bileşenine bakıyorum ve rastgele sayıları Owen-karıştırmalı Sobol'den alıyorum. Kesişimi Embree 4'e bırakmanın ölçtüğüm etkisi ve yol boyunca düzelttiğim cam ve clearcoat hataları da yazıda var.

  • C++20
  • Path Tracing