Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

KARADENZ TEKNK NVERSTES

BLGSAYAR MHENDSL BLM


BLGSAYAR GRAFKLER LABORATUARI

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.

2. Programlama Dilleri, letim Sistemleri ve Pencere Sistemleri Seviyesi Destek


2.1. Programlama Dilleri
Bir ok uygulama gelitiricisi, OpenGL ktphanesini st seviye dillerde kullanmak
iin bu dillere has uygulama programlama arayzleri gelitirmilerdir. Bu dillerden bazlar
unlardr: Ada, Common Lisp, C#, Deplhi, Fortran, Haskell, Java, Perl, Pike, Python, Ruby,
Visual Basic...
Tartma Sorusu-1 : OpenGL ktphanesi neden herhangi bir programlama dili ile
kullanlr? Buna neden ihtiya duyulmutur? Bu diller ile kullanlmasayd OpenGL ile
uygulama gelitirme baznda neler yaplamazd? Tartnz.

KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar


1

2.2. letim Sistemleri ve Pencere Sistemleri


OpenGL, yaygn olarak kullanlan tm iletim sistemleri ve pencere sistemlerince
desteklenir. A protokolleri ve topolojilerinden tam bamszlk salar. Tm OpenGL
uygulamalarn iletim sistemi ve pencere sistemine baklmakszn herhangi bir OpenGL UPA
(Uygulama Programlama Arayz- API) uyumlu donanmda ayn grsel sonucu retir.
Desteklenen baz iletim sistemleri ve pencere sistemleri aada listenmitir:
Microsoft Windows
Apple Mac OS
Linux - Debian, RedHat, SuSE, Caldera
X Pencere Sistemi (X Window Systems - daha ok GNU/Linux ve Unix benzeri
iletim sistemlerinde kullanlan grafik arayz altyapsdr.

3. OpenGL Tabanl Baz Uygulama Gelitirme Arayzleri


3.1. OpenGL ES (OpenGL for Embedded Systems /Gml Sistemler iin OpenGL)
OpenGL ES tanabilir (mobil) cihazlar, PDA'lar, video oyun konsollar gibi gml
sistemler iin gelitirilmi 2B/3B uygulama gelitirme arayz ve grafik ileme dilidir.
Cihazlardaki szgelerin (filtreler) verimli almas iin telefon GPU'su ile bereber kullanlr.
Glut ve Glu gibi ktphaneler iermez. Telif creti gerektirmez ve platformalar aras
alabilir. Gnmzde ou modern cihaz zerinde bulunur ve bir ok uygulamada
kullanlmtr. rnein, mobil cihazlar iin gelitirilen fotoraf paylama uygulamas olan
Instagram'da OpenGL ES kullanlmtr.
OpenGL destekli baz cihazlar: Samsung tanabilir telefonlar, BlackBerry OS 7.0 ve
sonras BlackBerry cihazlar, Aplple (iPad, iPhone vs.), Google Native Client...

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.

Platform bamszdr (Windows, Linux, Mac) ve tm OpenGL UPA uyumlu


donanmlar zerinde alr.
ok eitli sistemler zerinde koulabilir. (Kiisel bilgisayarlar, i istasyonlar,
sper bilgisayarlar, gml sistemler vs.)
Sistem kaynaklarn optimum ekilde kullanr.
Bir ok programlama dili tarafndan arlarak kullanlabilir.
Kolay anlalr, hzl renilir.
erdii ilevlerin belgelendirmesi ok iyi yaplmtr ve cretsiz bol miktarda
eitici dokmana sahiptir.
IBM, Sony, Google, Intel, Samsung'un da iinde bulunduu irketler tarafndan
grafik alannda ak standartlar oluturmas amacyla desteklenir ve finanse
edilir.
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
2

4.2. Open GL Utility (GLUT)


OpenGL platformdan bamsz olduu iin baz ilemler bu kitaplk ile yaplamaz.
rnein kullancdan klavye veya fare ile veri almak, bir pencere izdirmek gibi iler hep
kullanlan pencere yneticisi ve iletim sistemine baldr. Bu yzden bir an iin OpenGL'in
platform baml olduu dnlebilir. nk alma penceresini her pencere yneticisinde
(her ortamda) farkl izdirecek bir canlandrma program yazmak demek her bilgisayarda
alacak ayr pencere ama kodu yazmak demektir. Bu ise OpenGL'in doasna aykrdr. Bu
gibi sorunlar amak iin OpenGL Ara Kiti (GLUT - OpenGL Utility Toolkit)
kullanlmaktadr. Bu yzden bu deneyde GLUT kitapl kullanlarak klavye ve fare iin
iletim sisteminden bamsz giri/k ilemleri yaplmas salanmtr.
Aada sk kullanlan baz pencere ilevleri listelenmitir :

glutInit() ilevi GLUT ilkler, dier GLUT rutinlerinden nce bu komutun


yazlmas zorunludur.
glutInitDisplayMode() ilevi renk modunu belirlemektedir.
glutInitWindowPosition() ilevi ekrann sol-st kesini baza alarak grafik
penceresinin ekrandaki yerini belirler.
glutInitWindowSize() ilevi pencerenizin bykln ayarlar.
glutCreateWindow() ilevi OpenGL conteksli bir pencere oluturur.
glutDisplayFunc() ilevi, izim penceresinin ieriinin yeniden gsterilecei
durumlarda altrlacak fonksiyonu (izim ilemlerinin yapld fonksiyon)
arr. Parametre olarak bu fonksiyonun adn alr.
glutKeyboardFunc() ve glutMouseFunc() ilevleri klavyenin veya farenin
herhangi bir tuuna basldnda altrlacak fonksiyonu arr.
glutReshapeFunc() ilevi, pencere byklnn deiecei durumlarda
altrlacak fonksiyonu arr.

4.3. OpenGL Sz dizimi


OpenGL'de her komutunun nne gl n eki getirilmektedir (rnein glBegin())
Ayn ekilde, tanmlanm OpenGL sabitlerinin nne GL n eki getirilir (rnein GL_
POLYGON). Ayrca komut bildirindeki baz ekler de bu komutlara birer anlam katmak iin
kullanlr. rnein glColor3f() komutunu incelersek, Color eki renk ile ilgili bir komut
olduunu, 3 eki 3 tane parametre aldn ve f eki ise ald parametrelerin kayan noktal say
(float) tipinde olduu anlalr.
4.4.OpenGL lkel (Primitif) Geometrik Nesneleri
lkel geometrik nesneler, OpenGLin izebildii basit nokta, izgi, poligon gibi
nesnelerdir. (ekil 1'de OpenGL ile izilebilen ilkel geometrik nesneler gsterilmitir.) Bu
geometrik nesneler koordinat bilgileri ile tanmlanrlar ve bu koordinat bilgilerine ke
(vertex) denmektedir. OpenGL bu ke bilgileri ile ilkel olan geometrik ekilleri
izebilmektedir. Fakat izilecek olan nesnenin nokta, izgi veya poligon olup olmadn
OpenGLe bildirmek gerekir. Bu bildirim glBegin fonksiyonu tarafndan gerekletirilir.
Ardndan ke bilgileri aktarlp nesnenin izimini ve izme modunun bittiini gstermek iin
glEnd fonksiyonu kullanlr. Aadaki glBegin, glEnd fonksiyonlar ve ke deerleri ile bir
poligon nesnesinin izimi gsterimektedir:

KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar


3

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.

ekil 1. lkel (Primitif ) Geometrik Nesneler


4.5. lk OpenGL Uygulamas
Programda ilk olarak bir pencere oluturulmakta daha sonra da display fonksiyonu
ayarlanmaktadr. Display fonksiyonu ierisinde de her defasnda izilecek olan grafik
izilmektedir. Bu hali ile verilen kod basit bir OpenGL programnn iskeletini
oluturmaktadr. Program altrldnda elde edilen ekran grnts ekil 2de verilmitir.
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
void ayarlar(void){
glClearColor(0.0,0.0,0.0,0.0);
glOrtho(-2.0, 2.0, -2.0, 2.0, -1.0, 1.0);
}
void display(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}

//Koordinat sistemini ayarla

// Renk buffern temizle


//Renk deeri ata
//Poligon izmeye bala
//Ke deerleri

//Poligon izimi bitir


//izim komutlarn altr

int main(int argc, char **argv){


glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB );
glutInitWindowPosition(0,0);
glutInitWindowSize(500,400);
glutCreateWindow("OpenGL Uygulamalar-I");
ayarlar();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar


4

ekil 2. lk OpenGL Uygulamas - Drtgen izimi


Tartma Sorusu-2 : main fonksiyonu ierisinde pencere oluturmak iin kullanlan
Glut ktphanesine ait pencere fonksiyonlarna gnderilen parametreleri deitirerek ortaya
kan farklar inceleyiniz. glOrtho fonksiyonu ile koordinat sistemin nasl deitirildiini
gnderilen parametreleri deitirerek gzlemleyiniz. izim nesnelerinin koordinat sisteminde
nasl yerletirildiini inceleyiniz.
4.6. OpenGL Koordinat Sistemleri ve Dnmleri
OpenGLde 3D grafik ilemlerinde birok farkl koordinat sistemi kullanlr. Bunlar
aadaki gibidir ve bir uzaydan dierine gei iin dnm matrisleri kullanlr.

Nesne Uzay (Object Space )


Dnya Uzay (World Space)
Kamera Uzay (Camera Space /Eye Space/View Space)
Ekran Uzay (Screen Space/Clip Space)

Nesne Uzay: Geometrik nesneleri olutururken nesnenin orjinine gre ke


deerlerinin hesaplanmasnda kullanlan koordinat sistemidir. rnein, sekiz kesi olan bir
kp geometrik olarak modellemek iin ke koordinat bilgileri kullanlabilir.

ekil 3. Modellenmi Kp ve Ke Deerleri


Dnya Uzay : Nesne uzaynda modellenen geometrik cisimlerin dnya koordinat
sisteminde bir konuma yerletirilmesi iin kullanlan uzaydr. Geometrik nesneler model
matrisler kullanlarak bu uzaya tanr.
rnein, balangta (0,0,0) konumundaki yukardaki kp dnya uzaynda (5, 0, 0)
koordinatlarna tamak istiyorsak kpn tm ke deerleri aadaki gibi bir model matris
ile arplmaldr. Aada, (-1, -1, 1) kesinin +x ynnde 5 birim tandnda dnya
uzayndaki yeni koordinatlar hesaplanmtr.
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
5

[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.

ekil 4. OpenGL Koordinat Sistemleri ve Dnmler


4.7. OpenGL ile Dnm (Transformation) lemleri
4.7.1. Tama (Translation)
Bu ilemin amac bir ekli mevcut konumundan bozulmadan farkl bir konuma
tamaktr. glTanslatef() ve glTranslated() fonksiyonlar bu ilemi gerekletirir. ki farkl
ekilde kullanlabilir:
void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
void glTranslated(GLdouble x, GLdouble y, GLdouble z);

rnein, bir kp koordinat sisteminin merkezinden (5, 5, 5) noktasna tamak


istenirse, ilk olarak modelview matrisini yklenmeli ve ilklenmelidir. Daha sonra
glTranslatef() fonksiyonu ile tanmaldr. Aadaki kod yapacamz ilemi gerekletirir:
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
6

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glTranslatef(5.0, 5.0, 5.0);
KupCiz();

//kp izecek fonksiyon

Tartma Sorusu-3 : glMatrixMode(GL_PROJECTION) ve glLoadIdentity ilevleri


neden kullanlmaya ihtiya duyulmutur? Modelview matrisi nedir? Aratrnz ve tartnz.
4.7.2. Dndrme (Rotating)
OpenGLde dndrme ilemi glRotate*() fonksiyonu ile gerekletirilmektedir. ki
farkl ekilde kullanlabilir.
void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);

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);

4.7.3. leklendirme (Scaling)


Modelin boyutundaki ayarlamalar yapmak iin leklendirme ilemi kullanlmaktadr.
Nesnenin boyutlar eksenlere gre byltlp kltlebilir. OpenGL'de leklendirme ilemi
glScale*() fonksiyonu ile gerekletirilir. ki farkl ekilde kullanlabilir.
void glScalef(GLfloat x, GLfloat y, GLfloat z);
void glScaled(GLdouble x, GLdouble y, GLdouble z);

x, y, z parametrelerine geirilen deerler her bir eksene gre leklendirme deerini


belirler. rnein, izilen bir modelin derinlik ve yksekliini deitirmeden, x ekseni
zerindeki geniliini 2 katna kartlmak isteniyosa, aadaki kod bu ilemi gerekletirir.
glScalef(2.0, 1.0, 1.0);

4.8.OpenGL Dnm lem ncelii


OpenGLde dnmlerin uygulanma sras dnm fonksiyonlarnn arlma sras
ile terstir. Yani izim nesnesine yakn olan dnm ilemi ncelikli olarak gerekletirilir.
rnein, aadaki kod paras arldnda, ncelikle z ekseni zerinde 45 derece
dndrme ilemi yaplm daha sonra ise x ekseni zerinde 1.5 birimlik teleme ilemi
gerekletirilmitir. (glVertex3f() izim nesnesine en yakn dnm en nce
gerekletirilmitir.)
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
7

ekil 5. Dnm Uygulanma Sras


OpenGLde farkl dnm ilem sras farkl sonular retir. rnein, aadaki
teleme ve dnme ilemleri farkl srada gerekletirilmitir ve farkl sonular reteceklerdir.

ekil 6. Dnm lem Sras ve Farkl izim Sonular

4.9. OpenGL ve Kamera Grnts


OpenGL ktphanesi ile uzayda istenilen bir noktaya kameray koymak ve bu
noktadan istenilen bir yne istenilen a ile bakmak mmkndr. Bu ilemin 3 esi bulunur:
1. Kamerann bulunduu koordinatlar
2. Kamerann bakt nokta
3. Kamerann bu eksen zerindeki as
Bu durum ksaca aadaki ekilde zetlenebilir.

ekil 7. OpenGL ile Kamera Konumu


Yukardaki ekilde de gsterildii zere kamera verilen eye , eye
x

ve eye

koordinatlarna yerletirilmi ve kamerann odak izgisi verilen at , at ve at koordinatlarna


x

yneltilmitir. Bu doru zerinde kamera istenildii gibi dndrlebilecei iin bu deeri


belirlemek iin kamerann bu eksenle yapt normal vektr de up , up , up deerleri ile
x

belirlenmitir.
KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
8

Aadaki rnekte, bir kp izdirilmi ve kpe x=3, y=3 ve z=6 kordinatlarnda


bulunan bir kamaredan baklmtr. Ekran grnts ekil 4'deki gibidir:
#include <windows.h>
#include <GL/glut.h>
void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}
void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glLoadIdentity();
gluLookAt(3.0, 3.0, 6.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glutWireCube(1.0);
glFlush();
}
void reshape(int w, int h) {
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}

