PRIMITIVE OBJECTS
A.
KOMPETENSI DASAR
·
Memahami jenis-jenis primitive objects.
·
Memahami dan dapat membuat objek primitif.
B.
Dasar Teori
1.
Sistem Koordiant OpenGL
Adalah suatu yang abstrak dan biasanya
digunakan untuk perhitungan data yang hasilnya perlu ditampilkan kembali pada
layar atau di atas kertas.
Sistem koordinat sealau dikaitkan dengan
dimensi, dimana
0 D , dimensi ke 0
1 D, dimensi ke 1
2 D, dimensi ke 2
3 D, dimensi ke 3
4 D, dimensi ke 4
5 D, dimensi ke 5, dan seterusnya
Sebuah titik secara umum sering disebut
dimensi ke 0, garis dimensi ke 1, bidang dimensi ke 2, kubus dimensi ke 3, dan
seterusnya. Untuk kebutuhan grafik umumnya kita menggunakan dimensi ke 3. Kita
mempunyai sistem koordinat untuk 2 dimensi dan 3 dimensi yang dibedakan dengan
jumlah sumbu koordinat yang dimiliki oleh masing-masing sistem.
Sistem 2 Dimensi memiliki 2 sumbu
koordinat, yaitu sumbu x dan sumbu y,
sedangkan sistem koordinat 3 dimensi
memiliki 3 buah sumbu koordinat, yaitu x, y dan z.
2. Fungsi gluOrtho2D(left,right,bottom,top) gluOrtho2D(-320,320,-240,240)
Mendefinisikan besarnya system koordiant
dengan range sumbu x adalah [320] dan
range untuk sumbu y adalah [-240, 240]
3.
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);
4.
Objek primitive
Objek
Primitif adalah interpretasi sejumlah set atau deretan titik pada sebuah bentuk
yang digambar pada layar. Pada OpenGL terdapat sepuluh macam primitif dari
mulai menggambar sebuah titik hingga poligon. Dasar dari sepuluh macam objek
primitive tersebut ada empat yaitu:
a.
Titik
GL_POINTS
b.
Garis GL_LINES
c.
Poliline
GL_LINE_STRIP
d.
Poligon
(no fill) GL_LINE_LOOP
Untuk
itu digunakan perintah glBegin sebagai cara memberitahu OpenGL untuk
memulai menginterpretasi sederetan titik sebagai salah satu bentuk primitif.
Dan untuk mengakhiri deretan titik ini digunakan perintah glEnd.
C.
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);
. Beri nilai x0, x1, x2 dan y0, y1, y2 dengan nilai integer bebas tapi tetap
dalam kanvas.
a.
Eksekusi program yang telah anda buat dan
tampilkan hasilnya berupa screenshot.
a.
Jelaskan Proses Rendering untuk primitive object
GL_POINTS pada bangun anda berupa ilustrasi gambar.
Pada
gambar diatas terdapat tiga vertex, dimana vertex pertama, kedua dan ketiga
menempati koordinat yang telah ditentukan.
drawDot(10,10);
drawDot(38,50);
drawDot(70,10);
Titik pertama adalah 10 dari kanan dan 10 dari atas, lalu membuat titik
kedua 38 dari kanan dan 50 dari atas, begitu pula untuk titik terakhir, maka
dimulai dari titik koordinat 70 dari kanan dan 10 dari atas.
1.
Buatlah project baru pada Visual Studio dengan
nama prak1-PointsSize. Dan tambahkan fungsi glPointSize(int size); untuk
mengubah ukuran objek Points. Pindah-pindahkan glPointSize pada a,b, dan c.
a.
Pada posisi manakah fungsi glPointSize(int
size); dapat memberikan perubahan
tampilan titik-titiknya?
pada posisi [b]
pada posisi [b]
void
drawDot(int x, int
y)
{
glPointSize(5);
glBegin(GL_POINTS);
glVertex2i(x,y);
glEnd();
glFlush();
}
b.
Jelaskan fungsi glPointSize(int value) pada
bangun anda!
Ketika diberi fungsi glPointSize(int value) maka titik menjadi lebih
besar/kecil sesuai dengan nilai yang diberikan pada “int value” nya.
Ketika
int value nya diberi nilai 10 maka titik menjadi lebih besar seperti ini:
Membuat karakter huruf dengan lengkung.
Kelompok 4 = huruf d
No comments:
Post a Comment