Gölgelendirici - nedir bu? Türleri, avantajları ve dezavantajları. Gölgelendiriciler nedir ve Minecraft'ta gölgelendiriciler nasıl kurulur Gölgelendiriciler neye cevap verir?

Elbette bir gölgelendiriciyi gerçekten sevdiğiniz duruma aşinasınızdır, ancak gerekli bilgiye sahip olmadığınız için gölgelendiriciyi Minecraft'a yükleyemezsiniz. Endişelenmeyin, bugünkü yazımızda Minecraft'a gölgelendiricilerin nasıl kurulacağını detaylı olarak anlatacağız!

Bildiğiniz gibi çoğu gölgelendirici ek modlarla birlikte kurulur ve bu da çok fazla video belleği ve RAM kaynağı tüketir. Peki güzel gölgelendiricilerle gelen bir modu seviyorsanız ve aynı zamanda zayıf bir bilgisayarınız veya dizüstü bilgisayarınız varsa ne yapmalısınız? Bugün bu sorunun çözümüne de bakacağız. Peki, başlayalım!

Minecraft'taki gölgelendiriciler nedir ve ne işe yarar?

Shaders Mod, daha gerçekçi aydınlatmanın yanı sıra şekilleri yansıtan daha gerçekçi gölgeler sağlayan son derece gerçekçi bir Minecraft modifikasyonudur.

Böylece gölgelendirici modları, Minecraft dünyanızı tam anlamıyla standart oyun dünyasıyla kıyaslanamayacak kadar daha gerçekçi bir dünyaya dönüştürür. Bu nedenle Minecraft'taki grafiklerin ne kadar gerçekçi olabileceğini bilmek istiyorsanız bu makaleyi okumaya devam edin!

Minecraft için gölgelendiriciler nasıl indirilir?

İnternette çok sayıda oyun portalı ve hizmeti, indirilebilecek ek modlara sahip oyun gölgelendiricileri sunar. Daha önce de söylediğimiz gibi, özellikle zayıf bir bilgisayarınız veya dizüstü bilgisayarınız varsa, mod yüklemek oyunun performansını büyük ölçüde etkiler.

Bu nedenle aşağıda Minecraft oyununun herhangi bir sürümüne uygun en popüler ve evrensel oyun gölgelendiricilerini listeleyeceğiz.

Bbepc-lite-nvidia-fix.zip - 599 kez indirildi - 72 KB

Chocapic13.zip - 682 kez indirildi - 443 KB

Continuum.zip - 455 kez indirildi - 131 KB

Kadir-nck-shader-v1.2.zip - 438 kez indirildi - 30 KB

Plunderpixels_shaders_1.7.x.zip - 440 kez indirildi - 36 KB

Robobo1221.zip - 399 kez indirildi - 180 KB

Gölgelendiriciler Minecraft 1.7.10, 1.8, 1.8.8, 1.10.2, 1.11.2, 1.12, 1.12.2'ye nasıl kurulur?

  • Öncelikle Optifine'ı indirmeniz gerekiyor. Bunu aşağıdaki butona tıklayarak yapabilirsiniz.

Optifine_1.7.10.rar - 668 defa indirildi - 1 MB

Optifine_1.8.rar - 385 kez indirildi - 1 MB

Optifine_1.8.8.rar - 323 kez indirildi - 1.009 KB

Optifine_1.10.2.rar - 345 kez indirildi - 1 MB

Optifine_1.11.2.rar - 405 defa indirildi - 1 MB

Optifine_1.12.rar - 353 defa indirildi - 1 MB

