Apa si C++
& OpenGL itu, C++ aplikasi tingkat
menengah dari perkembangan program C dan memiliki kompiler yang tidak sama.
OpenGL yang yaitu aplikasi interface untuk mendefinisikan komputer grafis 2D
dan 3D , dan aplikasi ini untuk memberikan hasil koleksi perintah khusus pada sistem operasi.
#include
<windows.h>
#include
<iostream.h>
#include
<gl/gl.h>
#include
<stdio.h>
#include
<gl\glu.h>
#include
<gl\glaux.h>
#include
<gl\glut.h>
Include
dalam C++ ini salah satu pengarah processor Directive yang tersedia pada
C++, sedangkan Include ini sebagai
kompiler untuk menyisipkan file untuk mendeklarsikan , seperti contoh diatas ada
yang sering kita dengar di C++ yaitu #include <iostream.h> dan
#include<stdio.h> , .h ini sebagai
header file yang di deklarasikan.
void
sumbu(){
glPushMatrix();
glBegin(GL_LINES);
glVertex3f(0,0,0.0);
glVertex3f(0,1,0.0);
glVertex3f(0,0,0.0);
glVertex3f(1,0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPopMatrix();
glEnd();
glFlush();
}
·
Disini ada
Fungsi main ( ) ,dimana fungsi ini sebagai fungsi eksekusi awal dan akhir pada
program C++.
void
Diagonal()
{
float
a,b,c,d;
cout<<"Masukkan
Xo :";
cin>>a;cout<<"Masukkan
Yo :";
cin>>b;cout<<"Masukkan
X1 :";
cin>>c;cout<<"Masukkan
Y1 :";
cin>>d;
glPushMatrix();
glBegin(GL_LINES);
glVertex3f(a+0.5,b+0.5,0.0);
glVertex3f(c+0.5,d+0.5,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glPopMatrix();
glEnd();
glFlush();
}
·
Di sini
hampir banyak tanda semilicon atau dapat di katakan titik koma ( ; ) , fungsi
ini sebagai mengakhiri sebuah pernyataan
dan pernyataan tersebut harus di akhiri dengan titik koma.
·
Cout di sini
berfungsi sebagai perintah keluaran pada C++.
·
{ dan } tanda
ini sebagai punctuator yang awal brok program nya hingga akhir dari
programnya.
Ø
Untuk garis
diagonal semua dari kordinatnya berubah
karena yang ingin kita jalankan adalah
garis miring.
void
Horizontal()
{
float e,f,g;
cout<<"Masukkan
X Awal:";cin>>e;
cout<<"Masukkan
X Akhir:";cin>>f;
cout<<"Masukkan
Y tetap:";cin>>g;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin(GL_LINES);
glVertex3f(e+0.1,g+0.1,0.0);
glVertex3f(f+0.1,g+0.1,0.0);
glEnd();
glFlush();
}
·
Cout masukan
awal itu maksudnya untuk memasukan dimana X awal ke c , X akhir ke f, dan X
tetap ke g.
Ø Untuk garis horizontal dimana
kordinat Y nya tetap, dan kordinat X berubah sesuai dengan aturan Bresenham nya maka akan terbuatlah gambar garis miring.
void
Vertikal()
{
float x,y,z;
cout<<"Masukkan
Yawal :";cin>>x;
cout<<"Masukkan
Yakhir:";cin>>y;
cout<<"Masukkan
Xtetap:";cin>>z;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,1.0,1.0);
glBegin
(GL_LINES);
glVertex3f(z+0.5,x+0.5,0.0);
glVertex3f(z+0.5,y+0.5,0.0);
glEnd();
glFlush();
}
·
Cout masukan
awal itu maksudnya untuk memasukan dimana Y awal ke x , Y akhir ke y, dan X
tetap ke z.
Ø
Untuk garis
vertical kordinat X nya tetap, dan dimana Y nya yang berubah sesuai dengan
titik awal sampai titik Y yang akhir. Sehingga akan menampilkan garis lurus.
void
initialize()
{
glClearColor(0.0,0.0,0.0,0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
}
int main(int
iArgc,char** cppArgv) {
menu:
int j;
cout<<"-----MENU----\n";
cout<<"1.Garis
vertikal\n";
cout<<"2.Garis
Horizontal\n";
cout<<"3.Garis
Diagonal\n";
cout<<"4.Exit\n";
cout<<"------------------\n";
cout<<"Masukkan
pilihan anda:";cin>>j;
cout<<"\n";
glutInit(&iArgc,
cppArgv);
glutInitDisplayMode(GLUT_SINGLE
| GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(600,200);
glutCreateWindow("OpenGL
with C++");
initialize();
while
(j<=4){
switch(j){
case 1:
glutDisplayFunc(Vertikal);
glutMainLoop();
return 0;
case 2:
glutDisplayFunc(Horizontal);
glutMainLoop();
return 0;
case 3:
glutDisplayFunc(Diagonal);
glutMainLoop();
return 0;
default:
cout<<"anda
salah memasukkan";
goto menu;
}
}}
Hasil output
nya :
Kita pilih vertikal yaitu menu 1 , Jika kita Y awal nya 0 , Y akhir nya 1 dan X nya tetap akan menghasilkan output nya :
Lalu jika kita memilih di menu 2 yaitu horizontal akan menampilkan seperi output ini :
Lalu kita
ke Menu Diagonal pilih 3 :
Maka akan menghasilkan Output diagonal nya :
Ø Sesuai
dari penjelasan di atas bagaimana garis akan terbentuk sesuai titik kordinatnya.
Tugas Graf Komp & Pengolahan Citra : https://www.dropbox.com/s/2kd4jmy580mnp03/Tugas%20Graf%20Komp%20%26%20Pengelola%20Citra.rar?dl=0
Tugas Graf Komp & Pengolahan Citra : https://www.dropbox.com/s/2kd4jmy580mnp03/Tugas%20Graf%20Komp%20%26%20Pengelola%20Citra.rar?dl=0
Tidak ada komentar:
Posting Komentar