Ogre Kütüphanesi Bölüm-7 Kameralar Işıklar ve Gölgeler
UstaDerslik Soru-Cevap Yararlı Araçlar
arama ikon

bilgi UstaDerslik
Bu uyari kutusudur.
Tamam
Anasayfa
İletişim
Üyeler

Ogre Kütüphanesi Bölüm-7 Kameralar Işıklar ve Gölgeler

profil
OLENVERDGRUP
BEĞEN(1)
BEĞENME(0)
GÖRÜNTÜLENME(4667)
RAPOR ET

A. TEORİK DERS


1. Kameralar
Bir sahne oluşturduğumuz zaman, bu sahneyi görüntülemek için kameraları kullanırız. Kameralar özel nesnelerdir. Kameralar çoğu zaman SN’ler gibi çalışır. setPosition, pitch, yaw, roll fonksiyonlarına sahiptir ve kamerayı bir SN’ye bağlayabilirsin. Kamera bağlı olduğu anne SN’ye göre işlem yapar. Hareket ettirme ve döndürme işlemlerinin tümü için kamerayı bir SN gibi düşünebilirsin.

Bir sahnede birden çok kamera oluşturulabilir. Sahneye farklı açılardan bakan belirlediğimiz noktalara SN’ler tanımlarız. Sahnenin bir parçasını görüntüleme zamanı gelince kamera, sahnede belirlediğimiz ilgili SN’ye bağlanır. Temel olarak işlem bu şekildedir. Bu derste tek kamera kullanacağız. Çoklu kamera kullanımına ilerleyen derslerde değineceğiz.

2. Viewport (GörüntüKapısı)
Çift kamera ile çalışmaya başladığınızda, Viewport sınıfının konsepti daha yararlı olacaktır. OGRE ortamında aynı anda birden çok SM ile çalışmak mümkündür. OGRE split screen sistemini mümkün kılar. Ekranda farklı alanlar için farklı kameraları renderleyebilir. Tüm bunların nasıl yapıldığını ilerleyen derslerde anlatacağız.

OGRE’nin bir sahneyi genel olarak şu şekilde renderler: SM, sahneyi görüntülemek için kamerayı oluşturur. RenderWindow sınıfının nesnesine, hangi kameranın renderleneceği ve kameradan gelen görüntünün, pencerenin hangi kısmına yerleştirileceği belirtilir.

Viewport’umuz, RenderWindow’a renderlenmesi için belirttiğimiz kameramızdır. Şimdilik bu şekilde düşünebilirsiniz.

http://ustaderslik.com/resim/ders/t8349.png

Yukarıdaki görselde kameramızın çalışma sistemine değinilmiştir. “Front clipping plane” ismiyle geçen düzlem yakın kırpma mesafesi olarak adlandırılır ve setNearClipDistance fonksiyonuyla kurulur. Resimde, “Back clipping plane” ismiyle geçen düzlem uzak kırpma mesafesi olarak adlandırılır ve setFarClipDistance fonksiyonuyla kurulur. Bu iki düzlem arasında kalan prizma parçası “Viewing frustum” olarak isimlendirilmiştir. Anlamı görüntüleme prizma parçası olarak ifade edilebilir. Kameramızın renderlediği nesneler, bu iki düzlem tarafından oluşturulan görüntüleme frustumunun içinde kalan nesnelerdir. Resimdeki isimleriyle, “Front clipping plane” ve “Back clipping plane” düzlemleri işleme sokulur. Sonra düzlemler arasındaki nesnelerin köşe koordinatları, bu iki düzlemin işleminden elde edilen sonuçla işleme sokulur. Bunlar ve ek birkaç hesaplama sonucunda sahnemizin fotoğrafı diyebileceğimiz Viewport görüntüsü elde edilir.

