Professional Documents
Culture Documents
01 Opengl
01 Opengl
OpenGL Uygulamalar
1. Giri
OpenGL, en yaygn kullanlan grafik programlama ktphanesidir. Hzl ve basit bir
ekilde etkileimli, 2B-3B bilgisayar grafik programlar yapmanza olanak salar. Kullanm
alan ok yaygndr ve bilgisayar grafiklerinin hemen hemen tm alanlarnda yaygn olarak
kullanlr. Baz kullanm alanlar: aratrma, bilimsel grselletirme, elence ve grnt
efektleri, bilgisayar destekli tasarm, etkileimli oyunlar...
OpenGL, donanm-bamsz bir arayzdr. Grntde bulunan nesneleri tanmlamak
ve bu nesneler zerinde gerek duyulan ilemleri gerekletirmek iin gerekli komutlar ierir.
OpenGL in donanm-bamsz olmasnn nedeni, pencere ilemlerini (ekranda bir pencere
oluturmak gibi) yapan ya da kullancdan girdi alan herhangi bir komutunun
bulunmamasdr. Belirtilen bu ileri gerekletirmek iin varolan iletim sisteminin mevcut
zellikleri kullanlr. Ancak iletim sisteminde pencere ilemlerini gerekletirmek karmak
ilemler ierdiinden tm bu ilevleri barndran ve iletim sistemlerine zel olarak yazlm
GLUT (Graphic Library Utility) ktphaneleri bulunmaktadr.
OpenGL, 3D nesneleri tanmlamak iin yksek-seviyede komutlar iermez. Bunun
yerine; nokta, doru ve poligon gibi alt-seviye geometrik primitif (ilkel) nesneleri ierir ve bu
primitif nesneleri kullanarak karmak grafik nesneleri tanmlamamza olanak salar.
3.2. WebGL
Web sayfalar zerinde 3 boyutlu grafikler oluturmak iin kullanlan platforma
bamsz ve cretsiz bir uygulama gelitirme arayzdr. HTML 5'in web zerinde
yaygnlamasyla birlikte kullanm artmtr. Gncel internet tarayclarnn ou tarafndan
desteklenmektedir.
4. OpenGL
4.1. Kullanm Avantajlar
OpenGL kullanarak grafikler oluturmann avantajlar aada sralanmtr.
glBegin(GL_POLYGON);
glVertex2f(0.25, 0.25);
glVertex2f(0.75, 0.25);
glVertex2f(0.50, 0.75);
glEnd();
//Poligon izmeye
//1. kenin x ve
//2. kenin x ve
//3. kenin x ve
//Poligon izmeyi
bala komutu.
y bileenleri
y bileenleri
y bileenleri
bitir komutu.
[1
0
0
0
0
1
0
0
0
0
1
0
5
0
0
1]
Model Dnm
Matrisi
[-1
-1
1
1]
Nesne Uzay Ke
Koor.
[4
-1
1
1]
Dnya Uzay
Koordinatlar
Kamera Uzay: OpenGL ktphanesi ile uzayda istenilen bir noktaya kameray
koymak ve bu noktadan istenilen bir yne istenilen ayla bakmak iin kullanlr. Dnya
uzayndan kamera uzayna dnm iin view matrisler kullanlr.
Projection Space: 3 boyutlu kamera uzay zerindeki grntlerin 2 boyutlu ekranda
grntlenecek biime dntrlmesi iin kullanlr. Gnmzde, 3 boyutlu holografik
ekranlara sahip olmadmzdan bu dnm gereklidir. Dnm iin projection matrisleri
kullanlr.
Aada, OpenGLde kullanlan tm koordinat sistemleri ve dnm ilemleri
gsterilmitir.
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glTranslatef(5.0, 5.0, 5.0);
KupCiz();
rnein, izilen bir modeli y ekseni etrafnda saat ynne, 135 derece dndrmek
istenirse, aadaki kod bu ilemi gerekletirir. Burada y argmann ald 1.0 deeri, y
ekseni yndeki birim vektr belirtmektedir. stenilen eksene gre dndrme ilemini yapmak
iin sadece birim vektr belirtmek gerekir.
glRotatef(135.0, 0.0, 1.0, 0.0);
ve eye
belirlenmitir.
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
8
5. Deney Hazrl
Bu blm, deneye gelmeden nce her renci tarafndan yaplmas gereken maddeleri
iermektedir.
1. Deneye gelmeden nce Microsoft Visual C++ 2010 Express program kurulmaldr.
http://www.microsoft.com/visualstudio/tur/downloads#d-2010-expres adresinden veya
blmmzn DreamSpark Premium sayfasndan indirebilirsiniz.
2. Ek-1de verilen admlar takip edilerek Microsoft Visual C++ 2010 Express
programna gerekli ktphaneler eklenmelidir.
3. Deneyde verilen uygulama kodlar Ek-1'de anlatld gibi ide zerinde
altrlmaldr.
4. Deney fy dikkatlice okunmal ve deneye hazrlk sorular cevaplanmaldr. Deney
uygulama ynergesinde gerekli aklamalar bulunmaktadr.
7. Deney Sorular
1. OpenGL nedir? Ne iin kullanlr? Kullanm avantajlar nelerdir? OpenGL
kullanlarak gelitirilen uygulamalar aratrnz.
2. OpenGL ES veya WebGL ile gelitirilmi gncel bir ka rnek uygulama
aratrnz.
3. GLUT nedir? Ne iin kullanlr?
4. 2 boyutlu drtgen ekli izen OpenGL komutlarn aklaynz.
5. Tama, dndrme ve leklendirme ilemlerinin koordinat sisteminde nasl
gerekletirildiini kat zerinde basite izerek anlatnz.
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
10
6. Dnm ilemleri farkl srada arldnda farkl izim sonular retir. rnek
veriniz ve izerek anlatnz.
7. OpenGL ile kamera grnts uygulamasnda kamera grnts almay salayan
kodlar aklaynz.
8. Deney Raporu
Deney rapor ablonu bir sonraki sayfadadr. Deney raporu el yazs ile ablon kapak
sayfas olacak ekilde hazrlanacaktr. Raporlar, bir sonraki hafta deneyine kadar teslim
edilebilir.
9. Kaynaklar
13:00-15:00
NUMARA
15:00-17:00
AD SOYAD
1. Deneyde Yaplanlar
Deneyde yaplanlar yaznz.
2. Deney Uygulamas
Deneyde gelitirmeniz istenen OpenGL uygulama kodlarn yaznz.
3. Deney Sorular
Deney sorularn cevaplaynz.
4. Kazanmlar
Deneyden kazanmlarnz ve varsa eksiklikler.
Not: Deney raporu el yazs ile bu ablon kapak sayfas olacak ekilde hazrlanacaktr.
Raporlar, bir sonraki hafta deneyine kadar teslim edilebilir.