• Tidak ada hasil yang ditemukan

DIMENSI

Dalam dokumen Buku Grafkom_pti c 2011(1) (Halaman 125-180)

Obyek 3-D adalah sekumpulan titik-titik 3-D (x,y,z) yang membentuk luasan-luasan (face) yang digabungkan menjadi satu kesatuan. Face adalah gabungan titik-titik yang membentuk luasan tertentu atau sering dinamakan dengan sisi.

Sistem koordinat 3 dimensi

Contoh pernyataan objek 3 dimensi adalah pada Limas segiempat

Titik-titik yang membentuk objek : Titik 0 (0,150,0)

Titik 1 (100,0,0) Titik 2 (0,0,100) Titik 3 (-100,0,0) Titik 4 (0,0,-100)

FUNGSI OPENGL 3 DIMENSI

a) Membersihkan Windows

Pada komputer, memory untuk menampilkan gambar biasanya diisi dengan gambar yang berasal dari perintah gambar paling akhir, jadi perlu dibersihkan dengan warna latar belakang sebelum digambar lagi. Contoh berikut ini perintah yang digunakan untuk membersihkan layar latar belakang dengan warna hitam dan buffer apa yang akan dibersihkan. Dalam hal ini, buffer warna yang akan dibersihkan karena buffer warna merupakan tempat gambar disimpan.

glClearColor 0, 0, 0, 0

glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT

b) Spesifikasi Warna

Pada OpenGL mendeskripsikan objek dengan warna objek adalah proses yang berjalan sendiri-sendiri. Sebelum warna diubah maka semua objek yang digambar sesudah perintah tersebut akan menggunakan warna terakhir yang terdapat pada coloring scheme. Untuk warna digunakan perintah glColor3f. Contoh berikut menunjukkan urutan langkah dalam proses spesifikasi warna sebelum objek digambar. Warna yang ditampilkan adalah warna merah.

c) Memaksa Proses Menggambar Sampai Selesai

Kebanyakan sistem grafik modern sudah menggunakan sistem graphics pipeline. Dimana CPU utama memberikan issue perintah menggambar dan hardware lain yang melakukan transformasi,clipping, shading, texturing dan lain-lain. Pada arsitektur yang demikian, proses tidak dilakukan pada satu computer karena setiap komputer mempunyai tugas sendiri. CPU utama tidak harus menunggu proses pada masing-masing komputer tadi selesai, tapi bisa dengan memberikan issue perintah gambar yang berikutnya.

Untuk inilah OpenGL menyediakan perintah glFlush yang memaksa client untuk segera mengirim paket network walaupun belum penuh. Program sebaiknya ditulis menggunakan perintah ini karena glFlush tidak memaksa proses gambar untuk selesai tetapi memaksa proses gambar untuk segera dieksekusi, sehingga dijamin semua perintah gambar yang sebelumnya akan segera dieksekusi dalam suatu waktu tertentu.

d) Menggambar di Bidang Tiga Dimensi

Untuk menggambar grafik jenis apapun pada komputer biasanya dimulai dengan pixel. Pixel adalah elemen terkecil dari layar monitor yang mempunyai atribut warna dan posisi. Sedangkan untuk membentuk garis, poligon, objek dan lain-lain dapat dilakukan melalui urutan pixel yang berbeda. Menggambar dengan menggunakan OpenGL mempunyai perbedaan dengan bahasa lain, yaitu tidak perlu memikirkan koordinat layar secara fisik tetapi hanya perlu menspesifikasikan posisi koordinat dengan volume penglihatan. OpenGL memikirkan sendiri bagaimana caranya menggambar titik, garis, dan lainnya yang berada dalam ruang tiga dimensi ke gambar dua dimensi pada layar komputer.

Area gambar yang dibatasi ini adalah ruang koordinat kartesian yang mempunyai range dari -100 hingga 100 untuk sumbu x, y dan z. Secara sederhana bidang ini dapat dianggap sebagai bidang gambar untuk perintah-perintah OpenGL.

