TUGAS :
1. Membuat rangkuman
materi yang didalamnya terdapat materi
·
Definisi obyek 3D
·
Definisi warna obyek grafik 3Dsistem perubahan
koordinat pada animasi 3D
·
Camera viewing transformation
2. Buatlah
contoh obyek 3D (kubus / prisma) pada openGL (source code dan screenshot)
3. Buatlah sebuah
perubahan sudut pandang kamera terhadap obyek 3D
4. Bagaimana
model pewarnaan pada obyek 3D
5. Apa komposisi
pokok pada obyek 3D
6. Membuat
rotasi pada obyek 3D
3D (Three Dimensional) atau tiga dimensi adalah
setiap objek tiga dimensi yang mempunyai lebar, tinggi, dan kedalaman (width,
height, dan depth). Dengan kata lain grafik 3D adalah grafik yang dipaparkan
dalam bentuk 3 dimensi pada paksi atau koordinat x, y, dan z. Setiap obyek yang
dibuat menggunakan software aplikasi 3D akan mempunyai dimensi seperti yang
disebutkan di atas.
Menggambar 3 Dimensi
Membuat Gambar Tiga Dimensi (Perspektif) adalah
kegiatan menuangkan angan-angan dalam ukuran tiga dimensi kedalam kertas dua
dimensi, baik dengan pengamatan langsung atau berdasarkan kenyataan. Dalam
gambar benda yang lebih dekat dengan mata akan tergambar lebih besar bila
dibandingkan dengan yang jauh dengan mata. Semakin jauh dari pandangan mata
semakin kecil dan akhirnya menghilang dititik horizontal.
Bagian-bagian dalam sebuah Obyek 3 Dimensi :
1. Vertex. Dalam
objek 3 dimensi,
Vertex (plural : Vertices), dapat diistilahkan sebagai titik (jamak :
Simpul), adalah titik di mana dua atau lebih garis lurus bertemu.
2. Edge. Dalam
obyek
3 dimensi, Edge, dapat diistilahkan sebagai tepi, adalah ruas garis yang
menghubungkan dua simpul.
3. Face. Dalam objek 3d, Face,
dapat diistilahkan sebagai wajah/sisi/permukaan, adalah salah satu permukaan
individual dari sebuah benda padat.
Topologi dalam dunia 3 Dimensi
Topologi di dalam dunia 3D dapat diartikan
sebagai “Pemetaan bidang-bidang (polygons/ faces) yang dibangun dari setiap
titik-titik (vertices) atau rusuk (edge) yang membentuk kesinambungan secara
menyeluruh pada objeknya”. Sehingga pada prinsipnya adalah semua objek
benda dibangun dari minimal dua titik (vertices) yang membentuk rusuk
(edge) dan minimal ada tiga rusuk yang akan membentuk satu sisi (face).
Objek
3D pada open GL merupakan objek yang lebih hidup dibandingkan objek 2D.
Namun permukaan objek 3D yang polos membuat 3D cenderung kurang menarik dan
kaku. Untuk membuat objek yang lebih hidup pada OpenGL diperlukan suatu texture
mapping. Mapping ialah sebuah bentuk kegiatan untuk melakukan pewarnaan atau
memetakan permukaan geometri pada objek 3D. Sedangkan Maps adalah bentuk gambar
atau warna yang digunakan untuk melapisi objek 3D pada saat dilakukan mapping.
Dengan kata lain pemetaan texture merupakan pemberian sebuah gambar pada
permukaan objek sehingga objek akan tampak realistis. Texture mapping
memungkinkan untuk menaruh gambar pada geometric primitive tersebut dan sekaligus
mengikuti transformasi yang diterapkan kepada objek. Contohnya apabila sebuah
objek kubus tanpa gambar diberi texture bebatuan pada permukaannya, maka objek
tersebut akan tampak memiliki tekstur kasar seperti batu. Texture pada
permukaan objek dapat dilihat dari berbagai perspective yang berbeda.
Filter
pembesaran texture berpengaruh pada bagaimana OpenGL melakukan proses
rasterisasi texture saat texture ditampilkan pada jumlah pixel yang lebih besar
atau lebih kecil dari ukuran sebenarnya. Pada Nearest Filtered Texture, texture
yang ditampilkan merupakan hasil pemilihan nilai pixel pada posisi terdekat.
Sedangkan dengan Linear Interpolation Texture (LPT), texture yang ditampilkan
merupakan hasil interpolasi linear antara pixel-pixel disekitarnya. Pada Mipmapped
Texture(MPT), interpolasi linear dilakukan pada awal secara offline sehingga
dihasilkan banyak texture dengan ukuran dari yang kecil hingga yang besar. LPT
dan MPT akan menghasilkan kira-kira hasil yang sama dengan LPT akan sedikit
lebih lambat dari MPT walaupun memori yang digunakan jauh lebih kecil.
Namun
terkadang efek texture yang diinginkan dapat diperoleh dengan
mencampur lebih dari satu texture. Proses pencampuran lebih dari satu texture
disebut dengan istilah blending. Salah satu efek blending yang paling sederhana
adalah dengan memblending texture dengan warna. Fungsi yang
digunakan pada proses blending adalah glEnable(GL_BLEND).
Implementasi
texture pada objek grafika computer terdapat pada, animasi seperti toy story
maupun game animasi.
Konsep Texture Mapping
Texture
mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar wireframe,
dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti
tekstur yang diinginkan. Beberapa hal yang perlu diperhatikan dalam pemberian
tekstur, diantaranya:
v Menentukan
tekstur
1. Membaca
atau membangkitkan tekstur
2. Menandai
tekstur
3.
Mengenablekan tekstur
v Menandai
koordinat tekstur pada vertek
v Menentukan
parameter tekstur
Teknik-teknik Realisme dalam Kompuer Grafik
1. . Tekstur-Maps
Maps berwujud gambar tekstur 2D yang dituangkan ke
permukaan geometri/objek untuk membuat penampilan objek tersebut tampak halus
untuk detail permukaannya. Pada pengembangan grafik realisme tingkat tinggi
diperlukan lebih banyak lapisan tekstur, agar hasil mapping mendekati
kesempurnaan. Sebuah tekstur maps yang diterapkan (dipetakan) biasanya dipakai
untuk permukaan bentuk objek polygon, proses ini mirip dengan menerapkan
texture pada kertas berpola kotak putih yang polos.Kegiatan texture mapping
untuk texture maps dapat didefinisikan sebagai sebuah metode untuk menambahkan
detail tekstur permukaan (bitmap atau raster image), atau warna yang dihasilkan
komputer grafis atau model 3D. Penerapannya pada grafis 3D dirintis oleh Dr Edwin
Catmull pada proyek Ph.D tesisnya tahun 1974.
2. Environment-Maps
Environtment-Maps ialah maps yang memiliki pewarnaan
dengan banyak gambar (tekstur) yang merekam refleksi global dan pencahayaan
pada objek. Gambar-gambar ini difungsikan sebagai resampled selama proses
rendering, dengan tujuan untuk mengekstrak, dan melihat informasi spesifik yang
kemudian diterapkan sebagai tekstur objek pada permukaan geometri. Maps ini
sering disebut reflection yang berarti tekstur pencahayaan dari benda-benda
luar di sekitar objek, maps jenis ini sangat cocok untuk benda-benda yang
memiliki tingkat refleksi yang sangat tinggi, seperti kaca, dan lain
sebagainya.Environmet mapping pada maps ini memiliki definisi yaitu metode yang
efisien untuk simulasi kompleks permukaan bercermin melalui suatu gambar
tekstur. Tekstur yang digunakan bekerja untuk menyimpan gambar dari lingkungan
sekitar objek yang diberikan. Ada beberapa cara untuk menyimpan tekstur
lingkungan sekitar objek, salah satu metode yang paling umum adalah metode
Spherical Environment Mapping, di mana dalam metode ini suatu tekstur yang
berisi citra lingkungan sekitar akan direfleksikan sebagai bola cermin, dan
kemudian dimasukkan sebagai tekstur objek yang diberi maps.
3. Bump-Maps
Bump maps adalah maps yang
memfokuskan permukaan tekstur pada objek, dengan menggunakan maps ini,
permukaan geometri/objek akan terlihat berbeda dan unik, tidak seperti
objek-objek yang memiliki permukaan normal pada umumnya. Rumus pekerjaan dari
maps ini akan menerapkan bidang untuk intensitas dalam maps yang menunjukkan
tingkat rendah tingginya suatu permukaan objek, fungsi maps ini akan
mengacaukan permukaan objek yang normal, sehingga menimbulkan kesan unik ketika
hasilnya sudah di-render.Untuk kegiatannya, bump mapping adalah sebuah teknik
grafis komputer di mana pada setiap pixel untuk permukaan normal objek, akan
diberikan efek tidak halus dan diterapkan sebelum melakukan perhitungan
iluminasi. Hasilnya, objek yang diberi maps akan lebih kaya, serta lebih rinci
untuk representasi permukaan objek dan lebih mirip pada permukaan alam.
4. Normal-Maps
Maps ini serupa dengan bump-maps, perbedaannya adalah
fungsionalitas yang ada pada normal maps, maps ini secara alami akan
menghasilkan bentuk permukaan yang tidak halus tanpa menggunakan lebih banyak
penambahan atau pengurangan poligon pada objek.Dalam dunia grafik komputer 3D,
normal mapping pada maps ini bisa disebut " Dot3 bump mapping ",
definisinya adalah sebuah teknik yang digunakan untuk ”berpura-pura” menambahkan
efek tidak halus pada permukaan objek. Kenapa disebut ”berpura-pura” ? Hal ini
disebabkan karena mapping ini bekerja dengan menambahkan rincian tidak halus
pada permukaan objek tanpa menggunakan poligon. Normal mapping biasanya
diakurasi sebagai sebuah gambar RGB yang berhubungan dengan koordinat X, Y, dan
Z dari permukaan normal suatu objek. Penggunaan umum teknik ini adalah untuk
lebih meningkatkan tampilan dan detail dari model poligon rendah dengan
menghasilkan peta normal dari model poligon yang tinggi.
5. Shadow-Maps
Shadow maps yaitu maps yang menghasilkan suatu
bayangan tekstur pada objek dengan menangkap siluet objek tersebut dari sumber
cahaya yang terlihat. Maps ini sangat sering dipakai oleh pengembang grafik 3D,
karena efek yang dihasilkan seolah-olah menunjukkan objek tersebut sangat
realistis, dan disebabkan adanya bayangan dari sumber cahaya yang ada.Fungsi
kerjanya yang berkonsep shadow mapping adalah proses di mana bayang-bayang
ditambahkan ke grafik komputer 3D. Konsep ini diperkenalkan oleh Lance Williams
pada tahun 1978, dalam sebuah makalah yang berjudul "Casting curved
shadows on curved surfaces". Sejak saat itu, teknik ini telah digunakan
baik dalam pra-render adegan, dipakai secara realtime, atau bahkan diterapkan ke
banyak konsol dan PC high-end game.
Berikut ini
adalah macam-macam tekstur:
· GL_TEXTURE_1D:
semua gambar dalam tekstur ini 1-dimensi.
Memiliki lebar, tapi tidak memiliki ketinggian atau
kedalaman.
· GL_TEXTURE_2D:
semua gambar dalam tekstur ini 2-dimensi. Memiliki lebar
dan tinggi, namun tidak punya kedalaman.
· GL_TEXTURE_3D:
semua gambar dalam tekstur ini 3-dimensi. Memiliki lebar,
tinggi,dan kedalaman.
· GL_TEXTURE_RECTANGLE:
Gambar dalam tekstur ini (hanya satu
gambar padamipmapping) 2-dimensi. Koordinat
tekstur yang digunakan untuk tekstur ini
tidakdinormalisasi.
· GL_TEXTURE_BUFFER:
Gambar dalam tekstur ini (Hanya satu
gambar adamipmapping) 1-dimensi. Penyimpanan data berasal
dari Buffer Object.
· GL_TEXTURE_CUBE_MAP: terdapat 6 set gambar 2D
berbeda, dengan ukuran yang sama. Berbentuk
seperti 6 sisi kubus.
· GL_TEXTURE_1D_ARRAY: Gambar
dalam tekstur ini semua 1-dimensi. Namun,berisi
beberapa set gambar 1-dimensi, semua
dalam satu tekstur. Panjang arraybagian
dari ukuran tekstur itu.
· GL_TEXTURE_2D_ARRAY: Gambar
dalam tekstur ini semua adalah 2-dimensi.Namun, mengandung beberapa
set gambar 2 dimensi, semua dalam satu tekstur.Panjang array bagian
dari ukuran tekstur itu.
· GL_TEXTURE_CUBE_MAP_ARRAY: Gambar
dalam tekstur ini merupakan pemetaan kubus.
Berisi beberapa set peta kubus yang kesemuanya berada
dalamsebuah tekstur. Panjang Array * 6 (jumlah sisi kubus) merupakan
bagian dari ukurantekstur.
· GL_TEXTURE_2D_MULTISAMPLE:
Gambar dalam tekstur ini (hanya satu
gambarada mipmapping) adalah 2-dimensi. Setiap pixel dalam
gambar ini berisi beberapasampel bukan hanya satu nilai.
· GL_TEXTURE_2D_MULTISAMPLE_ARRAY: Menggabungkan 2D
array dan jenismultisample 2D. Tidak ada mipmapping.