#include<GL/glut.h> void pencere(void) { glClearColor(1.0,1.0,1.0,1.0); glClear(GL_COLOR_BUFFER_BIT); glLineWidth(1);//çizgi kalınlıgı glPushAttrib (GL_LINE_BIT); /*glPushAttrib fonsiyonundaki parametrede yıgımlarda saklanacak tipi belirlemektedir şuan LINE glLineWidth parametresinde belilenen degerden başba bir deger almamıştır,alınan degerler yıgında saklanacaktır */ glLineWidth (5);// glLineWidth degeri degiştiriliyor glLineStipple (3, 0xff);// çizgi kesik kesik hale getiriliyor glEnable(GL_LINE_STIPPLE);//glLineStipple aktif glBegin (GL_LINES);//çizgi çiziliyor glColor3f(1.0,0.0,0.0);// iki çizim arasındaki fark anlaşılsın diye ilk renk kırmızı glVertex2f (0.4,0.4); glVertex2f (-0.4,0.4); glVertex2f (-0.6,-0.1); glVertex2f (-0.2,-0.4); glEnd (); glPopAttrib (); /*glPushAttrib teki degerler geri cagrılıyor ,glPopAttrib ten sonraki kodlara yukarıdaki degerler artık etki etmeyecektir çünki, glPushAttrib ve glPopAttrib arasında belirlenen tipe göre bilgiler yıgınlarda saklanır ve glPopAttrib ten sonra serbest bırakılır*/ glColor3f(0.0,0.0,1.0);//ikinci çizim belirginligi için mavi renk tanımlanıyor // glPushAttrib e kadar belirlenen özellikler etkindir. glBegin (GL_LINES); glVertex2f (0.3,0.3); glVertex2f (-0.3,0.3); glVertex2f (-0.5,-0.2); glVertex2f (-0.1,-0.3); glEnd (); glFlush(); } int main(int argcp,char **argcv) { glutInit(&argcp,argcv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowPosition(100, 200); glutInitWindowSize(300,200); glutCreateWindow("OpenGLTurk"); glutDisplayFunc(pencere); glutMainLoop(); return 0; }
16 Nisan 2014 Çarşamba
Öznitelikler(glPushAttrib, glPopAttrib)
Öznitelikler(glPushAttrib, glPopAttrib)
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder