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
No comments:
Post a Comment