Ada berbagai
algoritma yang digunakan untuk menerjemahkan 3D geometri ke gambar 2D. Ketika
adegan berubah menjadi gambar 2D ,adegan sering mempertahankan peta kedalaman
yang berisi pengukuran jarak ke kamera
pada setiap piksel yang diberikan, ini dapat digunakan untuk tambahan algoritma
post-procesing. Dua metode untuk menterjemahkan model 3D dalam ruang obyek
menjadi gambar 2D adalah scanline rendering dan ray tracing.
Rendering adalah proses akhir
dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering,
semua data-data yang sudah dimasukkan dalam proses modeling, animasi,
texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam
sebuah bentuk output (tampilan akhir pada model dan animasi).
Rendering tidak hanya digunakan
pada game programming, tetapi juga digunakan pada banyak bidang, misalnya
arsitektur, simulator, movie, spesial effect pada tayangan televisi, dan design
visualization. Rendering pada bidang-bidang tersebut memiliki perbedaan,
terutama pada fitur dan teknik renderingnya. Terkadang rendering juga
diintegrasikan dengan model yang lebih besar seperti paket animasi, tetapi
terkadang berdiri sendiri dan juga bisa free open-source product.
Ø
Algoritma Rendering
Algoritma Rendering adalah prosedur yang digunakan oleh suatu program untuk mengerjakan perhitungan untuk menghasilkan citra 2D dari data 3D. Metode yang saat ini sering dipakai adalah scan-line. Rendering berarti program melihat dari setiap pixel, satu per satu, secara horizontal dan menghitung warna di pixel tersebut. Saat ini dikenal 3 algoritma :
Ray-Casting
Ray-Tracing
Radiosity
Algoritma Rendering adalah prosedur yang digunakan oleh suatu program untuk mengerjakan perhitungan untuk menghasilkan citra 2D dari data 3D. Metode yang saat ini sering dipakai adalah scan-line. Rendering berarti program melihat dari setiap pixel, satu per satu, secara horizontal dan menghitung warna di pixel tersebut. Saat ini dikenal 3 algoritma :
Ray-Casting
Ray-Tracing
Radiosity
·
Teknik Rendering Permukaan
- Melakukan perhitungan dengan model pencahayaan untuk semua titik yg tampak
- Ray-tracing, melakukan interpolasi untuk titik-titik pada permukaan dari sekumpulan intensitas hasil perhitungan dengan model pencahayaan.
Kelanjutan ide Ray-Casting :
- Melakukan perhitungan dengan model pencahayaan untuk semua titik yg tampak
- Ray-tracing, melakukan interpolasi untuk titik-titik pada permukaan dari sekumpulan intensitas hasil perhitungan dengan model pencahayaan.
Kelanjutan ide Ray-Casting :
§ ‘Sinar’
diteruskan (memantul ke / menembus objek lain)
§ Mencatat semua kontribusi terhadap intensitas
suatu titik
§ Untuk
mendapatkan efek pantulan _ dan transmisi secara global
Ray-Tracing dasar :
Ray-Tracing dasar :
§ Deteksi
permukaan tampak, efek bayangan, transparansi, pencahayaan dengan beberapa
sumber cahaya
Pengembangan Ray-Tracing:
Pengembangan Ray-Tracing:
§ Tampilan
fotorealistik (terutama objek mengkilap)
Algoritma Ray-Tracing Dasar :
Untuk setiap pixel dalam bidang proyeksi {
Buat ray dari titik referensi yang lewat melalui pixel ini
Inisialisasi NearestT ke INFINITY dan NearestObject ke NULL
Untuk setiap objek dalam adegan {
If ray memotong objek ini {
If t persimpangan kurang dari NearestT {
Set NearestT untuk t persimpangan
Set NearestObject ke objek ini
}
}
}
If NearestObject adalah NULL {
Isi pixel ini dengan warna latar belakang
} Else {
Menembak ray untuk setiap sumber cahaya untuk memeriksa apakah dalam bayangan
Jika permukaan reflektif, menghasilkan refleksi ray: recurse
Jika transparan, menghasilkan bias sinar: recurse
Gunakan NearestObject dan NearestT untuk menghitung fungsi shading
Isi pixel ini dengan hasil warna fungsi shading
}
}
- Scan-line
a. Permukaan = polygon
b. Aplikasi model pencahayaan:
- Perhitungan intensitas tunggal untuk masing-masing polygon
- Intensitas tiap titik pada poligon didapat dengan cara interpolasi
c. Algoritma:
- Flat (constant-intensity) shading
Intensitas tunggal untuk setiap polygon
Buat ray dari titik referensi yang lewat melalui pixel ini
Inisialisasi NearestT ke INFINITY dan NearestObject ke NULL
Untuk setiap objek dalam adegan {
If ray memotong objek ini {
If t persimpangan kurang dari NearestT {
Set NearestT untuk t persimpangan
Set NearestObject ke objek ini
}
}
}
If NearestObject adalah NULL {
Isi pixel ini dengan warna latar belakang
} Else {
Menembak ray untuk setiap sumber cahaya untuk memeriksa apakah dalam bayangan
Jika permukaan reflektif, menghasilkan refleksi ray: recurse
Jika transparan, menghasilkan bias sinar: recurse
Gunakan NearestObject dan NearestT untuk menghitung fungsi shading
Isi pixel ini dengan hasil warna fungsi shading
}
}
- Scan-line
a. Permukaan = polygon
b. Aplikasi model pencahayaan:
- Perhitungan intensitas tunggal untuk masing-masing polygon
- Intensitas tiap titik pada poligon didapat dengan cara interpolasi
c. Algoritma:
- Flat (constant-intensity) shading
Intensitas tunggal untuk setiap polygon
·
Semua titik dalam poligon ditampilkan dengan
intensitas yang sama
·
Sering digunakan untuk mendapat tampilan cepat
dari objek
·
Akurat dengan asumsi: Objek = polihedron (bukan
aproksimasi kurva), Sumber cahaya cukup jauh (N.L konstan), Pengamat cukup jauh
(V.R konstan)
·
Bisa disiasati dengan memperkecil polygon Facet
Note:
> sistem optik fisik itu merupakan sistem yang digunakan untuk benda optik seperti kamera
> pusat geometris merupakan cabang matematika yang bersangkutan dengan pertanyaan bentuk,ukuran, posisi relatif tokoh, dan sifat ruang
> aperture itu lobang lensa
> Diopter (D) adalah satuan ukuran kekuatan bias lensa atau mata (sama dengan kekuatan lensa dengan jarak fokus satu meter)
Note:
> sistem optik fisik itu merupakan sistem yang digunakan untuk benda optik seperti kamera
> pusat geometris merupakan cabang matematika yang bersangkutan dengan pertanyaan bentuk,ukuran, posisi relatif tokoh, dan sifat ruang
> aperture itu lobang lensa
> Diopter (D) adalah satuan ukuran kekuatan bias lensa atau mata (sama dengan kekuatan lensa dengan jarak fokus satu meter)
> interpolasi adalah metode menghasilkan titik-titik data baru dalam suatu jangkauan dari suatu set diskret data-data yang diketahui.
sumber:
0 komentar:
Posting Komentar