You are on page 1of 31

LAPORAN PRAKTIKUM 2

GRAFIKA KOMPUTER

PRIMITIVE OBJECT

Oleh:
Kelompok 7
Khafidurrohman Agustianto (100533402595)
Khusnul Qotimah ( 100533402568 )
Muhammad Qomarulloh (100533404328)

S1 PTI 2010 / Off C

S1 PENDIDIKAN TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MALANG
September, 2012

PRIMITIVE OBJECT
A. KOMPETENSI DASAR
1. Memahami jenis-jenis primitive objects.
2. Memahami dan dapat membuat objek primitif.
B. ALOKASI WAKTU
4 js (4x50 menit)
C. DASAR TEORI
Primitif Grafik memudahkan untuk merender (menggambar pada layar monitor)
sebagaimana penggunaan persamaan geometrik sederhana.
Contoh primitif grafik dasar adalah :
- Titik
- Garis, Segiempat
- Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya
- Fill area
- TextObjek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun contoh
grafik primitif yang lain adalah :
- Poligaris, yaitu urutan garis lurus yang saling terhubung.
- Teks, adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks merupakan
kumpulan lebih dari dua karakter.
- Citra raster, adalah gambar yang dibuat dengan piksel yang membedakan bayangan dan
warna. Citra raster disimpan dalam komputer sebagai larik bernilai numerik. Larik tersebut
dikenal sebagai piksel map atau bitmap. Ada tiga cara untuk menghasilkan citra grafik yaitu
Citra didisain dengan tangan, Citra yang didapat dari perhitungan dan Citra yang discan.
Pemaparan citra raster dinyatakan oleh piksel dengan video displays (Cathod-ray Tube
CRT), flat panel dispalys (LCD), hardcopy (printer laser, dot matrix printers, ink-jet
printers). Contoh proses pemaparan permukaan adalah citra yang ditangkap lalu disimpan di
frame buffer, kemudian digunakan untuk mewarnai sebuah titik pada permukaan pemapar.
Selanjutnya proses scan di CRT. Frame buffer adalah matriks 2 dimensi yang mewakili
piksel pada pemapar. Ukuran matriks harus cukup untuk menyimpan kedalam warna
pemapar untuk semua piksel. Sebagai contoh pemapar (monitor) berresolusi 1280 x 1024
mempunya kedalaman warna 24 bit (~16 juta warna) membutuhkan ruang simpan sekitar 4
Mb.
o Piksel dan Bitmap, Jumlah bit yang digunakan untuk mewakili warna/bayangan dari
masin-masing piksel (picture element = pixel). 4 bit/piksel = 24 = 16 level abu-abu
1. Input Primitif Grafik Dan Pirantinya
Sebagaimana banyak piranti dan cara untuk pemaparan output grafika komputer,
demikian pula untuk piranti inputnya, yaitu :
- Keyboards
- Tombol
- Mouse

- Graphics tablets
- Joysticks dan trackballs
- Knobs
- Space balls dan data gloves
Masing-masing input ini mempunyai cara masing-masing untuk mengirimkan input ke
komputer. Input ini diinterpretasikan oleh aplikasi grafika komputer dan dipresentasikan ke
pengguna melalui layar monitor. Data yang diinputkan disebut primitif input.
Beberapa primitif input diantaranya sebagai berikut :
- Titik
- Strings (keyboards, suara)
- Pilihan (tombol, layar sentuh)
- Valuators (analogue dial)
- Locator (mouse)
- Ambil (pemilihan sebagian citra, mouse, lightpen)
2. Pemrograman Grafika Komputer
Ada tiga komponen untuk kerangka kerja aplikasi grafika komputer, yaitu :
- Model aplikasi
- Program aplikasi
- Sistem grafik
Sekarang telah banyak beredar di pasaran aplikasi pengembang cepat (Rapid Development
Applications / RAD) seperti Delphi, Borland C++, Visual C++ dan Visual Basic. RAD ini
memudahkan dalam pembuatan antarmuka, form, tombol, dan lain-lain sehingga dapat
membantu percepatan dalam pembuatan program aplikasi grafik karena kode yang kompleks
untuk pembuatan antarmuka, form, tombol, dan lain-lain sudah tidak perlu dibuat lagi. RAD
juga langsung memudahkan pemrograman Windows.
3. Transformasi
Menurut Suyoto (2003), transformasi adalah memindahkan objek tanpa merusak bentuk.
Contoh transforamsi adalah transisi, penskalaan, putaran/rotasi, balikan, shearing dan
gabungan.
Tujuan transformasi adalah
- Merubah atau menyesuaikan komposisi pemandangan
- Memudahkan membuat objek yang simetris
- Melihat objek dari sudut pandang yang berbeda
- Memindahkan satu atau beberapa objek dari satu tempat ke tempat laein. Ini biasa dipakai
untuk animasi computer
Untuk dapat menggunakan transformasi dengan baik maka diperlukan pengetahuan operasi
matrisk dan vector
Operasi matriks:
- Penambahan dan pengurangan
- Perkalian
- Determianan

- Transpos
- Kebalikan (inverse)
Operasi vektor
- Penambahan dan pengurangan
- Perkalian titik (dot product)
- Perkalian silang (cross product)
4. OpenGL
OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk
pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk
mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga
merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API)
yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat
berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya. OpenGL pada
awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam
perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain
seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package
secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu,
package OpenGL tersebut dapat di-download pada situs http://www.opengl.org sesuai dengan
bahasa pemrograman yang akan digunakan.
Selain OpenGL ada juga tools/library grafik yang dapat dipergunakan yaitu DirectX. Namun
tools ini hanya dapat dipergunakan pada Microsoft Windows. Tabel 2.1 menunjukkan
perbandingan antara OpenGL dengan DirectX. Perbandingan ini didasarkan pada buku
OpenGL Game Programming, namun ada beberapa feature yang mungkin sudah
ditambahkan pada DirectX versi terbaru
5. Sistem Koordinat OpenGL

6. Fungsi gluOrtho2D(left,right,bottom,top) gluOrtho2D(-320,320,-240,240)

7. Fungsi dasar menggambar titik glVertex?()


a. glVertex2i(x,y) Menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa integer. Contoh glVertex2i(10,10);
b. glVertex2f(x,y) Menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa float. Contoh glVertex2f(10.0,10.0);
c. glVertex2d(x,y) Menggambar titik pada koordinat x dan y, dengan nilai satuan
berupa double. Contoh glVertex2d(10.0,10.0);
8. Objek primitif
a. Titik GL_POINTS
b. Garis GL_LINES
c. Poliline GL_LINE_STRIP
d. Poligon (no fill) GL_LINE_LOOP
D. AKTIFITAS KELAS PRAKTIKUM
1. Berikut adalah script dasar untuk kegiatan praktikum selanjutnya
glutInitWindowPosition(100,100);
glutInitWindowSize(320,240);
dan
gluOrtho2D(-320.,320.,-240.,240.);

2. Buatlah project baru pada Visual Studio dengan nama prak1-Points. Dan tambahkan
fungsi callback untuk glutDisplayFunc(drawDot); . Tampilkan hasilnya berupa
screenshot. Jelaskan Proses Rendering.
#include <stdlib.h>
#include <glut.h>
void drawDot(void){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(-200, -100);
glVertex2i(200, 100);

glVertex2i(250, 150);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(320,240);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawDot);
glutMainLoop();

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
3. Buatlah project baru pada Visual Studio dengan nama prak1-PointsSize. Dan
tambahkan fungsi glPointSize(int size); untuk mengubah ukuran objek Points. Pindahpindahkan glPointSize pada a,b, dan c. Sajikan Screen shot hasil a,b,c dan simpulkan.
a.
#include <stdlib.h>
#include <glut.h>
glPointSize(20);
void drawDot(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(18,200);
glVertex2i(100,100);
glVertex2i(200,200);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(400,400);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawDot);
glutMainLoop();
}

Out put :

b.
#include <stdlib.h>
#include <glut.h>
void drawDot(void)
{
glPointSize(20);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(18,200);
glVertex2i(100,100);
glVertex2i(200,200);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(400,400);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawDot);
glutMainLoop();
}

Out put :

c.
#include <stdlib.h>
#include <glut.h>
void drawDot(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POINTS);
glVertex2i(18,200);
glPointSize(20);
glVertex2i(100,100);
glVertex2i(200,200);
glEnd();
glFlush();

}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(400,400);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawDot);
glutMainLoop();
}

Output :

Kesimpulan :
4. Buatlah project baru pada Visual Studio dengan nama prak1-Lines. Dan tambahkan
fungsi callback untuk glutDisplayFunc(drawLine); . Tampilkan hasilnya berupa
screenshot. Dan Jelaskan Proses Rendering untuk vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawLine(void)
{
glLineWidth(20);
glClear(GL_COLOR_BUFFER_BIT );
glBegin(GL_LINES);
glVertex2d(18,200);
glVertex2d(100,100);
glLineWidth(20);
glVertex2d(200,200);
glLineWidth(20);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);

glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
5. Buatlah project baru pada Visual Studio dengan nama prak1-LineWidth. Dan
tambahkan fungsi glLineWidth(int size); untuk mengubah ukuran objek Points. Pindahpindahkan glLineWidth pada a,b, dan c. Sajikan Screen shot hasil a,b,c dan simpulkan.
a.
#include <stdlib.h>
#include <glut.h>
void drawLine(void)
{
glLineWidth(20);
glClear(GL_COLOR_BUFFER_BIT );
glBegin(GL_LINES);
glVertex2d(18,200);
glVertex2d(100,100);
glVertex2d(200,200);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();

output :

b.
#include <stdlib.h>
#include <glut.h>
void drawLine(void)
{
glClear(GL_COLOR_BUFFER_BIT );
glBegin(GL_LINES);
glVertex2d(18,200);
glVertex2d(100,100);
glLineWidth(20);
glVertex2d(200,200);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();

output :

c.
#include <stdlib.h>
#include <glut.h>
void drawLine(void)
{
glClear(GL_COLOR_BUFFER_BIT );
glBegin(GL_LINES);
glVertex2d(18,200);
glVertex2d(100,100);
glVertex2d(200,200);
glLineWidth(20);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();

output :

Kesimpulan :
6. Buatlah project baru pada Visual Studio dengan nama prak1-LineStrip. Buatlah agar
hasil yang ditampilkan membentuk bangun simetris terbuka. Sajikan screenshotnya.
Dan Jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawPoliline(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_STRIP);
glVertex2d(18,200);
glVertex2d(100,100);
glVertex2d(200,200);
glVertex2d(200,200);
glEnd();
glFlush();
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawPoliline);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................

7. Buatlah project baru pada Visual Studio dengan nama prak1-Poligon. Buatlah agar
hasil yang ditampilkan membentuk bangun simetris. Sajikan screenshotnya. Dan
jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawSimetris(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINE_LOOP);
glVertex2d(18,200);
glVertex2d(100,100);
glVertex2d(200,200);
glVertex2d(200,200);
glVertex2d(200,200);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawSimetris);
glutMainLoop();
}

Output :

Proses rendering :

8. Buatlah project baru pada Visual Studio dengan nama prak1-Triangle. Buatlah agar
hasil yang ditampilkan membentuk 2 segitiga yang terpisah. Sajikan screenshotnya.
Dan jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawSegiTiga(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2d(18,200);
glVertex2d(100,100);
glVertex2d(200,200);
glVertex2d(100,50);
glVertex2d(50,200);
glVertex2d(-50,-50);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawSegiTiga);

glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
9. Buatlah project baru pada Visual Studio dengan nama prak1-TriangleStrip. Buatlah
agar hasil yang ditampilkan membentuk Bangun Bebas. Sajikan screenshotnya. Dan
jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawBangunBebas(void)
{
]glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLE_STRIP);
glVertex2d(100,200);
glVertex2d(200,100);
glVertex2d(250,250);
glVertex2d(50,50);
glVertex2d(50,50);
glVertex2d(-50,-50);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawBangunBebas);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
10. Buatlah project baru pada Visual Studio dengan nama prak1-TriangleFan. Buatlah
agar hasil yang ditampilkan membentuk Bangun Bebas. Sajikan screenshotnya. Dan
jelaskan proses rendering vertexnya.

#include <stdlib.h>
#include <glut.h>
void drawTriangleFan(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLE_FAN);
glVertex2d(100,200);
glVertex2d(200,100);
glVertex2d(250,250);
glVertex2d(50,50);
glVertex2d(50,50);
glVertex2d(-50,-50);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawTriangleFan);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................

11. Buatlah project baru pada Visual Studio dengan nama prak1-Quads. Buatlah agar
hasil yang ditampilkan membentuk 2 Bangun Segi Empat Terpisah. Sajikan
screenshotnya. Dan jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawLine(void){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glVertex2d(100, 100);
glVertex2d(150, 100);
glVertex2d(150, 150);
glVertex2d(100, 150);
glVertex2d(190, 100);
glVertex2d(240, 100);
glVertex2d(240, 150);
glVertex2d(190, 150);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);

glutInitWindowSize(320,240);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................

12. Buatlah project baru pada Visual Studio dengan nama prak1-QuadStrip. Buatlah agar
hasil yang ditampilkan membentuk Bangun Bebas. Sajikan screenshotnya. Dan
jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawLine(void){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUAD_STRIP);
glVertex2d(200, 50);
glVertex2d(200, 100);
glVertex2d(175, 200);
glVertex2d(175, 150);
glVertex2d(-50, 100);
glVertex2d(75, -100);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(320,240);

gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();
}

Output :

Proses rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................
13. Buatlah project baru pada Visual Studio dengan nama prak1-Poligon. Buatlah agar
hasil yang ditampilkan membentuk Bangun Bebas. Sajikan screenshotnya. Dan
jelaskan proses rendering vertexnya.
#include <stdlib.h>
#include <glut.h>
void drawLine(void){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2d(50, 100);
glVertex2d(150, 50);
glVertex2d(250, 100);
glVertex2d(220, 150);
glVertex2d(250, 200);
glVertex2d(150, 150);
glVertex2d(50, 200);
glVertex2d(0, 150);
glEnd();
glFlush();
}
void main(int argc, char **argv){
glutCreateWindow("Pemrograman Grafis GLUT");
glutInitWindowPosition(100, 100);
glutInitWindowSize(320,240);
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawLine);
glutMainLoop();
}

Output :

Proses Rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................

E. TUGAS PRAKTIKUM
Membuat huruf dari grafika komputer.
h

kelompok 7

Script :
#include <stdlib.h>
#include <glut.h>
#include <math.h>
void drawH()
{
glClear(GL_COLOR_BUFFER_BIT);
double x,y;
int i,j;
i = x = y = j = 0;
glBegin(GL_POLYGON);
while (x<20)
{
x=i;
y=sqrt(400-(x)*(x));
glVertex2d(x,y);
i++;
}
while (y<10)
{
y=j;
x=sqrt(100-(y*y));
glVertex2d(x,y);
j++;
}
glEnd();
i = x = y = j = 0;
glBegin(GL_POLYGON);
while (x<20)
{
x=i;
y=sqrt(400-(x)*(x));
glVertex2d(-x,y);
i++;
}
while (y<20)
{
y=j;
x=sqrt(100-(y*y));
glVertex2d(-x,y);
j++;
}
glEnd();
glBegin(GL_QUADS);
glVertex2f(20,0);
glVertex2f(10,0);

glVertex2f(10,-60);
glVertex2f(20,-60);
glVertex2f(-20,80);
glVertex2f(-10,80);
glVertex2f(-10,-60);
glVertex2f(-20,-60);
glEnd();
glFlush();
}
void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutInitWindowPosition(50,50);
glutInitWindowSize(800,800);
glutCreateWindow("Pemograman Grafis GLUT : Khafid");
gluOrtho2D(-320.,320.,-240.,240.);
glutDisplayFunc(drawH);
glutMainLoop();
}

Output :

Rendering :

......................................................................................................................................................
......................................................................................................................................................
.....................................................................................................................................................

F. KESIMPULAN
1. Primitif Grafik adalah
Primitif objek terdiri atas :
- Titik : Yaitu Vertex, dimana vertex merupakan acuan dasar
- Garis : Yaitu Line/Edge
- Bangun 2D (Face)
2. Primitif Objek
primitive objek yang dipergunakan didalam pembuatan suatu objek :
- GL_POINTS
- GL_LINES
- GL_LINE_LOOP
- GL_LINE_STRIP
- GL_TRIANGLES_STRIP
- GL_TRIANGLE_FAN
- GL_QUADS
- GL_QUADS_STRIP
- GL_POLYGON

G. DAFTAR PUSTAKA
Modul 2.pdf
Anonim. 2011. Primitif Grafika. (Online) ( http://materiquliah.wordpress.com/ 2008 / 11 / 15
/ primitif-grafika/elib.unikom.ac.id/download.php?id=108172 ), diakses tanggal 19
September 2012)
AlIdrus, Shofiyah. Open GL.(Online) (http://blog.um.ac.id/OpenGL), diakses pada tanggal 20
september 2012)

You might also like