Ortografik ve perspektiften başka 3D projeksiyonlar var mı? [kapalı]


22

Soru başlığında hemen hemen bir soru var. OpenGL gibi bir 3B sisteminde kullanılabilecek ortografik ve perspektif dışında kayda değer 3B projeksiyonlar var mı?

Özellikle, oyun tasarımında özel bir kullanımı olan var mı?

Yanıtlar:


23

Evet, Bir kaçını isimlendirmek için:

Pannini projeksiyonu, örneğin, geniş görüş alanlarını hoş şekillerde yakalayabilir . (tamamen sadece benim düşüncem)

Uygulama detaylarının bu özel sorunun kapsamı dışında olacağını düşünüyorum.


EDIT: Yorum için teşekkürler, Pannini'yi yanlış yazdım. Ve bu düzenlemeyi burada değerli kılmak için birkaç tane daha:

  • Paraboloid / Dual-Paraboloid (Yansımalar, gölgeler, vitraylar için kullanışlıdır)
  • Eşit biçimli (Bir kürenin dünya haritası görüntüsünü oluşturabilir)
  • Küresel
  • sinüsoidal

4
Panini projeksiyonu için +1; Bunu daha önce hiç duymamıştım. BTW, doğrusal olmayan projeksiyonlardan söz ettiğimiz sürece, çift ​​paraboloit , bazen çevre haritaları ve gölge haritaları için kullanılandır.
Nathan Reed

Çok seçici olmakla birlikte, "Panini" projeksiyonu değil, "Pannini" gibi görünüyor.
aardvarkk

Çok havalı! Bunların hepsinin doğrusal olmadığını tahmin ediyorum, Nathan Reed'in dediği gibi?
jmite

Sanırım, pratikte bunları elde etmek için büyük olasılıkla donanım mozaikleme veya görüntü işleme kullanmak zorundasınız. Düz çizgileri düz çizgilere eşleyen başka bir projeksiyon düşünmekte zorlanıyorum ama bir şey bulursam bu cevaba ekleyeceğim.
MickLH

Muhtemelen yoktur, bu tam olarak düşündüğüm türden bir düşünce!
jmite

15

Bu, "OpenGL gibi bir 3D sistemde kullanılabilecek" ile ne demek istediğinizi temel alır. :)

Kısacası, 3B grafik donanımı ve OpenGL gibi API'ler yalnızca doğrusal projeksiyonlarla - dünyadaki düz çizgileri görüntüdeki düz çizgilere eşleyen projeksiyonlarla doğru bir şekilde ilgilenir . Hiçbir şeyi kavisli bir şekle çarpıtmazlar (başlangıçta kavisli olmadığı sürece). Bunun nedeni, GPU'ların ekranda doğru şekilde rasterleştirilmesi için düz kenarlı üçgenlere bağlı olmasıdır.

Kendimizi doğrusal projeksiyonlarla sınırlarsak, çok fazla seçenek yoktur. Standart orto ve perspektife ek olarak, görüş frustumunun kesilmesiyle elde edilen "merkez-dışı" farklılıklar da vardır.

  • Merkez dışı bir orto projeksiyona eğik projeksiyon denir ve çoğunlukla mühendislik şemaları için kullanılır, ancak oyunlarda pek görünmez.
  • Merkez dışı perspektif projeksiyonları stereo 3B görüntülemede kullanılır , çünkü sol ve sağ göz görünümlerinin bir nesneye odaklanmak yerine döndürmek yerine fritözleri keserseniz beyninde daha iyi sigortalandığı ortaya çıkar.

Bu projeksiyonlar normal 4x4 projeksiyon matrisi ile temsil edilebilir ve problemsiz bir 3D API'de kullanılabilir.

Sonra, düz çizgilerin düz çizgilere eşlenmesi sınırlaması olmayan doğrusal olmayan çıkıntılar vardır; şeyleri eğrilere çarpıtmalarına izin verilir. Bunlar arasında silindirik, küresel, çeşitli balıkgözü türleri ve diğerleri de dahil olmak üzere pek çok şey var.

Doğrusal olmayan projeksiyonlarda, projeksiyon matrisini kullanamazsınız; Projektörü bir şekilde gölgelendiriciler kullanarak kendiniz uygulamalısınız. Bir yol, köşe başına çıkıntı yapmak için özel bir köşe gölgelendirici yazmaktır. GPU, köşeler arasında düz çizgiler olan üçgeni yine de çizer, bu nedenle küçük üçgenler düzeltmeye oldukça yakın olurken, büyük üçgenler gözle görülür şekilde yanlış olacaktır. Bu sorunlara neden olabilir ve doğru şekilde işlenmesi için geometrinin çok ince bir şekilde bölünmesi gerekebilir.

Doğrusal olmayan bir izdüşüm elde etmenin ikinci bir yaklaşımı, sahneyi önce normal bir perspektif izdüşümü kullanarak (belki de her bir küp yüzü için perspektif izdüşümü olan bir küp haritasına) kullanarak yapmak, ardından istenen yüzeye yeniden örneklemek için bir işlem sonrası piksel gölgelendirici uygulamaktır. doğrusal olmayan izdüşüm. Bu, geometri değişikliklerine gerek duymama avantajına sahiptir, ancak gereken ekstra işleme çalışması nedeniyle daha pahalı olabilir ve ilk geçiş işleminin yeteri kadar çözünürlüğü yoksa, bazı bölgelerde sonuç bulanık olabilir. İşlem sonrası yaklaşım, Oculus Rift oyunları tarafından, örneğin Rift'in lensleriyle çalışması için gereken lineer olmayan projeksiyonu uygulamak için kullanılır.


1

İnanamıyorum ama hiç kimse çok yaygın olan İzometrik Projeksiyondan bahsetmedi .


11
Bildiğim kadarıyla, izometrik projeksiyonlar, diğer iki projeksiyon tipinin, ortografik ve perspektif belirli kullanım durumlarıdır. Örneğin, belirli bir açıda manzaraya sahip bir dik izdüşüm size izometrik bir kamera verir.
Grimshaw
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.