Temel 3D Bilgisayar Grafikleri
Başlangıç seviyesinde 3D bilgisayar grafiklerini anlatan bir yazı.

- Blog Yazısı
3d Bilgisayar Grafikleri
Kısa Tarih
Eskiden bilgisayar grafikleri yazılımla ve işlemciyle sağlanıyordu. Günümüzde ise bu işlemleri çoğunlukla ekran kartları ile yapıyoruz.
popüler ekran kartı apileri
Ekran kartları ile iletişimi OpenGl, DirectX, Vulcan gibi yazılım arayüzleriyle sağlıyoruz. DirectX, windows ve Xbox için microsoft tarafından geliştirilen bir kütüphanedir. Vulcan ise Open gl nin yeni ve gelişmiş Versiyonudur. Opengl 2 sürümü de genellikle internet tarayıcılarında kullanılmaktadır. Vulcan yaklaşık olarak DirectX performansına denk performans göstermekte ve çapraz platform çalışmaktadır.
Texture Çeşitleri
Texture çeşitlerini göstermeden önce size principled shaderdan bahsetmek istiyorum. principled shader doğadaki tüm yüzeyleri simüle etmek için disney mühendisteri tarafından geliştirilen bir standarttır. Günümüzde bazı oyun motorları performans için bu standartı karşılamasada genel olarak bu standarta benzemektedir. Shader da ışığın nesneyle nasıl etkileşime gireceğini belirleyen koddur ve genellikle ekran kartı için yazılırlar, shader'lar işlendikten sonra ekranın tekrar editlendiği işleme de post processing denmektedir.

base color (Diffuse veya Albedo da denmektedir.)
Objenin rengini belirler.
subsurface
Objenin içinden geçen sızan ışığı belirler. el fenerini elimizle kapatınca elimizin kırmızı görünmesi gibi.(cilt gölgelendiricilerinde kullanılır)
metallic (metalness de denmektedir)
Objenin metal olup olmadığını belirler. metallerin en belirgin farkı ışığı hiç emmemeleri ve geri yansıtırken kendi renklerinde yansıtmalarıdır.
specular
Objenin ne kadar yansıtıcı oldduğunu belirler bazı programlarda sadece specular kullanılırken bazılarında specular yerine metallic kullanılmaktadır.
specularTint
Maddeden gelen yansımaya madde renginden karıştırılacağını belirler.
roughness
Maddenin yüzeyinin ne kadar pürüzlü olacağını belirler. Glossy map bunun tam tersidir.
anisotropic
Maddeye tornada işenmiş havası verir.
sheen
Bakış açısına göre değişen yansıma katsayısını ayarlar.
Evrim Ağacı'nın çalışmalarına Kreosus, Patreon veya YouTube üzerinden maddi destekte bulunarak hem Türkiye'de bilim anlatıcılığının gelişmesine katkı sağlayabilirsiniz, hem de site ve uygulamamızı reklamsız olarak deneyimleyebilirsiniz. Reklamsız deneyim, sitemizin/uygulamamızın çeşitli kısımlarda gösterilen Google reklamlarını ve destek çağrılarını görmediğiniz, %100 reklamsız ve çok daha temiz bir site deneyimi sunmaktadır.
KreosusKreosus'ta her 50₺'lik destek, 1 aylık reklamsız deneyime karşılık geliyor. Bu sayede, tek seferlik destekçilerimiz de, aylık destekçilerimiz de toplam destekleriyle doğru orantılı bir süre boyunca reklamsız deneyim elde edebiliyorlar.
Kreosus destekçilerimizin reklamsız deneyimi, destek olmaya başladıkları anda devreye girmektedir ve ek bir işleme gerek yoktur.
PatreonPatreon destekçilerimiz, destek miktarından bağımsız olarak, Evrim Ağacı'na destek oldukları süre boyunca reklamsız deneyime erişmeyi sürdürebiliyorlar.
Patreon destekçilerimizin Patreon ile ilişkili e-posta hesapları, Evrim Ağacı'ndaki üyelik e-postaları ile birebir aynı olmalıdır. Patreon destekçilerimizin reklamsız deneyiminin devreye girmesi 24 saat alabilmektedir.
YouTubeYouTube destekçilerimizin hepsi otomatik olarak reklamsız deneyime şimdilik erişemiyorlar ve şu anda, YouTube üzerinden her destek seviyesine reklamsız deneyim ayrıcalığını sunamamaktayız. YouTube Destek Sistemi üzerinde sunulan farklı seviyelerin açıklamalarını okuyarak, hangi ayrıcalıklara erişebileceğinizi öğrenebilirsiniz.
Eğer seçtiğiniz seviye reklamsız deneyim ayrıcalığı sunuyorsa, destek olduktan sonra YouTube tarafından gösterilecek olan bağlantıdaki formu doldurarak reklamsız deneyime erişebilirsiniz. YouTube destekçilerimizin reklamsız deneyiminin devreye girmesi, formu doldurduktan sonra 24-72 saat alabilmektedir.
Diğer PlatformlarBu 3 platform haricinde destek olan destekçilerimize ne yazık ki reklamsız deneyim ayrıcalığını sunamamaktayız. Destekleriniz sayesinde sistemlerimizi geliştirmeyi sürdürüyoruz ve umuyoruz bu ayrıcalıkları zamanla genişletebileceğiz.
Giriş yapmayı unutmayın!Reklamsız deneyim için, maddi desteğiniz ile ilişkilendirilmiş olan Evrim Ağacı hesabınıza üye girişi yapmanız gerekmektedir. Giriş yapmadığınız takdirde reklamları görmeye devam edeceksinizdir.
clearcoat
Maddenin üzerine cila sörülmüş havası verir.
IOR
Işığın ne kadar fazla kırılacağını belirler. (büyütecin ışığı kırarak görüntüyü büyütmesi gibi.)
transmission
Maddenin içinden ışık geçip geçmeyeceğini belirler. (Cam veya jelibon gibi maddeleri yaparken kullanılır.)
emission
Maddenin ışık kaynağından bağımsız ışık yaymasını sağlar.
alpha
Objenin görüntüden tamamen silinmesini sağlar.
normal
Işığın yansıma açılarını belirler. (OpenGl ve DirectX için y eksenleri yani yeşil kanalları terstir. Unity, Godot ve Blender OpenGl, Unreal DirectX kullanır.)

