Wednesday, May 1, 2013

Primitive Object


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] 
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