ekil 8. OpenGL ile kamera grnts


KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar
9

Tartma Sorusu-4 : gluLookAt fonksiyonuna gnderilen parametreleri deitirerek


farkl alarda izim nesnesine baknz. reshape fonksiyonun hangi nedenle kullanlm
olabileceini tartnz.
Tartma Sorusu-5 : glTranslatef, glRotatef ve glScalef fonksiyonlarn ilevlerini
Tartma Sorusu-6 : Daire, silindir, daire halkas gibi geometrik ekiller izmek iin
kullanlabilecek yntemleri tartnz.

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.

6. Deney Tasarm ve Uygulamas


1. OpenGL hakknda temel bilgiler soru-cevap eklinde sorgulanr. Uygulama
alanlar ve gncel baz OpenGL uygulamalarna rnekler verilir.
2. GLUT ktphanesi nedir ve ne iin kullanlr sorular cevaplanr.
3. Kaynak Kodlar klasr ierisinde verilen uygulamalar altrlr ve incelenir.
4. Basit bir drtgen ekli izen program incelenir. Kullanlan fonksiyonlarn ilevleri
soru -cevap eklinde sorgulanr.
5. OpenGL ile ekil deitirme ilemlerinin (tama, dndrme ve leklendirme)
nasl yapld, ilem ncelii ve farkl izim sonular tartlr. OpenGLde
kullanlan koordinat uzaylar ve dnmleri incelenir.
6. OpenGL ile kamera grnts uygulamas incelenir ve gerekli tartma sorular
cevaplanr. Pareetreler deitirilerek farkl alardan kamera grnts incelenir.
lgili fonksiyonlarn ilevleri soru-cevap eklinde sorgulanr.
7. rnek bir OpenGL program renciler tarafndan gerekletirilir.

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

An Interactive Introduction to OpenGL Programming - Dave Shreiner,Ed Angel,


Vicki Shreiner
Addison Wesley, OpenGL Programming Guide, 6th Edition, 2008.
http://www.opengl.org/
http://www.khronos.org/
http://www.opengl.org/wiki/Language_bindings
http://www.opengl.org/documentation/implementations/#os
http://www.bilgisayarkavramlari.com/
http://www.lighthouse3d.com/opengl/glut/
http://nehe.gamedev.net/

KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar


11

KARADENZ TEKNK NVERSTES


BLGSAYAR MHENDSL BLM
BLGSAYAR GRAFKLER LABORATUARI
2013-2014 GZ DNEM
OPENGL UYGULAMALARI DENEY RAPORU
GRUP

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.

KT Bilgisayar Mhendislii Blm Bilgisayar Grafikleri Laboratuar


12

You might also like