16 Nisan 2014 Çarşamba

Yüzeylerin Secimi(glCullFace)

Yüzeylerin Secimi(glCullFace)

#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);
/*
GL_CW   :saat yönünde çizim

GLCCW  :saatin tersi yönünde çizim
*/
glCullFace(GL_BACK);//ters(arka yuz) çizimler pasifleştiriliyor
glEnable(GL_CULL_FACE);
glPolygonMode(GL_FRONT, GL_LINE);
glFrontFace(GL_CW);//GL_LINE saat yönude arka yuzde görünecektir
glViewport(0,0,180,180);//sol alt 
kare();

//çizim glFrontFace(GL_CCW) ön yuzun çizim gercekleştigi için çizimn görünmektedir.
glPolygonMode(GL_FRONT, GL_LINE);
glFrontFace(GL_CCW);//GL_LINE saatin tersi yönünde ön yuzde görünecektir
glViewport(100,0,180,180);// sag alt
kare();


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

Hiç yorum yok:

Yorum Gönder