Untuk menggambar titik digunakan suatu perintah OpenGL yaitu : glVertex. Fungsi ini dapat mempunyai 2 sampai 4 parameter dari berbagai macam tipe data. Sebagai contoh perintah glVertex di bawah ini akan menspesifikasikan sebuah titik pada posisi 4 sumbu x, 4 sumbu y dan 0 untuk sumbu z. glVertex3f 4, 4, 0. Setelah diketahui cara untuk menspesifikasikan sebuah titik di ruang pada OpenGL. Selanjutnya yang harus ditambahkan adalah informasi tambahan mengenai titik tersebut, apakah titik tersebut akhir dari sebuah garis, atau merupakan sebuah titik sudut dari sebuah poligon atau lainnya, karena definisi

geometrik dari sebuah vertex sebenarnya bukanlah hanya sebuah titik pada layar tetapi lebih merupakan sebuah titik dimana terjadi interseksi antara dua buah garis atau kurva.

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. 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. Sebagai Contoh sebagai berikut :

A.

Fungsi untuk keperluan Transformasi 1) Fungsi Translasi (Translation)

Translasi merupakan bentuk transformasi yang memindahkan posisi suatu objek, baik pada sumbu x, sumbu y, atau sumbu z. Fungsi yang digunakan untuk melakukan translasi adalah:

Parameter Tx digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu x. Parameter Ty digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan glBegin bmPolygon // spesifikasikan titik sebagai primitif

glVertex3f 4, 4, 0 // spesifikasikan posisi titik glEnd // mengakhiri perintah menggambar titik

berdasarkan sumbu y. Sedangkan parameter Tz digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu z. Contohnya :

2) Fungsi Rotasi (Rotation)

Rotasi merupakan bentuk transformasi yang digunakan untuk memutar posisi suatu benda. Fungsi yang digunakan untuk melakukan rotasi ialah:

Parameter yang dibutuhkan pada fungsi tersebut ada 4 macam, yaitu parameter θ untuk besar sudut putaran, parameter Rx untuk putaran berdasarkan sumbu x, parameter Ry untuk putaran berdasarkan sumbu y, dan parameter Rz untuk putaran berdasarkan sumbu z. Jika parameter θ bernilai positif, maka objek akan diputar berlawanan arah jarum jam. Sedangkan jika parameter θ bernilai negatif, maka objek akan diputar searah jarum jam. Contohnya :

3) Fungsi Skala (Scalling)

glTranslatef 2, 2, 2

glRotatef(θ, Rx, Ry, Rz)

Skalasi merupakan bentuk transformasi yang dapat mengubah ukuran (besar-kecil) suatu objek. Fungsi yang digunakan untuk melakukan skalasi ialah :

Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik atau atau vertex pada objek dengan faktor skala pada masing-masing sumbu (parameter Sx untuk sumbu x, Sy untuk sumbu y, dan Sz untuk sumbu z). Contohnya :

SPESIFIKASI OBJEK 3 DIMENSI

Pada sistem koordinat 3D harus diperhatikan orientasi dari sumbu x,y dan z. Grafika 3D mengenal 2 buah sistem koordinat, yaitu:

 Right-handed coordinat system (Sistem Koordinat Tangan Kanan)

 Left-handed coordinat system (Sistem Koordinat Tangan Kiri)

glScalef(Sx, Sy, Sz)

glScalef(2, 2, 2)

+x +z +y +x +y +z Right-handed Left-handed

Posisi sebuah titik dalam grafika 3D diekspresikan dengan (x,y,z). Beberapa titik yang berdekatan akan membentuk sebuah garus. Seperti pada grafika 2D, sebuah garis dibentuk dengan mendeskripsikan dua buah titik, yaitu (x1,y1,z1) dan (x2,y2,z2) yang menjadu ujung dari sebuah garis. Sebuah garis dalam grafika 3D dapat diekspresikan dengan sepasang persamaan, yaitu: 1 2 1 2 1 1 1 2 1 2 1 1 x x z z x x z z x x y y x x y y          

Pada grafika 3D, terdapat sebuah geometri yang sangat penting, yaitu bidang datar (plane). Sebuah bidang datar pada grafika 3D dispesifikasikan dengan sebuah persamaan, yaitu :