Optifine_1.12.2.rar - 797 kez indirildi - 2 MB

  • Daha sonra Optifine modunu yükleyin. Gölgelendiriciler kurulmadan çalışmaz.
  • Bundan sonra Minecraft için kurmak istediğiniz gölgelendiriciyi indirin.
  • Şimdi gölgelendiricilerin bulunduğu klasörü açın, bunu yapmak için klavye kısayoluna basın Kazan+R ve ardından şu komutu girin: "%appdata%/.minecraft/shaderpacks" ve düğmeye basın TAMAM.
  • Minecraft için kullanmak istediğiniz shaderları açılan klasöre taşımalısınız.

  • Yukarıdaki adımlardan sonra tek yapmanız gereken Minecraft'ı başlatmak. Ayarlar menüsüne girin ve sekmeyi seçin "Verim". Burada özelliği devre dışı bırakmanız gerekiyor "Hızlı oluşturma".

  • Bölümde "Grafik Ayarları" sekmeyi aç "Gölgelendiriciler" ve gerekli gölgelendiriciyi etkinleştirin. Ayarlardan çıkın, bir dünya yaratın ve yeni oyun görünümünün keyfini çıkarın.

Gölgelendirici SSS/Cevapları

Shaderpacks klasörü nerede?

Klasör yolu: "%appdata%/.minecraft/shaderpacks."

Seçenekler menüsünde Gölgelendiriciler düğmesini neden bulamıyorum?

Optifine'ı yüklediğinizden ve doğru sürümü kullandığınızdan emin olun.

Optifine'ı nereden indirebilirim?

Optifine'ı indirmek için yukarıdaki yazıda verilen bağlantıları kullanmanız gerekmektedir.

Gölgelendiricileri kurmanın bir sınırı var mı?

Hiçbir kısıtlama yoktur. Ancak bir oyun oturumunda yalnızca bir gölgelendirici paketi kullanabilirsiniz.

Gölgelendiriciler sunucularda çalışır mı?

Her zaman olmasa da çoğu oyun sunucusu çalışmalarını destekliyor.

Video: Minecraft 1.7.10'a gölgelendiriciler nasıl kurulur?

– Igor (Yönetici)

Bu yazımda size anlatacağım basit kelimelerle Gölgelendiriciler nedir ve neden gereklidirler?

Bilgisayar grafiklerinin kalitesine yönelik gereksinimler her geçen gün artıyor. Daha önce 2D grafiklerin oldukça yeterli olduğu düşünülüyordu ve milyonlarca insanın hayal gücünü yakalamak için yeterliydi. Günümüzde görselleştirmeye çok daha fazla önem verilmektedir.

