WebGL ve OpenGL ES'den eksik özellikler


10

WebGL kullanmaya başladım ve OpenGL (ve OpenGL ES uzantısıyla) deneyimimi kullanmanın ne kadar kolay olduğundan memnunum. Ancak benim anlayışım şöyledir:

  • OpenGL ES, OpenGL'nin bir alt kümesidir
  • WebGL, OpenGL ES'nin bir alt kümesidir

Bu her iki durum için de doğru mu? Varsa, hangi özelliklerin eksik olduğunu detaylandırmak için kaynaklar var mı?

Örneğin, kayda değer bir eksik özellik glPushMatrixve glPopMatrix. Bunları WebGL'de göremiyorum, ancak aramalarımda onları OpenGL ES malzemesinde de bulamıyorum.

Yanıtlar:


9

WebGL wiki "için SSS hiyerarşisinde bir bölümünü içerdiği WebGL ve OpenGL Farklılıklar çok ayrıntılı değil "masaüstü" OpenGL uygulamaları ve ne yazık ki, gelen WebGL'deki farklılıklara odaklanmak gibi görünüyor" (çoğunlukla öyle davranışı hakkında değil, API) .

Bu sizin için yeterli ayrıntıya girmezse, en son WebGL taslağını OpenGL ES veya OpenGL teknik özellikleriyle manuel olarak karşılaştırmanız gerekebilir .


9

En son WebGL taslağını kontrol ettiniz mi?

Bir çelişki olması durumunda taslağa göre, OpenGL ES 2.0 spesifikasyonu nihai otoritedir.

Bölüm 6, OpenGL ES 2.0 ile WebGL arasındaki farkları özetlemektedir.

http://www.khronos.org/registry/webgl/specs/latest/


İyi bir cevabınız vardı, ki ben iptal ettim, ama diğer cevabı kabul ettiniz, çünkü kontrol etmek için diğer kaynakları işaret etti. Yardımın için teşekkürler.
Chris Smith


0

WebGL'ye bakmanın bir yolu, OpenGL ES 2.0 ve OpenGL ES 2.0'ın tüm eski hammadde kaldırılmış OpenGL olmasıdır.

Gölgelendiriciler tüm eski sabit işlevli boru hattı , vb. Eklendiğinden glPushMatrix, etrafta kalmak mantıklı değildi.glLightglVertex

Peki bu "eksik" özellikler mi yoksa doğru ve düzgün "kullanımdan kaldırılmış" özellikler mi?

Hangi spesifik özellikleri arıyorsunuz?

WebGL / OpenGL ES 2.0 temel köşe ve fragman gölgelendiricileridir. 2'nin gücü olmayan dokular için sınırlı destek ve sadece birkaç doku biçimi vardır (tüm dokuların% 99'u RGB8 veya RGBA8'dir). Kayan nokta dokuları için destek isteğe bağlıdır, ancak cihazların çoğu bunları destekler. Kayan nokta dokularına renderleme desteği daha nadirdir. Herhangi bir mobil cihaz kayan nokta dokusuna dönüştürmeyi destekliyorsa çok az.

WebGL2 (yeni gönderildi) ve OpenGL ES 3.0, tamsayı tabanlı doku ve 3D dokular dahil olmak üzere bir ton yeni doku formatı ekledi. 2 gücü olmayan doku sınırlarını kaldırdı. Dönüşüm geribildirimi (köşe gölgelendiricisinin bir arabelleğe yazma yeteneği) ekledi. Ayrıca, oklüzyon sorguları eklendi. Köşe Dizisi Nesneleri standarttır (WebGL / ES 3.0'da isteğe bağlıdır). Bir sürü daha küçük özellik var.

ES 3.1 (ve muhtemelen bir sonraki WebGL sürümü) hesaplama gölgelendiricileri (bir parça gölgelendiricinin rasgele erişim yazma becerisi) ekler. Fragman gölgelendiricileri yalnızca şu anda kendilerinden istenen parçaya / piksele yazabilirken, gölgelendiricileri hesaplayabilir ve istedikleri yere yazabilir.

Başka hangi özellikleri kullanmak istediniz?

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.