Dengan adanya geometri 3D untuk mengekspresikan sebuah titik, garis dan bidang datar, maka sebuah objek 3D dapat didekripsikan dengan geometri tersebut. Sebuah objek dalam grafika 3D dapat dibangun dengan menggunakan primitif 3D.

PRIMITIF 3D

Primitif adalah beberapa bentuk dasar yang dapat dengan mudah didefinisikan secara matematik.

Pada grafika 3D  terdapat primitif yang paling umum : Bola (sphere)

Kubus(cube) Silinder (cylinder) Kericut (cone)

Cincin (torus)

Primitif-primitif ini biasanya diambil dari bentuk-bentuk dasar benda yang sangat umum. Sehingga pemodelan benda-benda pada grafika 3D dapat dimodelkan dengan menggunakan primitif-primitif tersebut.

Setiap primitif 3D memiliki parameter, yaitu :  Nilai yang mengekspresikan letak

 Bentuk primitif tersebut

Misal : Kubus dapat diekspresikan dengan 1 buah titik (x,y,z) dan sebuah nilai yang mengekspresikan panjang rusuk primitif tersebut. Titik (x,y,z) menentukan salah satu titik sudut dari kubus, sekaligus berfungsi untuk menentukan letak primitif tersebut dalam world.

Primitif dalam grafika 3D memiliki parameter yang berbeda satu dengan yang lain. Sehingga setiap objek dalam grafika 3D harus didefinisikan dari primitif apa dia diturunkan dan bagiaman cara melakukan rendering pada objek tersebut.

RENDERING

Rendering yaitu Proses untuk menghasilkan sebuah citra 2D dari data 3D.Proses ini bertujuan untuk untuk memberikan visualisasi pada user mengenai data 3D tersebut melalui monitor atau pencetak yang hanya dapat menampilkan data 2D.Metode rendering yang paling sederhana dalam grafika 3D :

1. Wireframe rendering

 Objek 3D dideskripsikan sebagai objek tanpa permukaan.

Pada wireframe rendering, sebuah objek dibentuk hanya terlihat garis-garis yang menggambarkan sisi-sisi edges dari sebuah objek.

Metode ini dapat dilakukan oleh sebuah komputer dengan sangat cepat, hanya kelemahannya adalah tidak

adanya permukaan, sehingga sebuah objek terlihat tranparent. Sehingga sering terjadi kesalahpahaman antara sisi depan dan sisi belakang dari sebuah objek.

2. Hidden Line Rendering

 Metode ini menggunakan fakta bahwa dalam sebuah objek, terdapat permukaan yang tidak terlihat atau permukaan yang tertutup oleh permukaan lainnya.

Dengan metode ini, sebuah objek masih direpresentasikan dengan garis-garis yang mewakili sisi dari objek, tapi beberapa garis tidak terlihat karena adanya permukaan yang menghalanginya.

Metode ini lebih lambat dari daro wireframe rendering, tapi masih dikatakan relatif cepat. Kelemahan metode ini adalah tidak terlihatnya karakteristik permukaan dari objek tersebut, seperti warna, kilauan (shininess), tekstur, pencahayaan, dll.

3. Shaded Rendering

 Pada metode ini, komputer diharuskan untuk melakukan berbagai perhitungan baik pencahayaan, karakteristik permukaan, shadowcasting, dll.

Metode ini menghasilkan citra yang sangat realistik, tetapi kelemahannya adalah lama waktu rendering yang dibutuhkan. Geometr i

+

Kamer a Cahaya

+ + +

Citra Rendering Karakteristi k Permukaan Algoritma Rendering

Secara umum, proses untuk menghasilkan rendering dua dimensi dari objek-objek 3D melibatkan 5 komponen utama :  Geometri

 Kamera  Cahaya

 Karakteristik Permukaan  Algoritma Rendering

REPRESENTASI BENDA GRAFIKA 3D

Istilah-istilah :

 Vertex titik pada dunia 3D. Setiap vertex mempunyai nilai x,y,z. Nilai-nilai ini menentukan posisi vertex pada dunia 3D.

 Face polygon. Poligon ini adalah suatu permukaan yang nantinya akan di-render. Bentuk dari poligon ditentukan dari posisi vertex-vertexnya. Vertex-vertex ini menentukan titik sudut dari poligon tersebut.

Setiap poligon memiliki vektor normal yang tegak lurus terhadap permukaan itu. Bila arah vektor normal menuju ke pengamat, maka permukaan tersebut dapat dilihat oleh pengamat, tapi jika arah verktor normal menjauhi pengamat maka permukaan tersebut tidak akan tampak.

 Mesh sekumpulan face/poligon yang digabung menjadi satu kesatuan membentuk suatu objek baru. Pada dasarnya objek-objek yang kompleks terdiri dari poligon-poligon yang sederhana. Umumnya poligon yang menjadi dasar pembentukan bagi objek-objek lain adalah segitiga.

Segitiga dipilih karena segitiga selalu konvex. Poligon konvex dapat dirender lebih cepat daripada poligon konkaf. Suatu poligon dikatakan konvex bila suatu garis yang dibuat antara dua titik sudutnya tidak berada diluar poligon tersebut.

Dalam grafika komputer, sebuah benda secara umum direpresentasikan dalam bentuk permukaan segibanyak atau poligon. Sebuah benda 3D sederhana, mis. kubus terdiri dari enam permukaan datar berbentuk poligon segi empat beraturan. Masing-masing poligon permukaan kubus terdiri dari empat titik sudut, dimana titik sudut ini merupakan sebuah titik pada dunia 3D. Sehingga data sebuah benda berbentuk kubus pada grafika komputer diwakili oleh beberapa titik yang saling berhubungan membentuk sebuah garis, dimana garis-garis tersebut membentuk sebuah permukaan dan permukaan-permukaan tersebut membentuk sebuah benda 3D. Relasi antar titik, antar garis dan antar permukaan dapat dinyakan dengan sebuah tabel, seperti :

Tabel Titik V1 : x1,y1,z1 V2 : x2,y2,z2 V3 : x3,y3,z3 V4 : x4,y4,z4 V5 : x5,y5,z5 Tabel Sisi E1 : V1,V2 E2 : V1,V3 E3 : V2,V3 E4 : V2,V5 E5 : V4,V5 E6 : V3,V4 Tabel Permukaan S1 : E1,E2,E3 S2 : E3,E4,E5,E6

Dari tabel-tabel tersebut, didapatkan data-data mengenai objek yang akan diolah dalam grafika komputer.

V1 V5 V4 V3 V2 E1 E5 E6 E4 E3 E2 S1 S2

BAB 9

PENCAHAYAAN

Pencahayaan pada OpenGL

OpenGL akan melakukan komputasi warna setiap pixel di display akhir, ditampilkan adegan itu dilakukan di frame buffer. Bagian dari komputasi ini tergantung pada pencahayaan yang digunakan dalam adegan dan hal tersebut berkenaan dengan bagaimana suatu benda dalam adegan yang memantulkan atau menyerap cahaya. Sebagai contoh saja misalnya sebuah lautan memiliki warna yang berbeda pada cerah maupun pada saat hari mendung. Adanya sinar matahari atau awan menentukan apakah laut termelihat sebagai pirus terang atau abu-abu keruh kehijauan. Pada kenyataannya, sebagian besar objek bahkan yang tidak terlihat tiga dimensi sampai mereka diterangi cahaya. Gambar dibawah ini menunjukkan dua versi dari adegan yang persis sama yaitu sebuah bola, dimana satu dengan pencahayaan dan satu tanpa pencahayaan.

Seperti gambar diatas, wilayah gelap tampak tidak berbeda dari bulatan dua dimensi . hal Ini menunjukkan betapa pentingnya interaksi antara obyek dan cahaya adalah dalam menciptakan adegan tiga dimensi

Agar objek yang telah dibuat terlihat lebih nyata, diperlukan tambahan efek pencahayaan pada objek yang telah kita buat. Pencahayaan adalah proses pemberian cahaya pada suatu objek, dikenal dengan istilah lighting atau iluminasi. Pada OpenGL Terdapat sebuah perbedaan penting antara Warna dan pencahayaan yang perlu pahami. Ketika menggunakan pencahayaan atau tekstur pemetaan dengan efek pencahayaan dihidupkan, warna dari vertex adalah efek kumulatif dari warna bahan dan cahaya yang bersinar di puncak. Ketika pencahayaan dimatikan, maka warna dari vertex adalah efek pengaturan warna dan warna yang berbeda dengan bahan warna.