Bununla birlikte, modern 3D grafiklerin oluşumu sırasında, çoğu kişi yerleşik filtrelerin ve video kartlarının (GPU'lar) araçlarının yeterli olmaması sorunuyla karşı karşıya kaldı. Mesela çoğu zaman kendi efektlerimize ihtiyaç duyuluyordu. Bu nedenle, pek çok şeyin manuel olarak yapılması ve ana bilgisayar işlemcisinde (CPU) yapılan hesaplamaların yapılması gerekiyordu, bu da şüphesiz performansı etkiledi (video kartının dedikleri gibi "boşta" boşta kalmasına rağmen).

Böylece zamanla GPU'nun gücünün belirli ihtiyaçlar için kullanılmasına olanak tanıyan gölgelendiriciler gibi çeşitli teknolojiler ortaya çıktı.

Gölgelendiriciler nedir ve neden gereklidirler?

Gölgelendirici- CPU gücünü gereksiz yere harcamadan video kartı işlemcilerinde çalıştırılabilen bir bilgisayar programı (kod). Ayrıca, bu gölgelendiricilerden (sıralı kullanımları) boru hatları oluşturmak mümkündür. Yani, aynı gölgelendirici çeşitli grafik nesnelerine uygulanabilir, bu da animasyon oluşturma sürecini büyük ölçüde basitleştirir.

Başlangıçta, video kartları üç tür anlamına geliyordu - köşe (bireysel köşelerin etkileri için; örneğin, dalgaların etkisini yaratmak, çim çizmek vb. için), geometrik (küçük ilkeller için; örneğin silüetler oluşturmak için) ve piksel ( görüntünün belirli bir alanının filtreleri için; örneğin sis). Ve buna göre, kartta üç tür özel işlemci vardı. Daha sonra bu bölüm terk edildi ve tüm video kartı işlemcileri evrensel hale geldi (üç türü de destekliyor).

Genel CPU yükünü azaltmak, kendi gölgelendiricilerinizi oluşturabilmenin tek amacı değildir. Birçok oyunun ve videonun aynı özellikleri yeniden kullandığını anlamakta fayda var. Örneğin, OpenGL veya DirectX gibi hazır kütüphaneleri kullanabiliyorsanız neden onlarca benzer animasyon programında su efektlerini sıfırdan yazasınız ki? İkincisi, halihazırda uygulanmış birçok gölgelendirici içerir ve kendi gölgenizi yazmak için daha uygun bir yöntem sağlar (GPU için düşük seviyeli komutlar yazmaya gerek yoktur).

Yani, daha önce en basit animasyonu veya oyunu yaratmak için önemli bilgiye sahip olmanız gerekiyorsa, günümüzün gerçeklerinde bu, birçok kişinin yetenekleri dahilinde bir görevdir.

Gölgelendirici yaklaşımının faydası nedir?

Farklı kitaplıklar (GLSL - OpenGL, HLSL - DirectX vb.) için farklı programlama dili standartları olduğundan, gölgelendiricilerle ilgili bazı karışıklıklar vardır ve bu, video kartı üreticilerinin kendilerinin farklı özellikleri destekleyebileceği gerçeğini hesaba katmaz. Ancak bunları kullanmanın avantajı, DirectX 9 ve DirectX 10 arasındaki ekran farkını gösteren bir örnekle yukarıdaki resme bakarak kolayca takdir edilebilir.

Bu nedenle, iyi bilinen bir kitaplıktan gölgelendiriciler kullanıyorsanız, kalitenin kendi başına artması için bir sonraki sürümün yayınlanması yeterlidir. Elbette burada uyumluluk, yeni ortaya çıkan uzman ekiplere destek vb. Gibi nüanslar var ama yine de.

Gölgelendirici yaklaşımı, grafiklere ek olarak sıradan kullanıcılar için aşağıdaki açılardan faydalıdır:

1. Bilgisayarın hızı ve performansı artar (sonuçta merkezi işlemcinin GPU yerine grafik hesaplamaları yapmasına gerek kalmaz).

Bu talimat, Minecraft'a gölgelendiriciler kurmanıza ve böylece dinamik gölgeler, rüzgar ve çim gürültüsü, gerçekçi su ve çok daha fazlasını ekleyerek oyun dünyasını geliştirmenize yardımcı olacaktır.

Gölgelendiricilerin sistemi oldukça ağır yüklediğini hemen belirtmekte fayda var ve zayıf bir video kartınız veya hatta entegre bir ekran kartınız varsa, bu modu kurmaktan kaçınmanızı öneririz.

Kurulum iki aşamadan oluşur; önce gölgelendirici modunu ve ardından bunun için ek gölgelendirici paketlerini yüklemeniz gerekir.

ADIM #1 – Gölgelendirici modunun kurulumu

  1. Java'yı indirin ve yükleyin
  2. Düzenlemek OptiFine HD
    veya GölgelendiricilerMod;
  3. Ortaya çıkan arşivi herhangi bir konuma açın;
  4. Jar dosyasını başlatıyoruz çünkü o bir montajcıdır;
  5. Program size oyunun yolunu gösterecektir, eğer her şey doğruysa Evet, Tamam, Tamam'a tıklayın;
  6. Hadi gidelim .minecraft ve orada bir klasör oluşturun gölgelendirici paketleri;
  7. Başlatıcıya giriyoruz ve "ShadersMod" adlı satırda yeni bir profil görüyoruz, değilse manuel olarak seçiyoruz.
  8. Daha sonra gölgelendirici paketlerini indirmeniz gerekiyor

ADIM #2 - Gölgelendirici paketinin kurulması

  1. İlgilendiğiniz gölgelendirici paketini indirin (liste makalenin sonundadır)
  2. Tuşlara basın KAZAN+R
  3. Git .minecraft/gölgelendirici paketleri. Böyle bir klasör yoksa oluşturun.
  4. Gölgelendirici arşivini şuraya taşıyın veya çıkarın .minecraft/gölgelendirici paketleri. Yol şu şekilde görünmelidir: .minecraft/shaderpacks/SHADER_FOLDER_NAME/shaders/[.fsh ve .vsh dosyaları içeride]
  5. Minecraft'ı başlat ve git Ayarlar > Gölgelendiriciler. Burada mevcut gölgelendiricilerin bir listesini göreceksiniz. İhtiyacınız olanı seçin
  6. Gölgelendirici ayarlarında "tweakBlockDamage"ı etkinleştirin, "CloudShadow"u ve "OldLighting"i devre dışı bırakın

Sonic Ether'in İnanılmaz Gölgelendiricileri
Sildur'un gölgelendiricileri
Chocapic13"ün Gölgelendiricileri
sensi277'nin yShader'ları
MrMeep_x3"ün Gölgelendiricileri
Naelego'nun Cel Gölgelendiricileri
RRe36'nın Gölgelendiricileri
DeDelner'ın CUDA Gölgelendiricileri
bruceatsr44"ün Asit Gölgelendiricileri
Beed28'in Gölgelendiricileri
Ziipzaap'ın Gölgelendirici Paketi
robobo1221"in Gölgelendiricileri
dvv16"nın Gölgelendiricileri
Stazza85 süper Gölgelendiriciler
hoo00"un Gölgelendiriciler paketi B
Regi24'ün Dalgalanan Tesisleri
MrButternus ShaderPack
DethRaid'in Nitro Gölgelendiricilerdeki Harika Grafikleri
Edi'nin ALLPC'ler İçin Gölgelendiricisi
CrankerMan'in TME Gölgelendiricileri
Kadir Nck Shader (skate702 için)
Werrus'un Gölgelendiricileri
Knewtonwako'nun Life Nexus Gölgelendiricileri
CYBOX gölgelendirici paketi
CrapDeShoes CloudShade Alpha
AirLocke42 Gölgelendirici
CaptTatsu'nun BSL Gölgelendiricileri
Triliton'un gölgelendiricileri
GölgelendiricilerMcOfficial'ın Bloominx Gölgelendiricileri (Chocapic13" Gölgelendiriciler)
dotModded'in Sürekli Gölgelendiricileri
Qwqx71"in Ay Gölgelendiricileri (chocapic13"ün gölgelendiricisi)