3. Yakın ve Uzak Kırpma Mesafeleri
Bir önceki paragrafta da bahsettiğimiz düzlemlerin renderleme açısından işlevlerinin neler olduğunu biraz daha açalım. Yakın kırpma mesafesini kurduğumuzda, bu mesafeye kameramız arasında kalan nesneler renderlenmez. Uzak kırpma mesafesini kurduğumuzda da uzak kırpma mesafesinden sonra gelen nesneler renderlenmez. Kamera sadece yakın ve uzak kırpma mesafelerinin arasında kalan alandaki nesneleri renderler. Çok uzağı gösteren bir sahne üzerinde çalışıyorsanız, yakın ve uzak kırpma mesafelerini kullanarak daha yüksek kare oranı elde edebilirsiniz.

Uzak kırpma mesafesi ise setFarClipDistance fonksiyonuyla kuruluyor. Ama Stencil Gölgeleri kullanacaksan, uzak kırpma mesafesini kullanmamalısın. Bu derste biz de Stencil Gölge kullanacağız.

4. Gölge Teknikleri
Nesnelerin ışık kaynaklarından gönderilen ışınlarla gölge dökümleri elde edilir. Gölge döküm tekniklerini birbirinden farklı kılan nasıl işlendiğidir. Başka bir ifadeyle renderlenme şeklidir. OGRE, üç tür gölge tekniği destekler:

Modulative Texture Shadows
(Ogre::SHADOWTYPE_TEXTURE_MODULATIVE)
Üç gölge türü arasında hesaplaması en basit olan gölge türüdür. Gölge dökümünde siyah beyaz render-to-texture oluşturur. Sonra sahneye uygular.

Modulative Stencil Shadows
(Ogre::SHADOWTYPE_STENCIL_MODULATIVE)
Bu teknik saydam olmayan bütün objeleri sahnede renderledikten sonra bir modülasyon olarak gölge hacimlerini renderler. Bu, Additive Stencil Shadows gibi yoğun değildir ama tam düzgün de çalışmaz.

Additive Stencil Shadows
(Ogre::SHADOWTYPE_STENCIL_ADDITIVE)
Bu teknik bütün ışıkları renderler ve her birinin oluşturduğu etkiyi sahneye ayrı ayrı uygular. Bu teknik ekran kartları için çok zordur, çünkü her eklenen ışığın etkisi sahneye renderleme gerektirir.

5. Işık Türleri
http://ustaderslik.com/resim/ders/t834k.png
http://ustaderslik.com/resim/ders/t834n.png
http://ustaderslik.com/resim/ders/t834r.png /> OGRE, üç farklı ışık türünü destekler:

Point Light
(Ogre::Light::LT_POINT)
Point Light, noktasal ışık kaynağıdır. Etrafına ışık saçar.

Spotlight
(Ogre::Light::LT_SPOTLIGHT)
SpotLight, stüdyolarda kullanılan spot ışığının aynısıdır. Ya da bir el feneri olarak düşünebilirsiniz. SpotLight ışık etkisi, iç içe geçmiş iki daire şeklindedir. Merkezdeki daire üstüne düştüğü yüzeyi aydınlatırken, dış daireye doğru aydınlatma etkisi silikleşir, yani azalır.
http://ustaderslik.com/resim/ders/t834w.png

Directional Light
(Ogre::Light::LT_DIRECTIONAL)
Şiddeti yüksek bir Directional Light’ı güneş olarak, şiddeti düşük bir Directional Light’ı ay olarak düşünebilirsiniz. Kendine dönük olan tüm yüzeylerin üstüne güçlü bir ışık etkisi oluşturur.

6. Diffuse ve Specular Renkleri
Bir ışık oluşturmadan önce bilmemiz gereken önemli iki işlem daha var. Bunlar, ışığın Diffuse ve Specular renklerini kurmaktır. Diffuse rengini ışığın etki ettiği alanda oluşturduğu kendi rengidir. Specular rengi ise ışığın dolaylı olarak, yansıyarak etki ettiği alanda oluşturduğu parlama rengidir.

http://ustaderslik.com/resim/ders/t834z.png



Kod
Kalın
Vurgu
Resim
Video
Url
CEVAPLA
Tüm Hakları Saklıdır. ©Arleone 2013-2014 UstaDerslik






Giriş
Şifremi Unuttum...
Şifre Talep
  Kuralları Kabul Ediyorum.
Kaydol