The Book of Shaders by Patricio Gonzalez Vivo & Jen Lowe

Українська - Bahasa Indonesia - Tiếng Việt - 日本語 - 中文版 - 한국어 - Español - Portugues - Français - Italiano - Deutsch - Русский - Polski - Türkçe - English


Giriş

Yukarıdaki görüntüler farklı şekillerde oluşturuldu. İlki, Van Gogh'un eliyle katman katman boya uygulayarak yapıldı. Saatlerini aldı. İkincisi ise saniyeler içinde, piksellerden oluşan dört matrisin kombinasyonuyla üretildi: biri camgöbeği (cyan), biri macenta (magenta), biri sarı (yellow) ve biri siyah (black) için. Temel fark, ikinci görüntünün seri olmayan bir şekilde (yani adım adım değil, hepsi aynı anda) üretilmesidir.

Bu kitap, dijital olarak üretilen görüntüleri bir sonraki seviyeye taşıyan devrim niteliğindeki hesaplama tekniği olan fragment shader'lar hakkındadır. Bunu grafikler için Gutenberg'in matbaasının eşdeğeri olarak düşünebilirsiniz.

Gutenberg'in matbaası

Fragment shader'lar, ekranda işlenen pikseller üzerinde süper hızlı bir şekilde tam kontrol sağlar. Bu nedenle, cep telefonlarındaki video filtrelerinden inanılmaz 3D video oyunlarına kadar her türlü durumda kullanılırlar.

That Game Company'den Journey

İlerleyen bölümlerde bu tekniğin ne kadar inanılmaz derecede hızlı ve güçlü olduğunu ve bunu profesyonel ve kişisel çalışmalarınıza nasıl uygulayacağınızı keşfedeceksiniz.

Bu kitap kimin için?

Bu kitap, kodlama deneyimi olan, temel lineer cebir ve trigonometri bilgisine sahip ve çalışmalarını heyecan verici yeni bir grafik kalitesi seviyesine taşımak isteyen yaratıcı kodlayıcılar, oyun geliştiricileri ve mühendisler için yazılmıştır. (Eğer kodlamayı öğrenmek istiyorsanız, Processing ile başlamanızı ve kendinizi rahat hissettiğinizde daha sonra buraya geri dönmenizi şiddetle tavsiye ederim.)

Bu kitap size shader'ları projelerinize nasıl kullanacağınızı ve entegre edeceğinizi, performanslarını ve grafik kalitelerini nasıl artıracağınızı öğretecektir. GLSL (OpenGL Gölgelendirme Dili) shader'ları çeşitli platformlarda derlenip çalıştığından, burada öğrendiklerinizi OpenGL, OpenGL ES veya WebGL kullanan herhangi bir ortama uygulayabileceksiniz. Başka bir deyişle, bilginizi Processing eskizleri, openFrameworks uygulamaları, Cinder interaktif kurulumları, Three.js web siteleri veya iOS/Android oyunları ile uygulayabilir ve kullanabilirsiniz.

Bu kitap neyi kapsıyor?

Bu kitap GLSL piksel shader'larının kullanımına odaklanacaktır. Önce shader'ların ne olduğunu tanımlayacağız; sonra onlarla prosedürel şekiller, desenler, dokular ve animasyonlar yapmayı öğreneceğiz. Gölgelendirme dilinin temellerini öğrenecek ve bunu daha yararlı senaryolara uygulayacaksınız: görüntü işleme (görüntü operasyonları, matris konvolüsyonları, bulanıklaştırma, renk filtreleri, arama tabloları ve diğer efektler) ve simülasyonlar (Conway'in hayat oyunu, Gray-Scott'ın reaksiyon-difüzyonu, su dalgalanmaları, suluboya efektleri, Voronoi hücreleri, vb.). Kitabın sonuna doğru Ray Marching'e dayalı bir dizi ileri teknik göreceğiz.

Her bölümde oynamanız için interaktif örnekler bulunmaktadır. Kodu değiştirdiğinizde, değişiklikleri hemen göreceksiniz. Kavramlar soyut ve kafa karıştırıcı olabilir, bu nedenle interaktif örnekler materyali öğrenmenize yardımcı olmak için çok önemlidir. Kavramları ne kadar hızlı harekete geçirirseniz öğrenme süreci o kadar kolay olacaktır.

Bu kitabın kapsamadığı konular:

Başlamak için neye ihtiyacınız var?

Fazla bir şeye değil! WebGL yapabilen modern bir tarayıcınız (Chrome, Firefox veya Safari gibi) ve bir internet bağlantınız varsa, başlamak için bu sayfanın sonundaki “Sonraki” Bölüm düğmesine tıklayın.

Alternatif olarak, sahip olduklarınıza veya bu kitaptan neye ihtiyacınız olduğuna bağlı olarak şunları yapabilirsiniz: