NIM : 1818057
NAMA : Febryan Alfaridzi
MATERI : Pembentukan Obyek Garis
TUGAS : Buat sesuai gambar object primitiv dan beri isi nama window menjadi Nama
+ NIM
5.1 Tujuan
1. Praktikan mampu memahami pembuatan primitif objek openGL
2. Praktikan mampu menerapkan primitif objek menggunakan openGL
3. Praktikan mampu membuat gabungan dari obejk primitive menggunakan openGL
void main()
{
glutInitWindowPosition(100, 100);
glutInitWindowSize(640, 640);
glutCreateWindow("Febryan Alfaridzi 1818057");
gluOrtho2D(-350, 350, -350, 350);
glutDisplayFunc(gabung);
glutMainLoop();
}
ObyekGaris.h
#include <stdio.h>
#include <glut.h>
void drawLine1()
{
glBegin(GL_POLYGON);
glVertex2d(50, 0);
glVertex2d(100, 50);
glVertex2d(100, 100);
glVertex2d(0, 200);
glVertex2d(-100, 100);
glVertex2d(-100, 50);
glVertex2d(-50, 0);
glVertex2d(0, -50);
glVertex2d(0, -100);
glVertex2d(0, -50);
glVertex2d(-50, 0);
glVertex2d(-100, -50);
glVertex2d(-100, -100);
glVertex2d(0, -200);
glVertex2d(100, -100);
glVertex2d(100, -50);
glEnd();
glFlush();
}
void drawLine2()
{
glBegin(GL_POLYGON);
glVertex2d(250, 0);
glVertex2d(300, 50);
glVertex2d(300, 100);
glVertex2d(200, 200);
glVertex2d(100, 100);
glVertex2d(100, 50);
glVertex2d(150, 0);
glVertex2d(100, -50);
glVertex2d(100, -100);
glVertex2d(200, -200);
glVertex2d(300, -100);
glVertex2d(300, -50);
glEnd();
glFlush();
}
void drawLine3()
{
glBegin(GL_POLYGON);
glVertex2d(-150, 0);
glVertex2d(-100, 50);
glVertex2d(-100, 100);
glVertex2d(-200, 200);
glVertex2d(-300, 100);
glVertex2d(-300, 50);
glVertex2d(-250, 0);
glVertex2d(-300, -50);
glVertex2d(-300, -100);
glVertex2d(-200, -200);
glVertex2d(-100, -100);
glVertex2d(-100, -50);
glEnd();
glFlush();
}
void garisatas1()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(0, 100);
glColor3f(1, 0, 0);
glVertex2d(0, 50);
glColor3f(1, 0, 0);
glVertex2d(50, 0);
glColor3f(1, 0, 0);
glVertex2d(100, 50);
glColor3f(1, 0, 0);
glVertex2d(100, 100);
glEnd();
glFlush();
}
void garisatas2()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(200, 100);
glColor3f(1, 0, 0);
glVertex2d(200, 50);
glColor3f(1, 0, 0);
glVertex2d(250, 0);
glEnd();
glFlush();
}
void garisatas3()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(-200, 100);
glColor3f(1, 0, 0);
glVertex2d(-200, 50);
glColor3f(1, 0, 0);
glVertex2d(-150, 0);
glColor3f(1, 0, 0);
glVertex2d(-100, 50);
glVertex2d(-100, 100);
glEnd();
glFlush();
}
void garisbawah1()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(0, -100);
glColor3f(1, 0, 0);
glVertex2d(0, -50);
glColor3f(1, 0, 0);
glVertex2d(-50, 0);
glColor3f(1, 0, 0);
glVertex2d(-100, -50);
glColor3f(1, 0, 0);
glVertex2d(-100, -100);
glEnd();
glFlush();
}
void garisbawah2()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(200, -100);
glColor3f(1, 0, 0);
glVertex2d(200, -50);
glColor3f(1, 0, 0);
glVertex2d(150, 0);
glColor3f(1, 0, 0);
glVertex2d(100, -50);
glColor3f(1, 0, 0);
glVertex2d(100, -100);
glEnd();
glFlush();
}
void garisbawah3()
{
glBegin(GL_LINE_STRIP);
glColor3f(1, 0, 0);
glVertex2d(-200, -100);
glColor3f(1, 0, 0);
glVertex2d(-200, -50);
glColor3f(1, 0, 0);
glVertex2d(-250, 0);
glEnd();
glFlush();
}
void gabung()
{
glClear(GL_COLOR_BUFFER_BIT);
drawLine1();
drawLine2();
drawLine3();
garisatas1();
garisatas2();
garisatas3();
garisbawah1();
garisbawah2();
garisbawah3();
}
Tampilan Hasil :