Kamis, 12 Mei 2016

Cara Membuat Gambar Tumpukkan Balok - Kubus - Limas kategori Primitif mengggunakan OpenGL

Praktikum ke - 3 Grafika Komputer
Cara Membuat Gambar Tumpukkan Balok - Kubus - Limas kategori Primitif menggunakan OpenGL 

Semangat pagi ! 
Pada jumat pagi yang sejuk ini saya akan membagikan program OpenGL tentang Gambar Tumpukkan Balok - Kubus - Limas kategori Primitif. Sebenarnya program ini cukup mudah, hanya saja sebelum membuat programnya maka kita perlu membuat koordinatnya terlebih dahulu dengan mempertimbangkan keluwesan gambar tersebut. ibarat kata, ya masa kita mau bikin kubus kok bentuknya jadi balok kan ngga lucu. HAHAHA *ketawa maksa* :D :D :D

ok, langsung aja ini source code programnya gaess.. 
cekidoott...

source code : 

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <GL/glut.h> //GL ini dipakai jika coding menggunakan Dev C++, tapi jika kita pakai Microsoft Visual Studio maka hanya   #include <glut.h>    saja.

#define bkl(x1,y1,x2,y2,x3,y3,x4,y4) glBegin(GL_LINE_LOOP); glVertex2f((x1),(y1)); glVertex2f((x2),(y2));\
glVertex2f((x3),(y3)); glVertex2f((x4),(y4));glEnd();
#define bkl2(x1,y1,x2,y2) glBegin(GL_LINES); glVertex2f((x1),(y1)); glVertex2f((x2),(y2)); glEnd();

void BalokKubusLimasPrimitip(){
glClear(GL_COLOR_BUFFER_BIT);
// Garis Lurus Bersambung
glColor3f(1.5, 0.1, 0.5); // memberikan warna pink pada gambar
bkl(-0.6, -0.3, -0.6, -0.2, 0.6, -0.2, 0.6, -0.3); //B1-B2, B3-B4
bkl(-0.6, -0.2, -0.4, -0.05, 0.8, -0.05, 0.6, -0.2); //B2-B6 B7-B3
bkl(0.6, -0.3, 0.6, -0.2, 0.8, -0.05, 0.8, -0.15); //B4-B3 B7-B8
bkl(-0.2, -0.2, -0.2, 0.2, 0.2, 0.2, 0.2, -0.2); //K1-K2 K3-K4 
bkl(0.0, -0.05, 0.0, 0.35, 0.4, 0.35, 0.4, -0.05); //K5-K6 K7-K8 
bkl(-0.2, 0.2, 0.0, 0.35, 0.4, 0.35, 0.2, 0.2); //K2-K6 K7-K3 
bkl(-0.2, -0.2, 0.0, -0.05, 0.4, -0.05, 0.2, -0.2); //K1-K5 K8-K4 
glColor3f(0.1, 1.0, 0.5); // memberikan warna hijau pada gambar
bkl(-0.2, 0.2, 0.1, 0.7, 0.0, 0.35, 0.1, 0.7); //K2-L K6-L //sisi limas
bkl(0.4, 0.35, 0.1, 0.7, 0.2, 0.2, 0.1, 0.7); //K7-L K3-L //sisi limas
//Garis putus-putus strip
glEnable(GL_LINE_STIPPLE);
glLineStipple(1, 0x00FF); 
glColor3f(1.5, 0.1, 0.5); // memberikan warna pink pada gambar
bkl2(-0.6, -0.3, -0.4, -0.15); //B1-B5
bkl(-0.4, -0.15, -0.4, -0.05, 0.8, -0.05, 0.8, -0.15); //B5-B6 B7-B8 // dash
glFlush();
}

int main(int argc, char** argv){
glutCreateWindow("Sri Wahyuni 1400018214");
glutDisplayFunc(BalokKubusLimasPrimitip);
glutMainLoop();

}

keterangan : 
pada source code di atas, saya mengelompokkan setiap garis ke dalam jenis garisnya. jadi, garis yang tipe nya lurus bersambung (tidak putus-putus) mereka dikelompokkan menjadi satu. sedangkan garis yang putus-putus juga dikelompokkan dengan garis putus-putus lainnya meskipun itu beda bangun. 

hasil running :

 

Sekian postingan saya kali ini. Semoga bermanfaat. Selamat beraktivitas! :D 

Lebih Baik Sederhana Tapi Kuat - daripada Cerdas Tapi Rapuh 

0 komentar:

Posting Komentar