Video kartı işlemcileri (GPU) tarafından yürütülmek üzere tasarlanmıştır. Gölgelendiriciler, özel programlama dillerinden birinde derlenir (bkz.) ve GPU talimatlarına göre derlenir.

Başvuru

Gölgelendiricilerin kullanılmasından önce, prosedürel doku oluşturma (örneğin, Unreal oyununda animasyonlu su ve ateş dokuları oluşturmak için kullanıldı) ve çoklu doku oluşturma (Quake 3 oyununda kullanılan gölgelendirici dili buna dayanıyordu) kullanılıyordu. Bu mekanizmalar gölgelendiricilerle aynı esnekliği sağlamıyordu.

Yeniden yapılandırılabilir grafik boru hatlarının ortaya çıkmasıyla birlikte, GPU (GPGPU) üzerinde matematiksel hesaplamalar yapmak mümkün hale geldi. En iyi bilinen GPGPU motorları nVidia CUDA, Microsoft DirectCompute ve açık kaynaklı OpenCL'dir.

Gölgelendirici türleri

Köşe gölgelendiricileri

Köşe gölgelendirici, çokyüzlülerin köşeleriyle ilişkili verilerle, örneğin uzaydaki bir tepe noktasının (noktanın) koordinatlarıyla, doku koordinatlarıyla, bir tepe noktasının rengiyle, bir teğet vektörle, iki normal bir vektörle, normal bir vektör. Köşe gölgelendirici, köşelerin görünümü ve perspektif dönüşümü, doku koordinatları oluşturulması, aydınlatmanın hesaplanması vb. için kullanılabilir.

Dildeki köşe gölgelendiricisi için örnek kod:

vs.2.0 dcl_position v0 dcl_texcoord v3 m4x4 oPos, v0, c0 mov oT0, v3

Geometri gölgelendiriciler