bump
Işığın yansıma açılarını belirler. normal map açısal olarak veri depolarken bu yükseklik olarak veri depolar. (normal map çok daha fazla veri depolayabilir)
ambient occulusion
Işık hesaplamalarında kolaylık sağlaması için ışık alamayacak girinti yerlerin önceden hesaplanmış halidir.
tangent
Yüzey normalleri hesaplarken kullanılan vektördür.
-Bunların Yanında-
displacement
Objenin fiziksel pürüzlerini belirler. texture rgba kanallarında da depolanabilmektedir
hdri
Gökyüzü görüntüsü taşır. [Örnek](https://polyhaven.com/hdris)
vector displacement
Displacementten farklı olarak objeyi ileri geri hareket ettirmek yerine tüm eksenlerde hareket ettirmektedir. [Örnek](https://youtu.be/vgKjn1mV2hI?feature=shared)
light map
Işıkların performans için hesaplanıp depolandığı dokudur.
*bilgi
Farklı dokular için farklı uv haritaları kullanılabilir.
Meshler
Meshler fizksel olarak yüzeyleri depolayan verilerdir. depoladıkları bazı veriler.
- noktalar (vertex)
- yönler (normals)
- yüzeyler (faces)
- nokta renkleri (vertex color)
- doku kalıpları (uv)
vertex
3d düzlemdeki pozisyonlardır. Ayrıca mesh içinde shape key(morph da denmektedir) kullanarak doğrusal hareket elde edebilirsiniz. Shape key yerine kemik (bone) de kullanabilirsiniz, (bu size sınırsız hareket imkanı sağlar.) ama bu da oyunda gereksiz kasmaya neden olabilir. (Shape key kullanmakta ram den yer, ama günümüz bol ram li cihazlarında bu daha iyi olabilir.)
normals
Her vertexin ışığa nasıl tepki vereceğini belirlemek için bir yönü vardır. Normals bu verileri depolar.
faces
Vertexlerin yüzeyler için sıralarını depolar. Her 3 vertex bir yüzey oluşturur. bazı programlar daha fazla vertex kullanarak bir yüzey oluşturur, ama hata çıkamaması için çok vertexli yüzeyleri üçlemeyi unutmayın. Bu duruma bir istisna var, iskelet sitemi olan veya olamayan hareketli meshlerde 3 vertexli yüzey(tris) kullanılması yerine 4 vertexli yüzey kullanılması önerilir. (Bunu yapmak texturedeki kaymaların ve normaldeki bozulmaların önüne geçer.)
vertex color
Her vertexe özgü renk verebilirsiniz ve bu renkleri uygun shader ile kullanabilirsiniz. bu renkleri blender gibi programlarla 2d doku üzerine pişirebilirsiniz. (bake)
uv
Vertexlerin 2 boyutlu dünyada başka bir pozisyon bilgisini taşır. bu bizim resimleri objelere giydirebilmemizi sağlar. (Bunu kullamak yerine farklı projection yöntemlerini de kullanabilirsiniz.)
Post Processing
Işık kameraya geldikten sonra yapılan işlemlerdir.
bloom, vignette, motion blur, depth of field, ambient occulusion, anti alising, lens flare gibi işlemler örnek verilebilir.
bloom
Işığın fazla olduğu yerlere parlama efekti ekler.
vignette
Ekranın kenarlarını karartır.
motion blur
Hareketin olduğu yerleri bulanıklaştırır.
depth of field
Odak noktasına uzak yerleri bulanıklaştırır.
ambient occulusion
Işığın zor gireceği dar yerlere nasıl davranacağını belirlememizi sağlar.
anti alising
Pixellerin keskinlik kalitesini arttırmak için ekstra işlem yaparak görüntüyü iyileştirir.
lens flare
Işığa lensden yansıyor efekti verir.
Bevelin Önemi
Bevel objeleri daha gerçekçi algılamamıza yardımcı olur. Eğer objenizde normal map kullanıyorsanız, bevel görünümünü normal map üzerine high poly objeyle veya high poly olmadan(çeşitli shader sistemleri kullanarak) bake alabilirsiniz.
Texture Kullanımı
Textureleri proje yapım aşamasındayken sıkıştırmamaya dikkat edin. jpg ile resmi kaydederseniz o resim sıkıştırılmış olur, jpg yerine png ile kaydedebilirsiniz. Bir resmi ilk kez sıkıştırınca sorun olmaz ama proje yaparken defalarca düzenleme yaptığımız için resim kalitesiz olacaktır.
Işın İzlemeli Render (Path Tracing)
bu render yöntemi ışığı en iyi şekilde hesaplayabilmek için ekstra işlem yapar ve diğer yöntemlere göre daha yavaştır, ama kullanımı daha kolay ve daha kalitelidir. İşlemciyi veya optix, cuda, openCl gibi teknolojileri kullanabilir. Bake işlemleri genelde bu teknoloji ile yapılır ve bake edilen resimde karıncalanma olabilir. karıncalanma olan durumlarda open image denoiser vb. denoise teknolojileri kullanılabilir. Film, reklam, vfx gibi alanlarda çoğunlukla bu teknoloji kullanılmaktadır.
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
Evrim Ağacı'na her ay sadece 1 kahve ısmarlayarak destek olmak ister misiniz?
Şu iki siteden birini kullanarak şimdi destek olabilirsiniz:
kreosus.com/evrimagaci | patreon.com/evrimagaci
Çıktı Bilgisi: Bu sayfa, Evrim Ağacı yazdırma aracı kullanılarak 07/05/2025 07:31:30 tarihinde oluşturulmuştur. Evrim Ağacı'ndaki içeriklerin tamamı, birden fazla editör tarafından, durmaksızın elden geçirilmekte, güncellenmekte ve geliştirilmektedir. Dolayısıyla bu çıktının alındığı tarihten sonra yapılan güncellemeleri görmek ve bu içeriğin en güncel halini okumak için lütfen şu adrese gidiniz: https://evrimagaci.org/s/19065
İçerik Kullanım İzinleri: Evrim Ağacı'ndaki yazılı içerikler orijinallerine hiçbir şekilde dokunulmadığı müddetçe izin alınmaksızın paylaşılabilir, kopyalanabilir, yapıştırılabilir, çoğaltılabilir, basılabilir, dağıtılabilir, yayılabilir, alıntılanabilir. Ancak bu içeriklerin hiçbiri izin alınmaksızın değiştirilemez ve değiştirilmiş halleri Evrim Ağacı'na aitmiş gibi sunulamaz. Benzer şekilde, içeriklerin hiçbiri, söz konusu içeriğin açıkça belirtilmiş yazarlarından ve Evrim Ağacı'ndan başkasına aitmiş gibi sunulamaz. Bu sayfa izin alınmaksızın düzenlenemez, Evrim Ağacı logosu, yazar/editör bilgileri ve içeriğin diğer kısımları izin alınmaksızın değiştirilemez veya kaldırılamaz.