SORU
9 ŞUBAT 2012, PERŞEMBE


ES 2.0 Birden fazla Program veya Birden fazla Gölgeleme ya da ne OpenGL? Nasıl çalışır?

Sorun (;) DR TL

Benim sorunum, temelde, nasıl OpenGL 2.0 bana ve birden fazla gölgeleme yazın kullanmak için beklediğini bilmiyorum; ya da bir fikir bile olsa bir kişinin bunu yapması bekleniyor.

Buradaki temel soru şudur: eğer ben bir elma, bir parlak taş ve tüylü örgü, hepsi aynı 3D dünya, tüm iyi çizilmiş farklı shader programları kullanarak ama aynı mvpMatrix sonra nasıl gideceğim hakkında kullanarak hepsini aynı OpenGL render gibi hepsi kendi içinde en uygun gölgeleme bunu yazdım?

Ben ne yaptım

Ekranda nesnelerin anahat çizin bu mükemmel çalışan bir Android oyunum için temel bir OpenGL ES 2.0 program yazdım. Ama bu gölgeleme gibi bir şey; çok fazla yapıyor

Köşe Gölgelendiricisi

uniform mat4 uMVPMatrix;
attribute vec4 aPosition;

void main() {
    gl_Position = uMVPMatrix * aPosition;
}

Parça Gölgelendirici

void main() {
    gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
}

Şimdi oldukça basit. Daha gidemedim nedeni ise benim farklı nesnelerin tümü için geçerli bir shader yazmak zorundayım yoksa birden fazla gölgeleme kullanmak gerekiyordu eğer ben çözemedim bir türlü çünkü. Ve eğer birden fazla gölgeleme birden fazla farklı nesneler çizmek için kullanmak gerekiyor nasıl etkili bir şekilde yapmak için ne yapmam lazım?

Bu gün 2.0 ES mi OpenGL herkes için temel bilgi olması gerektiğini düşünüyorum ve birisi soruma cevap veya doğru yönde bana işaret edebilir umuyorum o gün.

Var:

  • Hiç bir şey kullanmıyorum ama en temel gölgeleme birden fazla öğreticiler baktı;.
  • Tüm OpenGL ES 2.0 GLSL Spec yok nasıl uyduklarını; sadece her şeyi yaptı ne oldu yerine kullanılmak üzere tasarlanmıştır nasıl söz () okuyun.
  • Benim gölgeleme değiştirmeye çalıştım biraz.

OpenGL iş akışı anlamak için yaklaştım ama henüz görünmüyor umuyorum.

Bu sonradan buldum: . Edit:

Eğer uygulamanız 2.0, anahtarlar ve koşul dolu tek bir gölgelendirici oluşturma OpenGL ES için yazılmış olan bu uygulama sahne işlemek için gereken her görevi yerine getirir. Bunun yerine, her belirli, odaklanmış bir görevi gerçekleştirmek için birden fazla shader programları derlemek.

iOS OpenGL ES 2.0 guidelines.

CEVAP
9 ŞUBAT 2012, PERŞEMBE


Kullanabileceğiniz birden fazla gölgeleme, ama arasında geçiş yapmak için onları olabilir oldukça pahalı çok tavsiye edilen bir uygulamadır Beraberlik için her nesnenin bir shader, o zaman geçiş yapmak için sonraki gölge ve beraberlik tüm nesneleri kullanarak bir.
Gölgelerin arasında geçiş yapmak için glUseProgram() Ara.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • superemposed

    superemposed

    25 Aralık 2007