Kamis, 02 Mei 2013

Grafika Komputer_Objek 3 Dimensi



OBJEK 3 DIMENSI



Pemrograman grafis  3d terdiri dari 4 elemen, yaitu objek atau grup objek, material objek, pencahayaan, dan camera, Objek 3d dari OpenGL terdiri dari beberapa proses sebelum ditampilkan pada suatu window.

objek melewati modelview matrix -> clipping ->projection matrix -> viewport matrix -> window sebuah matrik hanya merupakan operasi matematika matrix sederhana. Matrix-matrix mentransformasikan objek menjadi tampilan sesuai yang diinginkan.
Ada terdapat 2 jenis Objek 3 Dimensi yang dipakai oleh OpenGL, yakni Wire dan Solid, kemudian kita akan membahas untuk mengetahui perbedaan dari keduanya.
1.    BentukWire
Fungsi Wire merupakan implementasi dari object 3D berupa kerangka benda yang berpusat pada asal pemodelan system koordinat. Utara dan kutub selatan bola berada di Z positif dan negative sumbu masing-masing dan meridian utama persimpangan sumbu X positif.
Berikut adalah list untuk bangun kerangka pada 3D:
a.    Ukuran adalah panjang sisi
  void glutWireCube(GLdouble size);

b.    Fungsi glut WireSphere dan glut SolidSphere
            membuat bola berpusat pada asal pemodelan system koordinat. Utara dan kutub selatan bola berada di Z positif dan negative sumbu masing-masing dan meridian utama persimpangan sumbu X positif.
   void glutWireSphere(GLdouble radius,GLint slices, GLint stacks);
 
c.    Ukuran benda ditentukan dari dasar jari-jari alasnya.
  void glutWireCone(GLdouble base, GLdouble height,GLint slices, GLint stacks);

d.   Render ditentukan melalui 12 sisi.
            Berpusat pada asal,dan dengan radius sama dengan kuadrat dari 3.
  void glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLintnsides, 
  GLint rings);

e.    Renders padat atau wireframe 12-sisi biasa padat. 
            Berpusat di sekitar asal dan dengan radius sama dengan akar kuadrat dari 3
void glutWireDodecahedron(void);
 
f.     Renders padat atau wireframe 4-sisi biasa padat. 
            Berpusat di sekitar asal dan dengan radius sama dengan akar kuadrat dari 3.
  glutWiredTetrahedronvoid (void);

g.    Renders padat atau wireframe 8-sisi biasa padat. 
            Berpusat di sekitar asal dan dengan radius sebesar 1.0.
  void glutWireOctahedr5(void);

h.    Renders padat atau wireframe 20-sisi biasa padat. 
            Berpusat di sekitar asal dan dengan radius sebesar 1.0.
  void glutWireIcosahedron(void);
 
i.      Render dengan membuat poci teh
  void glutWireTeapot(GLdouble size);
 
2.    Gunakan beberapa fungsi tambahan untuk memanggil fungsi reshape dengan cara menambahkan fungsi  
   glutReshapeFunc (reshape);. 
Fungs-fungsi di bawah adalah inisialisasi 3dimensi grafika komputer menggunakan opengl.
Kemudian tambahkan fungsi
 
Pada fungsi main tambahkan callback function  
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA);
glutReshapeFunc(resize); 
init();
 


Tidak ada komentar:

Posting Komentar