Gambar contoh ambient, diffuse, dan specular pada pantulan cahaya Dengan menggunakan OpenGL, dapat memanipulasi pencahayaan dan objek dalam sebuah adegan untuk menciptakan berbagai macam efek. Dalam pokok bahasan pada bab pencahayaan akan dimulai dengan sebuah pencahayaan yang penting pada permukaan tersembunyi penghapusan. Kemudian menjelaskan bagaimana untuk mengontrol pencahayaan dalam suatu adegan, membahas model konseptual OpenGL pencahayaan, dan

menggambarkan secara rinci cara mengatur pencahayaan dengan banyak parameter untuk mendapatkan efek tertentu. Pada akhir bab, perhitungan matematis yang menentukan bagaimana warna mempengaruhi pencahayaan disajikan

Pencahayaan pada OpenGL dan Dunia nyata

Ketika melihat permukaan fisik, persepsi warna pada mata tergantung pada distribusi energi foton yang datang dan memicu sel-sel kerucut mata. Foton berasal dari sumber cahaya atau kombinasi dari sumber, yang sebagian diserap dan sebagian yang dipantulkan oleh permukaan. Selain itu, permukaan yang berbeda memiliki sifat yang sangat berbeda-ada, misalnya yang mengkilap dengan sempurna akan memantulkan cahaya dalam arah tertentu, sementara yang lain menyebarkan cahaya sama-sama masuk di segala penjuru.

Pencahayaan pada OpenGL hanya dengan cahaya pendekatan dan cahaya lampu seolah-olah dapat dipecah menjadi komponen merah, hijau, dan biru. Dengan demikian, warna sumber cahaya dicirikan oleh jumlah warna yang memancarkan cahaya merah, hijau, dan biru, dan materi permukaan ditandai dengan persentase komponen warna merah, hijau, dan biru yang masuk dan tercermin dalam berbagai arah. Persamaan pencahayaan pada OpenGL hanya sebuah pendekatan, tetapi satu yang bekerja cukup baik dan dapat dihitung relatif cepat. Jika menginginkan yang lebih akurat atau model pencahayaan hanya berbeda, harus melakukan perhitungan sendiri dalam perangkat lunak. Dengan perangkat lunak tersebut dapat menjadi sangat kompleks, seperti beberapa jam membaca buku teks optik pun harus meyakinkan.

Model pencahayaan Dalam OpenGL, cahaya dalam sebuah adegan berasal dari beberapa sumber cahaya yang dapat secara individual diaktifkan dan dinonaktifkan. Beberapa cahaya datang dari arah atau posisi tertentu, dan beberapa cahaya umumnya tersebar karena adanya suatu peristiwa. Sebagai contoh, ketika menghidupkan bola lampu dalam ruangan, sebagian besar berasal dari cahaya bola

lampu, tetapi beberapa cahaya datang setelah ada pantulan dari dinding satu, dua, tiga, atau lebih. Cahaya yang memantul ini disebut ambientdan dapat diasumsikan begitu cahaya tersebar tidak ada cara untuk mengetahui arah semula, tetapi hal ini akan menghilang jika suatu sumber cahaya dimatikan.

Akhirnya, mungkin ada cahaya ambient umum dalam adegan yang tidak berasal dari sumber tertentu, seolah-olah telah tersebar beberapa kali sumber cahaya asli dan tidak mungkin untuk menentukan.

Dalam model OpenGL, sumber cahaya hanya memiliki efek ketika ada permukaan yang menyerap dan memantulkan cahaya. Setiap permukaan diasumsikan terdiri dari bahan dengan berbagai sifat. Sebuah bahan bisa memancarkan cahaya sendiri seperti lampu pada sebuah mobil atau mungkin menyebarkan beberapa cahaya yang masuk ke segala penjuru, dan mungkin juga memantulkan sebagian dari cahaya masuk dalam arah preferensial seperti cermin atau permukaan mengilap.