Geometri gölgelendirici, köşe gölgelendiriciden farklı olarak yalnızca bir köşeyi değil aynı zamanda tüm ilkelleri işleyebilir. Bir ilkel, bir parça (iki köşe) ve bir üçgen (üç köşe) olabilir ve eğer bir üçgen temel için bitişik köşeler (bitişiklik) hakkında bilgi varsa, altıya kadar köşe işlenebilir. Geometri gölgelendirici, anında (merkezi işlemciyi kullanmadan) temel öğeler oluşturma kapasitesine sahiptir.

Geometri gölgelendiriciler ilk olarak Nvidia 8 serisi ekran kartlarında kullanıldı.

Piksel (parça) gölgelendiriciler

Bir piksel gölgelendirici, bitmap görüntü parçaları ve dokularıyla çalışır; piksellerle ilişkili verileri (örneğin, renk, derinlik, doku koordinatları) işler. Piksel gölgelendirici, görüntünün bir parçasını oluşturmak için grafik hattının son aşamasında kullanılır.

Dildeki piksel gölgelendirici için örnek kod:

ps.1.4 texld r0, t0 mul r0, r0, v0

Avantajlar ve dezavantajlar

Avantajları:

  • herhangi bir algoritma oluşturma yeteneği (program geliştirme döngüsünün esnekliği, basitleştirilmesi ve maliyetinin azaltılması, görselleştirilmiş sahnelerin karmaşıklığının ve gerçekçiliğinin arttırılması);
  • artan yürütme hızı (merkezi işlemcide yürütülen aynı algoritmanın yürütme hızıyla karşılaştırıldığında).

Kusurlar:

  • yeni bir programlama dili öğrenme ihtiyacı;
  • farklı üreticilerin GPU'ları için farklı talimat setlerinin varlığı.

Programlama dilleri

Çeşitli pazar ihtiyaçlarını karşılamak için (bilgisayar grafiklerinin birçok uygulaması vardır), çok sayıda gölgelendirici programlama dili oluşturulmuştur.

Tipik olarak, gölgelendiriciler yazmaya yönelik diller, programcıya özel veri türleri (matrisler, örnekleyiciler, vektörler vb.), bir dizi yerleşik değişken ve sabit (standart 3D API işlevselliğiyle etkileşim için) sağlar.

Profesyonel işleme

Aşağıdakiler, maksimum görüntü oluşturma kalitesine ulaşmayı amaçlayan gölgelendirici programlama dilleridir. Bu tür dillerde malzemelerin özellikleri soyutlamalar kullanılarak anlatılır. Bu, özel programlama becerisine sahip olmayan ve donanım uygulamalarının özelliklerini bilmeyen kişilerin kod yazmasına olanak tanır. Örneğin sanatçılar “doğru görünümü” sağlamak için (doku eşleme, ışık kaynaklarının yerleştirilmesi vb.) bu tür gölgelendiriciler yazabilirler.

Tipik olarak, bu tür gölgelendiricilerin işlenmesi oldukça kaynak yoğundur: fotogerçekçi görüntüler oluşturmak çok fazla bilgi işlem gücü gerektirir. Tipik olarak bilgi işlemin büyük kısmı büyük bilgisayar kümeleri veya blade sistemleri tarafından gerçekleştirilir.

