OpenGL ES 2.0: Kalite Gölgelendirici Deposu [kapalı]


10

Lütfen bana yüksek kaliteli OpenGL (OpenGL ES 2.0) köşe ve parça gölgelendiricileri deposu önermemizi rica edebilir miyim ?

Piksel tabanlı ligasyon gölgeleyicileri ( phong gibi ) ve simmilar arıyorum . Kalite ve gölgelendirici performansı arasında seçim yapabilmek daha fazlasını görmek güzel olurdu.

Yanıtlar:


16

Herhangi bir karmaşıklığın gölgelendiricileri genellikle değiştirilebilir çarklar gibi projenize indirebileceğiniz ve bırakabileceğiniz bir şey değildir. Tipik olarak daha ilginç etkiler, sonuçlarına ulaşmak için CPU tarafı oluşturma alt sistemine adil bir şekilde bağlanmayı gerektirir. Aynı şey genellikle performans için de geçerlidir - talimat sayısı veya boru hattı üzerinden doğruluk ve kalite ile ilgili performans değişimleri, uygulamaya özgü gereksinimlere dayanma eğilimindedir.

Sonuç olarak, düşündüğünüz türden depoların yolunda gerçekten fazla bir şey yoktur. GPU Gems kitapları, göz atmak isteyebileceğiniz oyun ve gölgeli kod örnekleri ile iyi bir yemek kitabı tarzı teknikler koleksiyonu sunar. Shader X kitapları da öyle.


Çok değerli yorum için +1. Merhaba Josh. Yanıtınız için teşekkürler. Bir kişi gölgelendirici gelişiminin başlangıcındaysa, bazı standart gölgelendiricilerin nasıl uygulandığını görmeye gerçekten yardımcı olur: Örneğin Phong (çok standart bir algoritma olan) nasıl gerçekleştirilir, piksel aydınlatma gölgelendiricileri, vb. ve sağladığınız kaynaklar iyi bir materyal olarak ses çıkarır. Onlara bir göz atacağım. Şimdiye kadar bulduğum en iyi kaynaklar: OpenGL Gölgelendirme Dili kitabı ve Deniz Feneri 3D sitesi.
Bunkai.Satori

2
Bu nedenle , ilginç efektlerin gelişimini gösteren kaliteli gölgelendiricilerin depolarını memnuniyetle karşılarım . Komut dosyaları, bunları birleştirmek ve yeni çekici efektler oluşturmak için bir temel olarak kullanılabilir.
Bunkai.Satori

@Bunkai Satori Bence Josh, bu tür depoların çoğunlukla var olmamasının bir nedeni olduğunu ifade etti.
Komünist Ördek

Komünist Ördek: Merhaba, yorumunuz için teşekkürler. Onu anlıyorum. Buradaki her yanıt için ve Josh'un yanıtı için de minnettarım. Ancak, aklıma gelen şey, internetin çok büyük olması, belki Josh'tan başka biri, belirli gölgelendiricilerden ilham almak için bazı yerleri gördüğünü hatırlayacaktır. Gölgelendiricileri çok kullanan bir şirketin / bireyin onları toplayacağını ve bazılarının da bunları yayınlayabileceğini hayal edebiliyorum. Josh'un cevabı yine de Kabul Edilmiş Cevap için adayım , bu yüzden kısa süre içinde kimse katkıda bulunmazsa, bu konuyu yanıtımı işaretleyeceğim.
Bunkai.Satori

13

Fazla değil, ama en azından birkaç temel gölgelendiriciler ile başlamak için açık sorce motorları dosyaları arasında bulunabilir:

.vsh dosyaları köşe gölgelendiricileri ve .fsh dosyalarını parça gölgelendiricileri içerir, ancak sanırım bu kendi kendini açıklıyor ...