Model pencahayaan yang OpenGL mempertimbangkan pencahayaan yang dibagi menjadi empat komponen independen: memancarkan (emissi), ambient, diffuse, dan specular. Semua empat komponen dihitung secara independen dan kemudian ditambahkan secara bersama-sama.

Cahaya Ambient, Diffuse, dan specular

Pencahayaan Ambient adalah cahaya yang sudah berserakan begitu banyak disebabkan oleh lingkungan dan arahnya tidak mungkin ditentukan atau tampaknya datang dari segala penjuru. Backlighting pada sebuah ruangan memiliki komponen ambient besar, karena sebagian besar cahaya yang mencapai mata yang memantul dari banyak permukaan. Sebuah lampu sorot kecil di luar rumah memiliki komponen ambient, sebagian besar cahaya dalam arah yang sama, dan karena diluar, sangat sedikit cahaya mencapai

mata setelah memantul dari benda-benda lain. Ketika cahaya ambient menyerang permukaan, maka akan tersebar merata di segala penjuru. Komponen cahaya diffuse adalah komponen yang berasal dari satu arah, jadi akan terang kalau hal tersebut terjadi tepat diatas sebuah permukaan dibandingkan jika hampir tidak terjadi di atas permukaan. Setelah mengenai permukaan, akan tersebar merata di segala penjuru, sehingga tampak sama-sama terang, tak peduli di mana mata berada. Setiap cahaya yang datang dari posisi atau arah tertentu mungkin memiliki komponen diffuse.

Cahaya specular datang dari arah tertentu, dan cenderung terpental pada permukaan dalam arah yang diinginkan. sinar laser berkualitas tinggi memantul pada cermin dan menghasilkan hampir 100 persen refleksi specular. Logam atau plastik mengilap memiliki komponen specular tinggi, dan kapur atau karpet telah hampir tidak ada. Specularity dapat juga dianggap sebagai shininess.

Meskipun sumber cahaya memberikan satu distribusi frekuensi, komponen ambient, diffuse, dan specular mungkin berbeda. Sebagai contoh, jika memiliki cahaya putih di sebuah ruangan dengan dinding merah, cahaya yang tersebar cenderung menjadi warna merah, meskipun cahaya secara langsung objek putih yang mencolok. OpenGL memungkinkan untuk mengatur nilai merah, hijau, dan biru untuk setiap komponen cahaya secara bebas.

Teknik Pencahayaan ( Lighting )

Setiap objek dapat terlihat karena ada cahaya. Cahaya yang dapat dari berbagai arah biasanya dapat diketahui asalnya dari sinar dan bayangan yang ditimbulkan. Karena pengaruh cahaya sangat besar terhadap hasil nyata maka faktor pencahayaan harus diperhitungkan. Tetapi mengingat bahwa grafika komputer adalah model matematika dari kehidupan nyata ma ka pencahayaan juga harus diubah menjadi model matematika. Mode l matematika itu harus memenuhi persyaratan sebagai berikut :

1. Menghasilkan efek seperti cahaya sungguhan 2. Dapat dihitung dengan cepat

Model pencahayaan tiga dimensi menyangkut yang realistik menyangkut dua elemen penting yang sangat berkaitan erat dengan shading model, yaitu :

1. Keakuratan dalam menggambarkan objek. 2. Teknik pencahayaan yang baik.

Teknikpencahayaanpadagrafikakomputerseringmengacupadahuku

m –

hukumfisikayangberhubungandenganintensitaspermukaan. Untukm enyederhanakanperhitunganempirisyang didasarkan padakalkulasiphotometricyangdisederhanakan.Contoh ratiosity algori madimana perhitunganintensitascahayadenganmempertimbangkanjar ak permukaan ob jekdengansumbercahayadidalamsebuahscene.

Suatuobjekbercahaya sedangkanobjek itu bukansumbercahay a, artinyacahayayangterlihatpadapermukaanobjektersebutadalahcaha yapantulan.Totalcahaya

yangdipantulkanadalahpenambahandikontribusi

