#include<gl/glut.h> void kare(void) { glColor3f(0.0,0.0,1.0); glBegin(GL_POLYGON); glVertex2f(0.4,0.4); glVertex2f(-0.4,0.4); glVertex2f(-0.4,-0.4); glVertex2f(0.4,-0.4); glEnd(); } void pencere(void) { glClearColor(1.0,1.0,1.0,1.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,0.0,1.0); glPointSize(3.0); glPolygonMode(GL_FRONT, GL_LINE); /*çizimde etkilenecek yuzey ve çizim şekli belirleniyor fonksiyonda GL_FRONT ön yuz seçilmiş GL_LINE çizim şekli seçilmiş*/ glViewport(0,0,130,100);//sol alt kare(); glPolygonMode(GL_FRONT, GL_FILL); /*çizimde etkilenecek yuzey ve çizim şekli belirleniyor fonksiyonda GL_FRONT ön yuz seçilmiş GL_FILL çizim şekli seçilmiş GL_FILL çizim şekli polygonun içi dolu çizilmesini saglar */ glViewport(130,0,130,100);// sag alt kare(); glPolygonMode(GL_FRONT_AND_BACK , GL_FILL); /*çizimde etkilenecek yuzey ve çizim şekli belirleniyor fonksiyonda GL_FRONT_AND_BACK hem ön hem arka yuz seçilmiştir GL_FILL çizim şekli seçilmiş*/ glViewport(0,100,130,100);//üst sol kare(); glPolygonMode(GL_FRONT, GL_POINT); /*çizimde etkilenecek yuzey ve çizim şekli belirleniyor fonksiyonda GL_FRONT ön yuz seçilmiş GL_POINT çizim şekli seçilmiş GL_POINT çizim şekli vertex köşe noktalrını belirtir.*/ glViewport(130,100,130,100);//üst sag kare(); /*çizimler de GL_FRONT ön yuz,GL_FRONT_AND_BACK ön ve arka yuz oldugu gibi sadece GL_BACK arka yuzde kullanıla bilir*/ glFlush(); } int main(int argcp,char **argcv) { glutInit(&argcp,argcv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowPosition(100, 200); glutInitWindowSize(260,200); glutCreateWindow("OpenGLTurk"); glutDisplayFunc(pencere); glutMainLoop(); return 0; }
16 Nisan 2014 Çarşamba
Polygon detayları(glPolygonMode)
Polygon detayları(glPolygonMode)
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder