0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan21 halaman

Panduan Menggambar 2D dengan OpenGL

Primitive Drawing

Diunggah oleh

sboraks0
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan21 halaman

Panduan Menggambar 2D dengan OpenGL

Primitive Drawing

Diunggah oleh

sboraks0
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

Primitive

Drawing
Materi
•Sistem Koordinat 2 Dimensi
•Menggambar Titik
•Menggambar Garis
•Menggambar Polyline
•Menggambar Polygon

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Sistem Koordinat
y (640,480)

Drawing Windows

(0,480)

x
(0,0) (640,0)
Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
ontoh Sistem Koordinat Dalam OpenG
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
640

(100,100)
480

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
ontoh Sistem Koordinat Dalam OpenG

gluOrtho2D(-320.,320.,-240.,240.);
640

240

(100,100)
480
-320 320

-240

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Menggambar Titik
Untuk menggambar titik di
glVertex2i(x,y) posisi (x,y) dimana x dan y
didefinisikan sebagai bilangan
bulat (integer)
Untuk menggambar titik di
glVertex2f(x,y) posisi (x,y) dimana x dan y
didefinisikan sebagai bilangan
glVertex2d(x,y) pecahan (float/double)

Menggunakan library glBegin(GL_POINTS)

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Menggambar Titik
glBegin(GL_POINTS);
glVertex2i(100,50);
glVertex2i(100,130);
glVertex2i(150,130);
glEnd();
Drawing by Achmad Basuki

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Fungsi Untuk Menggambar Titik
void drawDot(int x, int y) Fungsi ini
{ digunakan bila
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd(); didefinisikan
} sebagai integer

void drawDot(float x, float y) Fungs


{ digunakan bila
glBegin(GL_POINTS);
glVertex2f(x,y); x dan
glEnd(); didefinisikan
} sebagai float

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Menggambar Titik
drawDot(100,50);
drawDot(100,130);
drawDot(150,130);

Drawing by Achmad Basuki

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Mengubah Ukuran Titik
drawDot(100,50);
drawDot(100,130);
glPointSize(4);
drawDot(150,130);
Drawing by Achmad Basuki

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Menggambar Garis
Untuk membuat garis diperlukan library
GL_LINES dengan menyatakan titik awal
dan titik akhir dari garis.

glBegin(GL_LINES);
glVertex2f(100,100);
(200,150)
glVertex2f(200,150);
glEnd();
(100,100)

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Fungsi Untuk Menggambar Garis
void drawLine(int x1,int y1,int x2,int y2)
{
glBegin(GL_LINES);
glVertex2i(x1,y1);
glVertex2i(x2,y2);
glEnd();
}

void drawLine(float x1,float y1,float x2,float y2)


{
glBegin(GL_LINES);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glEnd();
}

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Menggambar Garis

drawLine(100,100,200,150);

(200,150)

(100,100)

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Menggambar Polyline
Polyline adalah sekumpulan garis yang
terhubung satu dengan yang lainnya hingga
membentuk sebuah obyek gambar.
glBegin(GL_LINE_STRIP);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glVertex2f(x3,y3);
……………………………………………
glVertex2f(xn,yn);
glEnd();

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Menggambar Polyline
glBegin(GL_LINE_STRIP);
glVertex2f(100,100);
glVertex2f(200,150);
glVertex2f(300,50);
glEnd();

(200,150)

(100,100) (300,50)

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Menggambar Polygon
Polygon adalah sekumpulan garis yang
terhubung satu dengan yang lainnya dan
berbentuk kurva tertutup hingga
membentuk sebuah obyek gambar.
glBegin(GL_LINE_LOOP);
glVertex2f(x1,y1);
glVertex2f(x2,y2);
glVertex2f(x3,y3);
……………………………………………
glVertex2f(xn,yn);
glEnd();

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Menggambar Polygo
Begin(GL_LINE_LOOP);
glVertex2f(100,100);
glVertex2f(200,150);
glVertex2f(300,50);
End();
My first drawing

(200,150)

(100,100) (300,50)

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Mengubah Warna
glColor3f(red,green,blue);
red, green, blue nilainya antara 0 sampai dengan 1,
letaknya sebelum obyek digambar

glColor3f(0.,0.,0.);//black
glColor3f(0.,0.,1.);//blue
glColor3f(0.,1.,0.);//green
glColor3f(0.,1.,1.);//cyan
glColor3f(1.,0.,0.);//red
glColor3f(1.,0.,1.);//magenta
glColor3f(1.,1.,0.);//yellow
glColor3f(1.,1.,1.);//white

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Mengubah Warna
glColor3f(0,0,0);
drawDot(100,50);
glColor3f(1,0,0);
drawDot(100,130);
glColor3f(0,0,1); Drawing by Achmad Basuki
drawDot(150,130);

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Contoh Gambar
Membuat Televisi Rusak

• Buatlah latar belakang windows menjadi hitam dengan


mengubaha fungsi glClearColor menjadi glClearColor
(0.0,0.0,0.0,0.0); pada main()
• Isikan program berikut pada userdraw()
float x,y;
for(int i=0;i<1000;i++){
x=640*(float)rand()/RAND_MAX-320;
y=480*(float)rand()/RAND_MAX-240;
drawDot(x,y);
}

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)
Selamat Mencoba
Membuat Gambar Dengan
Grafika Komputer

Achmad Basuki
Nana Ramadijanti
Achmad Basuki, Nana Ramadijanti - Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Anda mungkin juga menyukai