İki piksel gölgelendiriciye sahip olmak isterim; İlk önce bir şey yapıyor, ve sonra başka bir şey yapıyor. Bu mümkün mü, yoksa her şeyi tek bir gölgelendiriciye mi yerleştirmeliyim?Aynı programda birden çok piksel (fragman) gölgeleyiciniz var mı?
cevap
Bunu yapabilirsiniz, örn. ana giriş noktasından çeşitli gölgelendirici nesnelerde uygulanan işlevlere işlev çağrıları yaparak.
main() {
callToShaderObject1()
callToShaderObject2()
}
bu callToShaderObject fonksiyonlarının her biri farklı shader nesneleri yaşayabilir, ancak tüm nesneler o kullanılmadan önce aynı programda bağlı ve bağlantılı olmak zorunda.
Aynı anda koşamazlar, ancak farklı geometriler için farklı gölgelendiriciler kullanmakta veya farklı gölgelendiriciler kullanarak birden çok geçişte render etmekte özgürsünüz.
Farklı bir program gerektiriyor mu? Yani her geçiş için farklı bir program? İçinde olduğu gibi, bir programda bir köşe ve parça gölgelendirici (tek geçişte?) Olabilir ve daha sonra başka bir programda bir köşe ve parça gölgelendiricisi olabilir (ikinci geçiş?)? Ben bunu hissettiğimde glUseProgram() 'ı değiştirebilir miyim? Yani aslında iki kez bir sahne mi yapıyorum? – Harry
Tam doğru. Sabit geçişte çok geçişli bir işlem gibi, ancak geçişler arasında openGL ayarlarını değiştirmek yerine farklı programlar yüklüyorsunuz. –
- 1. aynı programda
- 2. Bir programda birden çok YACC dilbilgisi
- 3. Birden çok projede birden çok TFS çalışma alanı var mı?
- 4. Bir setup.py'den birden çok proje var mı?
- 5. MyBatis'te birden çok parametre var mı?
- 6. view_config düzenleyicisinde birden çok izin var mı?
- 7. Web.xml'de birden çok dinleyici var mı?
- 8. Ember.js'de birden çok yönlendirici var mı?
- 9. Aynı denetleyiciye birden çok yol
- 10. Aynı değişkenin birden çok örneği
- 11. Aynı kimliğe sahip birden çok veri girişi var!
- 12. jqgrid - aynı sayfada birden çok tabloya birden çok tema uygulama
- 13. Doctrine 2.1 DQL - Çoktan çoğa çok sorgu birden çok değer - Birden çok kategoride öğe var mı?
- 14. HTTP isteğinde birden çok Cookie başlığı var mı?
- 15. MATLAB'da aynı anda birden çok değişken tanımlayın?
- 16. Tek bir Net projesinde birden çok WCF servisi var mı?
- 17. Ant: aynı dosyayı birden çok yere kopyalayın
- 18. Farklı etkinliklerde aynı Fragman Gezinme Çekmecesi
- 19. Aynı anda birden çok SQLite veritabanını kullanma
- 20. TypeScript, birden çok paramı aynı türe bağlama:
- 21. Rails 3.1'de aynı formda birden fazla model var mı?
- 22. Highcharts.js - aynı sayfada birden fazla tema var mı?
- 23. Bir bağımlı düğümde aynı dosyada birden fazla blok var mı?
- 24. mediaelement.js Aynı sayfadaki birden fazla video var mı?
- 25. Aynı anda birden çok PayPal İşlemi
- 26. Birden çok URL ile aynı sunucuda htaccess
- 27. Aynı karakterin birden çok kez yanması
- 28. Birden çok Piksel Tamponu Nesnesi kullanarak Video Texture güncellenirken kesinti
- 29. Piksel Facebook için Birden Fazla Süreyi Etkinleştir Piksel İzleme
- 30. Birden çok zincirin, Katalizör'de aynı son noktayı paylaşmasına izin vermenin bir yolu var mı?
Curioisity'in dışında, neden söz konusu parça gölgelendiricisinde tüm işlevlere sahip olmanın aksine, bunu neden yapıyorsunuz? Bu şekilde kod, çoğaltma gerektirmeden diğer gölgelendirici programlarıyla paylaşılabilir mi? –
@Nick: Kendimi kullandığını görmedim. Gölgelendirici programları gölgelendirici nesneler oluşturma fikrini ilk defa okuduğumda şaşırdım. Bu yüzden, neden bu _can_ bunu biliyorum. Standart derleme modelinden inşa edilmiştir ... – Bahbar
Güncelleme: Şimdi modifiye MineCraft gölgelendiricileri çalışırken, bunu kullanımda gördüm. Bu durumda, her gölgelendiricinin, çeşitli efektlerle birlikte çalışan çeşitli efektlerle açılıp kapatılabilen birçok seçeneği olduğu için oldukça kullanışlıdır. Böyle bir senaryoda ve birden fazla yazarın söz konusu olduğu durumlarda, fonksiyonları ayrı dosyalara ayırmak çok daha faydalı olur. –