OpenGL 2 veya 3 boyutlu grafikler çizmek için kullanılan bir kitaplıktır. OpenGL kitaplığı Linux,Mac OS,Windows gibi birçok işletim sistemine standart olarak gelir.
Ada,C,C++,C#,Pyhton,Perl,java gibi diller kullanılarak OpenGL kitaplığından faydalanılabilir.
Şimdi visual studio 2010 için OpenGL yi kuralım. OpenGL kullanırken ekrana pencere çizdirmek,kullanıcıdan veri almak gibi işlemleri gerçekleştirebilmek için GLUT kütüphanesine ihtiyacımız vardır.Bu kütüphaneyi buradan indirebilirsiniz.
Glutu indirdikten sonra, visual studio nun kurulu olduğu dizine giderek VC klasörünü bularak içindeki include klasörünün içine GL diye bir klasör oluşturalım.İndirdiğimiz dosya içindeki glut.h dosyasını bu klasör içine atalım.
Sonra yine VC içindeki lib klasörüne glut32.lib dosyasını atıyoruz.
Daha sonra glut32.dll dosyasını da Windows/System32 klasörü içine atıyoruz.(Eğer işletim sisteminiz 64 bit ise C:/Windows/SysWOW64/ klasörü içine atmanız gerekmektedir.)
Şimdi bir pencere yaparak içine bir üçgen çizdirelim..
Öncelikle Visual Studio 2010 u açarak File->New-> Project ile proje penceresini açarak Empty Project i seçiyoruz ve projemize bir isim veriyoruz.
Projemizi oluşturduktan sonra source files klasörüne sağ tıklayarak->New Item seçeneğini seçiyoruz ve açılan pencerede c++ File.cpp yi seçiyoruz.Ve bir isim vererek kapatıyoruz.
Daha sonra ekranımıza aşağıdaki kodları yapıştırıyoruz.
#include <stdio.h> // so we can do some output to the console
void myinit(void)
{
/* Set up attributes */
glClearColor(0.0, 0.0, 0.0, 0.0); /* black background */
/* set up viewing projection*/
/* 500 x 500 window with origin lower left */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 500.0);
glMatrixMode(GL_MODELVIEW);
}
void display( void )
{
glClear(GL_COLOR_BUFFER_BIT); //clear the window
glColor3f(1.0, 0.0, 0.0); // draw in red
// Set up model/viewing transformation
glPointSize(5.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
// Draw whatever primitives are desired
glBegin(GL_POLYGON);
glVertex2f(250, 250);
glVertex2f(100,100);
glVertex2f(375, 56);
glEnd();
printf("executing display"); /*just to show when display() is called*/
glFlush(); /* clear buffers */
}
void main(int argc, char** argv)
{
/* Standard GLUT initialization */
glutInit(&argc,argv); //initialize GLUT
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); /* default, not needed */
glutInitWindowSize(500,500); /* 500 x 500 pixel window */
glutInitWindowPosition(0,0); /* place window top left on display */
glutCreateWindow("Hello World OpenGL Program"); /* window title */
glutDisplayFunc(display); /* display callback invoked when window opened */
myinit(); /* set attributes, viewing parameters */
glutMainLoop(); /* enter event loop */
}
Şimdi kullandığımız fonksiyonları biraz açıklayalım :
MyInit() -> Şeklin koordinatları,nokta büyüklükleri,arkaplan rengi ve çizgi rengi gibi özellikler bu fonksiyonda tutulur.
Display() -> Burada oluşturacağımız image tipi yaratılır.Yani nokta,doğru,çember,polygon gibi şekilleri bu fonksiyonu kullanarak çizebiliriz.
Main() -> Window un boyutu,pozisyonu ve ismi bu fonksiyon içinde belirlenir.
glVertex2f() -> Bu fonksiyon ise çizeceğimiz şeklin noktalarını belirler.Yani glBegin(GL_POLYGON); yerine glBegin(GL_POINTS); yazarsanız şeklin noktalarını görebilirsiniz.
Kodumuzu çalıştırdığımızda ise (ctrl+f5) çıktımız şu şekilde olacaktır :


