Kamera vs Viewport


23

Kamera koordinatları ve görüntüleme koordinatları arasındaki farkın tam olarak ne olduğunu tam olarak anlayamıyorum. Birisi lütfen netleşebilir mi?

Yanıtlar:


40

Kamera , Batman filminin çekildiği bir kamera gibidir. Sanal bir dünyada var ve farklı sahneleri hedef alarak, odak uzaklığını ve diğer kamera özelliklerini değiştirerek hareket ettirilebilir. Çok sayıda kameranız olabilir ve bunlar arasında geçiş yapabilirsiniz. Aynı anda birden fazla kamerada film çekebilirsiniz.

Tipik kamera koordinatları şunlardır: sanal dünyadaki konum, karşı yön, yukarı vektör, görüş alanı vb.

Viewport bir sinema ekranıdır. Kamera tarafından kaydedilen görüntünün gösterildiği yerdir. PC dünyasında bu, bazı pencerelerin içindeki bir alan veya tam ekran görüntü. Aynı anda birkaç kameradan gelen yayınları gösterebilirsiniz (2-4 oyuncu arasındaki konsol yarış oyunlarında olduğu gibi).

Tipik görünüm portu koordinatları: Ekrandaki konum, yükseklik ve genişlik.


0

Görüntüleme limanı koordinatları, ekranın neresine yerleştirildiğine koordinatlıdır. (Örneğin bir win32 penceresinin içinde).

Kamera koordinatları, kameranın OpenGL uygulamanızda ayarladığınız 2D / 3D alanının içinde, görünümün iç tarafında konumudur. Kamera bu görünümün dışına çıkamaz çünkü opengl'in çalışmasını yapabileceği alanda bir Win32 penceresi içindedir.


Bu tamamen doğru değil. Viewport, NDC uzayından vertex dönüşümü için pencere aralığına eşlemeyi tanımlar. GL'nin eski sürümlerinde, bu haritalama raster konum dönüşümüne de uygulanır (ancak bu kaldırılmıştır). Bununla birlikte, köşe dönüşümü ile sınırlandırılmayan birçok GL işlemi vardır ve bu nedenle görünümün dışındaki renk arabelleğini temizlemek gibi şeyler yapabilirsiniz. Aslında, bir tamponu çerçevelendiricinin belirli bir bölgesine açık bir şekilde sınırlandırmanın tek yolu, tamamen, bir makas kutusu ( glScissor (...)) adı verilen farklı bir şey kullanmaktır .
Andon M. Coleman
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.