Mevcut mobil donanımda, köşe gölgeleyici içinde mümkün olduğunca çok şey yapmalısınız ve harika görünümlü ve hızlı oyunlar için hile, bir şeyin amaçlandığı gibi görünmesini sağlamak için her zaman tam olarak gerekenleri yapan çok özel gölgelendiriciler yazmaktır. En azından bu, iPhone 4 ile aynı gpu özelliğine sahip ancak veri iletmek için daha az piksel içeren iPhone 3GS ile deneyimim. Bu muhtemelen tegra 2 ile zaten çok daha iyi ve elma A5 çipi ile daha da iyi, ancak şimdilik, masaüstü gpus için gölgelendiricileri cep telefonlarına taşımayı denememeniz ve harika bir performans beklemeniz gerektiği anlamına geliyor: P Bu da tam ekran anlamına geliyor efektleri, özellikle yüksek çözünürlüklü ekranı olan cihazlarda yavaş olma eğilimindedir.

Umarım bu da biraz yardımcı olur :).


Merhaba, GDSE'ye hoş geldiniz. Güzel cevap!
Notabene

İyi yanıt için +1. Merhaba Slin ve GDSE'ye hoş geldiniz. Bu güzel cevap ve örnek şeyler için teşekkür ederim. Memnun oldum, deneyiminizi mobil platform için programlama shader'ları ile paylaştınız. Şu anda, tüm gelişmeleri PC'de yapıyorum, daha sonra bağlantı kurmayı planlıyorum. Böylece deneyiminiz takdir edilecektir.
Bunkai.Satori

9

bazı gizli bilgileri buradan kapatabilir http://glslsandbox.com/


Merhaba UlanB. Bu koleksiyon harika görünüyor. Bana bu gölgelendiricileri nasıl indirebileceğimi söyler misiniz? Chrome'da gölgelendirici koleksiyonlarından herhangi birini açmaya çalıştığımda "WebGL desteklenmiyor" hatası alıyorum. Teşekkür ederim.
Vinodtiru

Üzgünüm, gerçekten webgl uyumluluğu konusunda size teknik destek veremem. Muhtemelen webgl'i desteklemeyen Donanımınız. Ayrıca Linux Chrome Builds henüz desteklemiyor.
UlanB

4

OpenGL ES 2.0 altında sis nasıl uygulanacağını ararken, OpenGL ES 2.0'da olmayan OpenGL ES 2.0 geriye dönük uyumlu proje uygulama işlevselliğine bağlantı buldum . Doğrudan gölgelendiriciler kaynağına bakabilirsiniz .

ClockworkCoders (OpenGL ES 2.0 değil) tarafından oluşturulan bu örneği değiştirerek, parça aydınlatma başına da uygulamak .

Ayrıca, lighthouse3D tarafından bu harika eğitimlere göz atabilirsiniz.


İyi yorum için +1. Merhaba Martin, bağlantılarınız için teşekkürler. Evet, Lighthouse3D'yi buldum ve kaliteli bir kaynak gibi görünüyor.
Bunkai.Satori

1

AMD RenderMonkey paketi, örnek dosyalar arasında OpenGL ES 2.0 için çok gelişmiş gölgelendiriciler içerir.

Özellikle iyi bir başlangıç ​​noktası olarak hizmet edebilecek az çok çıplak kemikli OpenGL ES 2.0 gölgelendiricisi sağlayan GLES örnekleri dizinindeki Renderman gölgelendirici örneğine bir göz atın. Ayrıca, orada neden iyi gölgelendiricilerin çok sayıda kes-yapıştır örneği olmadığı konusunda iyi bir fikir verebilir. Temel sorun: gölgelendiricilerin OpenGL ES sunucu yapılandırması ve bunlara yansıtılan modellerle sıkıca bağlanması. Hala. Renderman gölgelendiricisi, REnderMonkey aracından gevşeyebiliyorsanız mükemmel bir başlangıç ​​noktasıdır.


1

GPUImage'a ( https://github.com/BradLarson/GPUImage ) bir göz atın , muhtemelen web'de şimdiye kadar bulduğum en eksiksiz gölgelendirici koleksiyonu. Hepsi GPUImage ile çalışacak şekilde tasarlandıklarından, hepsi aynı yapıyı paylaşır, bu nedenle aynı yapıyı uygulamanızda / oyununuzda uyarlarsanız, birkaç farklı efekti hızlı bir şekilde içe aktarabilmeniz gerekir.

Şerefe!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.