2 ve 3 Boyutlu Grafikler

Şekilde gördüğünüz gibi uzay üç boyutludur.Ancak bizim çizdiğimiz üçgen iki boyutlu olduğu için üçüncü kordinat numaraları 0.0 dır.Çünkü üçüncü boyut olan z ekseninde herhangi bir nokta çizmedik sadece x ve y eksenlerini kullandık.
Şekildeki üçgeni çizen programı yazalım ;


Kamera İle Görüntüleme

Fotoğrafların 2 boyutlu videolarında üç boyutlu olduğunu biliriz.Eğer animasyonlar yapmak istiyorsak üç boyutlu OpenGL projeleri yapmalıyız.Yanlız dikkat etmemiz gereken bir nokta var 3 boyutlu bir çizim yapacakken bir kamera kullanmalıyız kamera kullanırken şu üç adımı izlemeliyiz ;
Adım bir : İlk başta gluLookAt(); fonksiyonu ile kamera yönü ve konumu belirlenir.
Adım iki : Nasıl bir projeksiyon oluşturcağımızı ilk başta belirlemeliyiz.İki tür projeksiyon çeşidimiz var ; Ortografik projeksiyon ve perspekti projeksion.Ortografik projeksiyon oluşturacağımız zaman glOrtho() fonksiyonunu kullanırız ancak perspektif projeksiyon kullancağımız zamanda gluPerspective() fonksiyonunu kullanırız.
Adım üç : Final adımımızda ise kameranın ekranımızda nasıl görüntüleneceğini ve bizim nasıl göreceğimizi ayarlarız.Bunun için glViewport() fonksiyonu kullanılır.
Standart olarak OpenGl programlarımızda kameramız dönüşüm matrixlerini kullanır.
OpenGL de modelview matrix,M; ve projeksiyon matrix,P olmak üzere iki tür matrix vardır.Yukarıda adımlardan bahsetmiştik.İşte ilk adımda modelview matrix ikinci adımda ise projeksiyon matrix kullanılır.Modelview matrix kamerayı kullanırken dünya kordinatlarını kullanır.
Kameraları hareketli bir biçimde kullandığımız için kordinatları değiştireceğimiz zaman bazı ayarlamalar yapmamız gerekecek.Bu sırada işte modelview ve projeksiyon matrixler arasında bazı değişimler meydana gelecek bu gibi durumlar için bir formül geçerli ;
Çizime başlanan kordinat : c
modelview matrix : M
projeksiyon matrix : P
Yeni kordinat : c’
Formülümüz ise ;

Teknik ayrıntıları bilmeden yeni şeyleri yapamyacağımız için bu konu önemlidir dikaktli okuyup anlamadığınız yerleri internette araştırmanızı yada yorumla belirtmenizi öneririm.