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