sumbercahayadanpantulan cahaya daripermukaanobjeklaindalamscen e.Artinyasuatupermukaanobjektidaksamadengansecaralangsungdisor

otakandiberipenerangan olehsumber

cahaya,akantetapiterlihatjikaobjekyangletaknyaberdekatandapatpener angan.

Suatuobjekyangpunyapermukaankasarmakacahaya yang dipantulkancenderung akan menyebar ke segalaarah, cahaya yangmenyebarinidisebutdiffusereflection.Apabilasumbercahayamenc

iptakancahayayangterangakansebuahtitikterangdisebutspecular.Efekd aricahayateranginilebihditekankanpadapermukaanyangberkilauandari padapermukaanyangtumpul.

Besar sudut yang dihasilkan specular reflection terhadap vek tor normal. permukaan sama dengan sudut dimana cahaya masuk terhadap vektor

normal. permukaan tapi arahnya berlawanan.Teknik pencahayaan dia ntaranya: Cahaya Tersebar Suatuobjekyangmempunyaipermukaanyangkasarmakacahay ayangdipantulkancenderungakanmenyebarkesegalaarah,cahayayang menyebarinidisebutcahayatersebar.Beberapacahayamenembuspermu kaandandiradiasikembalisecaraseragamkedalamsemuaarah.Penghitun gancahayatersebarmenggunakanm,vdans.

1. Sebagaimana cahaya tersebar disebarkan secara seragam dalam

semua arah, lokasi mata, v, tidakpenting kecuali kalau v.m < 0 jika diinginkan intensitas cahaya I = 0

2. Hubungan antara kecerahan permukaan dan orientasinya cahaya didasarkan pada cos(θ).

Metode Shading

Bayangan (shading) adalah bidang yang terbentuk akibat hila ngnya sebuah sinar oleh objek yang tidak bisa ditembus oleh sinar ter sebut. Metode permukaan tersembunyi dapat digunakan untuk

menempuh area dimana bayangan

berada yang dihasilkan dari pencahayaan. Padasaatditentukan letak sebuahbayanganenganpencahayaandariarahmanasaja,makabayangan dapatsajaterlihatmengikutibentuksuatupola permukaan objek lain. Metodeyangdigunakanuntukmembentuksuatubayanganantaralain:

Metode Flat Shading

Flatshadingadalahmetodeyangmudahdancepatuntukmembuat bayangandenganpermukaanpoligon.Padametodeinisebuah intensitas

tunggal dihitung untuk masing –

masingpoligon,semuatitikpadapermukaanpoligondipaparkandengann ilaiintensitasyangsama.

Karakteristik flat shading diantaranya :

1. Pemberian tone yang sama untuk setiap poligon 2.

Penghitungan jumlah cahaya mulai dari titik tunggal pada permukaan .

3. Penggunaan satu normal untuk seluruhnya. Secara umum

flat shading dapat menghasilkan bayangan yang akurat dengan ketent uan sebagi berikut :

1.

Objek berbentuk polihendra, yaitu jaring yang mempunyai ruang terh ingga dan tertutup.

2. Semua sumber cahaya jauh dari permukaan objek. 3. Posisi penglihatan yang cukup jauh dari permukaan. Metode Guround Shading

Metode ini merender sebuah permukaan poligon dengan inte rpolasi linier yaitu nilai intensitas yang mengenai setiap

permukaan berbeda. Warna

yang dipantulkan dihitung tiap vertex (garis) kemudian secara halusd iinterpolasikan.

Karakteristik bayangan yang dihasilkan :

1. Bayangan yang dihasilkan halus (tampak nyata)

2. Penggunaanlevelabu – abuyangberbeda disepanjangpoligon 3. diinterpolasikan di antara titik.

Cara untuk menghasilkan bayangan dengan menggunakan metode ini adalah :

1. Tentukan satuan vektor normal rata-rata pada setiap titik ujung poligon.

2. Pakaikan model iluminasi untuk setiap titik untuk menghitung i ntensitas titik.

3. Interpolasikan secara linier intensitas titik pada permukaan polig

Dalam dokumen Buku Grafkom_pti c 2011(1) (Halaman 125-180)

Dokumen terkait