RenderMan Pixar'ın RenderMan yazılımında uygulanan gölgelendirici programlama dili, ilk gölgelendirici programlama diliydi. Rob Cook tarafından geliştirilen ve RenderMan Arayüz Spesifikasyonu'nda açıklanan RenderMan API, Pixar'ın prodüksiyonlarında kullanılan profesyonel görüntü oluşturma için fiili standarttır. OSL OSL - İngilizce. Open Shading Language, tarafından geliştirilen bir gölgelendirici programlama dilidir. Sony Pictures Imageworks ve dile benzer. Sony Pictures Imageworks tarafından geliştirilen ve render için tasarlanan tescilli Arnold programında ve üç boyutlu bilgisayar grafikleri oluşturmak için tasarlanan ücretsiz Blender programında kullanılır. Gerçek zamanlı görüntü oluşturma GLSL GLSL (eng. Açık G.L. S Sahip olmak L dil listen)) OpenGL standardında açıklanan ve ANSI C standardında açıklanan dilin sürümünü temel alan bir gölgelendirici programlama dilidir. Dil, çoğu ANSI C özelliğini destekler ve üç boyutlu grafiklerle (vektörler, matrisler) çalışırken sıklıkla kullanılan veri türlerini destekler. GLSL'deki "gölgelendirici" kelimesi, bu dilde yazılmış, bağımsız olarak derlenmiş bir birimi ifade eder. "Program" kelimesi, birbirine bağlı bir dizi derlenmiş gölgelendiriciyi ifade eder. Cg (İngilizce) C için G grafik), nVidia tarafından Microsoft ile birlikte geliştirilen bir gölgelendirici programlama dilidir. Dil, Microsoft tarafından geliştirilen ve içinde yer alan dile ve HLSL diline benzer. Directx 9. Dil “int”, “float”, “half” (16 bit kayan noktalı sayı) türlerini kullanır. Dil, işlevleri ve yapıları destekler. Dilin "paketlenmiş diziler" biçiminde kendine özgü optimizasyonları vardır (

" itemprop = "resim">

"Gölgelendiriciler nedir?" - Çok Sıkça sorulan soru meraklı oyuncular ve gelecek vaat eden oyun geliştiricileri. Bu yazımda sizlere bu berbat shaderlardan açık ve net bir şekilde bahsedeceğim.

Bilgisayar oyunlarının, bilgisayar grafiklerinde fotogerçekçi görüntülere doğru ilerlemenin motoru olduğunu düşünüyorum, bu yüzden video oyunları bağlamında "gölgelendiricilerin" ne olduğu hakkında konuşalım.

İlk grafik hızlandırıcılar ortaya çıkmadan önce, video oyunu karelerinin oluşturulmasıyla ilgili tüm iş zayıf CPU tarafından yapılıyordu.

Bir çerçeve çizmek aslında oldukça rutin bir iştir: "geometri" - çokgen modeller (dünya, karakter, silah vb.) alıp onu rasterleştirmeniz gerekir. Rasterleştirme nedir? 3D modelin tamamı, rasterleştiricinin piksellere dönüştürdüğü küçük üçgenlerden oluşur (yani "rasterleştirme", piksellere dönüştürmek anlamına gelir). Rasterleştirmeden sonra doku verilerini, aydınlatma parametrelerini, sisi vb. alın ve oyuncunun ekranında görüntülenecek olan oyun çerçevesinin elde edilen her pikselini hesaplayın.

Yani merkezi işlem birimi (CPU - Merkezi İşlem Birimi), onu böyle bir rutini yapmaya zorlamayacak kadar akıllı bir adamdır. Bunun yerine, CPU'nun daha önemli entelektüel işler yapabilmesi için yükünü hafifletecek bir tür donanım modülü tahsis etmek mantıklıdır.

Bu donanım modülü bir grafik hızlandırıcı veya video kartıydı (GPU - Grafik İşlem Birimi). Artık CPU verileri hazırlıyor ve meslektaşına rutin işleri yüklüyor. GPU'nun artık tek bir meslektaş değil, bir minyon çekirdekler topluluğu olduğu göz önüne alındığında, bu tür işlerin üstesinden tek seferde gelebiliyor.

Ancak asıl sorunun cevabını henüz alamadık: Gölgelendiriciler nedir? Durun, bu konuya geliyorum.

İyi, ilginç ve fotogerçekçi grafiklere yakın grafikler, video kartı geliştiricilerinin donanım düzeyinde birçok algoritma uygulamasını gerektiriyordu. Gölgeler, ışık, vurgular vb. Algoritmaların donanımda uygulanmasıyla birlikte “Sabit Boru Hattı veya Konveyör” olarak adlandırılan bu yaklaşıma, yüksek kaliteli grafiklerin gerekli olduğu yerlerde artık rastlanmamaktadır. Onun yerini “Programlanabilir Boru Hattı” aldı.

Oyuncuların istekleri: “Hadi, güzel bir graphonia getirin! sürpriz!”, oyun geliştiricilerini (ve sırasıyla ekran kartı üreticilerini) giderek daha karmaşık algoritmalara doğru itti. Bir noktaya kadar, donanımsal donanım algoritmaları onlar için çok az hale geldi.

Video kartlarının daha akıllı olmasının zamanı geldi. Karar, geliştiricilerin GPU bloklarını farklı algoritmalar uygulayan rastgele işlem hatlarına programlamasına izin vermek için verildi. Yani oyun geliştiricileri ve grafik programcıları artık video kartları için programlar yazabiliyorlardı.

Ve nihayet asıl sorumuzun cevabına geldik.

"Gölgelendiriciler nedir?"

Gölgelendirici, bir nesnenin veya görüntünün son parametrelerini belirlemek için üç boyutlu grafiklerde kullanılan, video kartına yönelik bir programdır; bunlar arasında ışık emilimi ve saçılması, doku haritalaması, yansıma ve kırılma, gölgeleme, yüzey yer değiştirmesinin bir açıklaması bulunabilir. ve diğer birçok parametre.

Gölgelendiriciler nedir? Örneğin bu etki elde edilebilir, bu bir küreye uygulanan su gölgelendiricidir.

Grafik hattı

Programlanabilir bir boru hattının önceki modele göre avantajı, programcıların donanıma entegre edilmiş bir dizi seçeneği kullanmak yerine artık kendi algoritmalarını kendilerinin oluşturabilmesidir.

İlk başta video kartları, farklı talimat kümelerini destekleyen birkaç özel işlemciyle donatılmıştı. Gölgelendiriciler, onları hangi işlemcinin çalıştıracağına bağlı olarak üç türe ayrıldı. Ancak daha sonra video kartları, her üç gölgelendirici türünün talimat setlerini destekleyen evrensel işlemcilerle donatılmaya başlandı. Gölgelendiricilerin türlere ayrılması, gölgelendiricinin amacını açıklayacak şekilde korunmuştur.

Bu tür akıllı ekran kartlarıyla grafiksel görevlerin yanı sıra GPU üzerinde genel amaçlı (bilgisayar grafikleriyle ilgisi olmayan) hesaplamalar yapmak artık mümkün.

İlk kez, GeForce 3 serisinin video kartlarında gölgelendiriciler için tam teşekküllü destek ortaya çıktı, ancak temeller GeForce256'da (Kayıt Birleştiriciler biçiminde) uygulandı.

Gölgelendirici türleri

Boru hattının aşamasına bağlı olarak gölgelendiriciler çeşitli türlere ayrılır: köşe, parça (piksel) ve geometri. Ve en yeni boru hattı türlerinde mozaik gölgelendiriciler de bulunur. Grafik iş hattını ayrıntılı olarak tartışmayacağız; gölgelendiriciler ve grafik programlamayı incelemeye karar verenler için bu konuda hala ayrı bir makale yazmayı düşünüyorum. İlgileniyorsanız yorumlara yazın, zaman ayırmaya değip değmeyeceğini bileyim.

Köşe gölgelendirici

Vertex gölgelendiriciler karakterlerin, çimlerin, ağaçların animasyonlarını yapar, su üzerinde dalgalar oluşturur ve daha birçok şey yapar. Bir köşe gölgelendiricide programcı köşelerle ilişkili verilere erişebilir; örneğin: uzaydaki bir köşenin koordinatları, doku koordinatları, rengi ve normal vektörü.

Geometri gölgelendirici

Geometri gölgelendiriciler yeni geometri oluşturma yeteneğine sahiptir ve parçacıklar oluşturmak, model ayrıntılarını anında değiştirmek, silüetler oluşturmak vb. için kullanılabilir. Önceki köşenin aksine, yalnızca bir köşeyi değil, aynı zamanda tüm ilkelleri de işleyebilirler. Bir ilkel, bir parça (iki köşe) ve bir üçgen (üç köşe) olabilir ve eğer bitişik köşeler (İngilizce bitişiklik) hakkında bilgi mevcutsa, bir üçgen temel için en fazla altı köşe işlenebilir.

Piksel gölgelendirici

Piksel gölgelendiriciler doku eşleme, ışıklandırma ve yansıma, kırılma, sis, Çarpma Eşleme vb. gibi çeşitli doku efektlerini gerçekleştirir. Piksel gölgelendiriciler aynı zamanda post-efektler için de kullanılır.

Bir piksel gölgelendirici, bitmap görüntü parçaları ve dokularıyla çalışır; piksellerle ilişkili verileri (örneğin, renk, derinlik, doku koordinatları) işler. Piksel gölgelendirici, görüntünün bir parçasını oluşturmak için grafik hattının son aşamasında kullanılır.

Gölgelendiriciler neyin üzerine yazılmıştır?

Başlangıçta, gölgelendiriciler birleştirici benzeri bir dilde yazılabiliyordu, ancak daha sonra gölgelendirici dilleri ortaya çıktı yüksek seviye C diline benzer, örneğin: Cg, GLSL ve HLSL.

Bu tür diller C'den çok daha basittir çünkü onların yardımıyla çözülen problemler çok daha basittir. Bu tür dillerdeki yazı sistemi grafik programcılarının ihtiyaçlarını yansıtmaktadır. Bu nedenle programcıya özel veri türleri sağlarlar: matrisler, örnekleyiciler, vektörler vb.

RenderMan

Yukarıda tartıştığımız her şey gerçek zamanlı grafikler için geçerlidir. Ancak gerçek zamanlı olmayan grafikler var. Oyunda saniyede 60 kare vermenin farkı nedir - gerçek zamanlı - gerçek zamanlı, yani burada ve şimdi - bu gerçek zamanlı bir süreçtir. Ancak son teknoloji animasyon için karmaşık bir karenin birkaç dakika boyunca işlenmesi gerçek zamanlı değildir. Önemli olan zamandır.

Örneğin, şu anda Pixar stüdyosunun en yeni animasyon filmleriyle aynı kalitede grafikleri gerçek zamanlı olarak elde edemiyoruz. Çok büyük render çiftlikleri, ışık simülasyonlarını tamamen farklı algoritmalar kullanarak hesaplar; bunlar çok pahalıdır ancak neredeyse fotogerçekçi görüntüler üretir.

Sand piper'da süper gerçekçi grafikler

Mesela şu sevimli çizgi filme bakın, kum taneleri, kuş tüyleri, dalgalar, her şey inanılmaz derecede gerçekçi görünüyor.

*Video Youtube'da yasaklanabilir, açılmazsa Google pixar sandpiper - cesur bir çulluğu konu alan kısa çizgi film çok sevimli ve kabarıktır. Size dokunacak ve bilgisayar grafiklerinin ne kadar harika olabileceğini gösterecek.

İşte bu Pixar'dan RenderMan. İlk gölgelendirici programlama dili oldu. RenderMan API, Pixar'ın çalışmaları boyunca ve sonrasında kullanılan, profesyonel görüntü oluşturma için fiili standarttır.

Yardımcı bilgi

Artık gölgelendiricilerin ne olduğunu biliyorsunuz, ancak gölgelendiricilerin yanı sıra oyun geliştirme ve bilgisayar grafiklerinde muhtemelen ilginizi çekecek çok ilginç başka konular da var:

  • , - modern video oyunlarında muhteşem efektler yaratmaya yönelik bir teknik. Unity3d'de efekt oluşturmaya ilişkin dersler içeren makaleyi ve videoyu inceleyin
  • , - profesyonel bir kariyer veya hobi olarak video oyunları geliştirmeyi düşünüyorsanız, bu makale "nereden başlamalı", "hangi kitapları okumalısınız" vb. konularda mükemmel öneriler içermektedir.

Eğer sorunuz varsa

Her zamanki gibi, hala sorularınız varsa yorumlarda sorun, her zaman cevaplayacağım. Her türlü kelime veya hata düzeltmesi çok takdir edilecektir.


Tepe