Grafika Komputer - Membuat Kombinasi Bangun
Haloooo udah lama gak update nih ^_^, nah kali ini saya akan membahas bagamana membuat kombinasi dari beberapa bangun yang tersusun, contohnya seperti yang ada dibawah.
yuuuk langsung saja, Yoshhhh.
Coding
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <glut.h> \\enam libary tersebut harus ada karena sangat penting dalam program kali ini, terutama glut.h
void Primitif(){ \\prosedur untuk membuat garis.
glClear(GL_COLOR_BUFFER_BIT); \\membersihkan layar.
glBegin(GL_LINE_LOOP); \\memulai membuat garis.
glVertex2f(-0.1,0);//kotak balok depan
glVertex2f(0.2,0);
glVertex2f(0.2,0.4);
glVertex2f(-0.1,0.4);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP);\\kotak balok samping kanan
glVertex2f(-0.1,0.4);
glVertex2f(0.2,0.4);
glVertex2f(0.4,0.6);
glVertex2f(0.1,0.6);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP);\\kotak balok samping kiri
glVertex2f(0.2,0.4);
glVertex2f(0.4,0.6);
glVertex2f(0.4,0.2);
glVertex2f(0.2,0);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP);\\pyramid atas/limas depan
glVertex2f(0.2,0.9);
glVertex2f(0.2,0.4);
glVertex2f(0.4,0.6);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\pyramid atas/limas kanan
glVertex2f(0.2,0.9);
glVertex2f(0.2,0.4);
glVertex2f(-0.1,0.4);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\pyramid atas/limas kiri
glVertex2f(0.2,0.9);
glVertex2f(0.1,0.6);
glVertex2f(-0.1,0.4);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\membuat kotak persegi panjang bagian atas
glVertex2f(-0.1,0);
glVertex2f(0.1,0.2);
glVertex2f(0.1,0.6);
glVertex2f(-0.1,0.4);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\membuat kotak persegi panjang bagian kanan
glVertex2f(-0.7,0);
glVertex2f(0.7,0);
glVertex2f(0.9,0.2);
glVertex2f(-0.4,0.2);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\membuat kotak persegi panjang bagian tengah
glVertex2f(-0.7,0);
glVertex2f(0.7,0);
glVertex2f(0.7,-0.2);
glVertex2f(-0.7,-0.2);
glEnd();
glFlush();
glBegin(GL_LINE_LOOP); \\membuat kotak persegi panjang samping kiri
glVertex2f(0.9,0.2);
glVertex2f(0.7,0);
glVertex2f(0.7,-0.2);
glVertex2f(0.9,0.);
glEnd();
glFlush();
glEnable(GL_LINE_STIPPLE); \\membuat kotak persegi panjang bagian belakang patah2
glLineStipple (1, 0x00FF);
glBegin(GL_LINE_LOOP);
glVertex2f(0.9,0);
glVertex2f(0.9,0.2);
glVertex2f(-0.4,0.2);
glVertex2f(-0.4,0);
glEnd();
glFlush();
glEnable(GL_LINE_STIPPLE); \\membuat kotak persegi panjang samping kiri patah2
glLineStipple (1, 0x00FF);
glBegin(GL_LINE_LOOP);
glVertex2f(-0.7,0);
glVertex2f(-0.7,-0.2);
glVertex2f(-0.4,0);
glVertex2f(-0.4,0.2);
glEnd();
glFlush();
}
int main(int argc, char** argv){
printf("Nama
: Mackands Leonardo Octano\nNIM : 1400018012");
glutCreateWindow("POST-TEST
04 ^_^");
glutDisplayFunc(Primitif);
glutMainLoop();
}
HASIL