#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