#include <GL/glut.h>
#include <math.h>//matematik fonksiyonlarının barındığı kütüphane
float nokta;
void ciz(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);//GL_POLYGON olmassa olmaaaaaaaaaaaaz(Bence:))
glColor3f(1,0,0);//renk belirtiyoruz(kırmızı)
for(nokta=0;nokta<8;nokta=nokta+0.1)//basit harmonik hareket yapabilmemiz için kontrol değerleri üreticimiz:)
{//döngüde
glVertex2f(cos(nokta),sin(nokta));//basit harmonik hareket denklemimiz
}//döngü bitti
glEnd();
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(400,400);
glutCreateWindow("Dolu pencere\"iki boyutlu\"");
glutDisplayFunc(ciz);
glutMainLoop();
return 0;
}
#include <GL/glut.h>
#include <math.h>
float aci=0;//açı belirledik
void ciz(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();//kimliğe dön
glTranslatef(0.5,0,0);//ötele
glRotatef(aci,0,0,1);//döndür
glScalef(0.5,0.5,0.5);//küçült
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glVertex2f(-0.5,-0.5);
glEnd();
glutSwapBuffers(); //arka tampona geç
}
void arkaciz(void)
{
aci+=.1;//açı her döngüde artsın (0.1 kadar)
glutPostRedisplay();//sıra ön tamponda
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);// eeeeeey glut:D
glutInitWindowSize(400,400);
glutCreateWindow("Çift Tampon Örneği\"");
glutDisplayFunc(ciz); //ön tampon belirle
glutIdleFunc(arkaciz);//arka tampon belirle
glutMainLoop();
return 0;
}
#include <GL/glut.h>
#include <math.h>
float aci=0;
void ciz(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //derinlik temizleme sabitini de ekliyoruz GL_DEPTH_BUFFER_BIT
glLoadIdentity();
glTranslatef(0.5,0,0);
glRotatef(aci,1,0,1);//x ekseni ve z eksenlerinde döndürüyoruz
glScalef(0.5,0.5,0.5);
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex3f(-0.5,0.5,0); //fazladan z(derinlik noktası koyduk glVertex3f(x,y,z)
glVertex3f(0.5,0.5,0);
glVertex3f(0.5,-0.5,0);
glVertex3f(-0.5,-0.5,0);
glEnd();
glutSwapBuffers();
}
void arkaciz(void)
{
aci+=.1;
glutPostRedisplay();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA|GLUT_DEPTH);//derinlik kullanmak için GLUT_DEPTH ekledik
glutInitWindowSize(400,400);
glutCreateWindow("\"3. Boyut\"");
glutDisplayFunc(ciz);
glutIdleFunc(arkaciz);
glutMainLoop();
return 0;
}
#include <GL/glut.h>
#include <stdlib.h>
static void
resize(int width, int height)
{
const float ar = (float) width / (float) height;
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-ar, ar, -1.0, 1.0, 2.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity() ;
}
static void
display(void)
{
const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
const double aci = t*90.0;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0,0,-5);
glRotatef(aci,1,0,1);//x ekseni ve z eksenlerinde döndürüyoruz
glScalef(0.5,0.5,0.5);
glColor3f(1,0,0);
//GL_TRIANGLES verilen noktalardan üçgen oluşturur
//36 tane glVertex3f
glBegin(GL_TRIANGLES);
glColor3f(1,0,0);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glColor3f(1,0,1);
glVertex3f(1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glColor3f(1,1,0);
glVertex3f(1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glColor3f(0,1,0);
glVertex3f(1.0f, 1.0f,-1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glColor3f(0,1,1);
glVertex3f(-1.0f,-1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glColor3f(1,0,0.5);
glVertex3f(1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f,-1.0f);
glColor3f(1,0.5,0);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f,-1.0f, 1.0f);
glVertex3f(1.0f,-1.0f, 1.0f);
glColor3f(1,0.5,0.5);
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(1.0f, 1.0f,-1.0f);
glColor3f(0.5,0,0);
glVertex3f(1.0f,-1.0f,-1.0f);
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(1.0f,-1.0f, 1.0f);
glColor3f(0.5,0,1);
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glColor3f(0.5,1,0);
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f,-1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glColor3f(0.5,0.5,0.5);
glVertex3f(1.0f, 1.0f, 1.0f);
glVertex3f(-1.0f, 1.0f, 1.0f);
glVertex3f(1.0f,-1.0f, 1.0f);
glEnd();
glutSwapBuffers();
}
static void key(unsigned char key, int x, int y)
{
switch (key)
{
case 27 :
case 'q':
exit(0);
break;
}
glutPostRedisplay();
}
static void
idle(void)
{
glutPostRedisplay();
}
int
main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(640,480);
glutInitWindowPosition(10,10);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("3B Kutu");
glutReshapeFunc(resize);
glutDisplayFunc(display);
glutKeyboardFunc(key);
glutIdleFunc(idle);
glClearColor(1,1,1,1);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glutMainLoop();
return EXIT_SUCCESS;
}