Senin, 22 Februari 2010

.::Grafik Komputer 2::.

Rendering (Komputer Grafis)....


Gambar yang dibuat dengan menggunakan POV-Ray 3.6.


Rendering adalah proses menghasilkan sebuah gambar dari sebuah model, dengan menggunakan program komputer. Model adalah deskripsi dari benda tiga dimensi dalam bahasa didefinisikan secara ketat atau struktur data. Itu akan berisi geometri, sudut pandang, tekstur, pencahayaan, dan bayangan informasi. Gambar adalah sebuah gambar digital atau raster grafik gambar. Mungkin istilah oleh analogi dengan "artis render" dari sebuah adegan. 'Rendering' juga digunakan untuk menggambarkan proses menghitung efek dalam video editing file untuk menghasilkan output video akhir.


Ini adalah salah satu sub-topik utama dari komputer grafis 3D, dan dalam prakteknya selalu terhubung dengan orang lain. Dalam grafik pipa, itu adalah langkah besar terakhir, memberikan penampilan akhir model dan animasi. Dengan meningkatnya kecanggihan komputer grafis sejak tahun 1970-an dan seterusnya, ini telah menjadi subjek yang lebih jelas.


Rendering telah menggunakan dalam arsitektur, video game, simulator, film atau TV efek khusus, dan desain visualisasi, masing-masing menggunakan keseimbangan yang berbeda fitur dan teknik. Sebagai produk, berbagai renderers yang tersedia. Beberapa diintegrasikan ke dalam pemodelan dan animasi yang lebih besar paket, ada yang berdiri sendiri, ada yang bebas proyek open source. Di dalam, sebuah renderer adalah suatu program direkayasa dengan hati-hati, berdasarkan campuran selektif disiplin yang berkaitan dengan: cahaya fisika, persepsi visual, matematika, dan pengembangan perangkat lunak.


Dalam hal grafis 3D, rendering dapat dilakukan perlahan-lahan, seperti pada pra-rendering, atau secara real time. Pre-rendering adalah proses intensif komputasi yang biasanya digunakan untuk pembuatan film, sedangkan real-time rendering sering dilakukan untuk 3D video game yang mengandalkan penggunaan kartu grafis dengan akselerator 3D hardware.



Penggunaan

Ketika pra-gambar (sebuah gambar rangka sketsa biasanya) selesai, render digunakan, yang menambahkan dalam bitmap tekstur atau tekstur prosedural, lampu, benjolan pemetaan, dan posisi relatif benda-benda lain. Hasilnya adalah gambar selesai konsumen atau dimaksudkan dilihat pengunjung.


Untuk film animasi, beberapa gambar (frame) harus diberikan, dan dijahit bersama-sama dalam sebuah program yang mampu membuat animasi semacam ini. Kebanyakan program editing gambar 3D bisa melakukannya.



Fitur

Sebuah gambar yang diberikan dapat dipahami dalam pengertian terlihat sejumlah fitur. Rendering penelitian dan pengembangan sebagian besar telah termotivasi dengan mencari cara untuk mensimulasikan efisien ini. Beberapa berhubungan langsung dengan algoritma dan teknik tertentu, sedangkan yang lain diproduksi bersama-sama.

- shading - bagaimana warna dan kecerahan dari permukaan bervariasi dengan pencahayaan

- tekstur-pemetaan - sebuah metode untuk menerapkan detail pada permukaan

- bump-mapping - sebuah metode simulasi skala kecil pada permukaan bumpiness

- pengasapan / berpartisipasi media - bagaimana cahaya meredup ketika melewati atmosfer non-jelas atau udara

- bayang-bayang - menghalangi efek cahaya

- lembut bayang-bayang - beragam kegelapan disebabkan oleh sumber cahaya setengah tertutup

- refleksi - cermin-seperti atau sangat mengilap refleksi

- transparansi (optik), transparansi (grafis) atau opacity - tajam transmisi cahaya melalui benda padat

- tembus - sangat tersebar transmisi cahaya melalui benda padat

- pembiasan - pembengkokan cahaya yang terkait dengan transparansi

- difraksi - tekukan, menyebarkan dan interferensi cahaya yang lewat celah suatu objek atau sinar yang mengganggu

- pencahayaan tidak langsung - permukaan yang diterangi oleh cahaya yang dipantulkan dari permukaan lain, bukan langsung dari sumber cahaya (juga dikenal sebagai pencahayaan global)

- Kaustik (suatu bentuk penerangan tidak langsung) - pantulan cahaya dari sebuah benda bersinar, atau memfokuskan cahaya melalui objek yang transparan, untuk menghasilkan terang menyoroti objek lain

- kedalaman lapangan - objek tampak buram atau tidak fokus ketika terlalu jauh di depan atau di belakang objek dalam fokus

- gerak blur - objek yang tampil buram karena gerakan kecepatan tinggi, atau gerakan kamera

- non-fotorealistik render - render adegan dalam gaya artistik, dimaksudkan agar terlihat seperti sebuah lukisan atau gambar



Teknik

Banyak algoritma rendering telah diriset, dan software yang digunakan untuk rendering dapat menggunakan sejumlah teknik yang berbeda untuk mendapatkan gambar akhir. Menelusuri setiap sinar cahaya dalam adegan tidak praktis dan akan mengambil banyak waktu. Bahkan menjiplak sebagian yang cukup besar untuk menghasilkan gambar yang memerlukan waktu banyak waktu jika sampling tidak cerdas dibatasi.


Oleh karena itu, empat keluarga yang lebih longgar-cahaya efisien teknik pemodelan transportasi telah muncul: rasterization, termasuk scanline rendering, proyek geometris objek dalam adegan ke foto pesawat, tanpa efek optis maju; ray casting menganggap adegan seperti yang diamati dari titik tertentu - of-view, menghitung gambar yang diamati hanya didasarkan pada geometri dan sangat dasar hukum optik refleksi intensitas, dan mungkin menggunakan Monte Carlo teknik untuk mengurangi artefak; radiositas menggunakan elemen hingga matematika untuk mensimulasikan penyebaran difusi cahaya dari permukaan; dan ray tracing mirip untuk sinar casting, tetapi mempekerjakan lebih maju optik simulasi, dan biasanya menggunakan teknik Monte Carlo untuk mendapatkan hasil yang lebih realistis dengan kecepatan yang sering kali lipat lebih lambat.


Kebanyakan perangkat lunak canggih menggabungkan dua atau lebih teknik untuk memperoleh hasil yang cukup baik dengan biaya murah.


Perbedaan lain antara urutan foto algoritma, yang iterate atas piksel dari gambar pesawat, dan ketertiban objek algoritma, yang iterate atas benda-benda dalam adegan. Umumnya objek agar lebih efisien, karena ada biasanya lebih sedikit objek dalam sebuah adegan dari piksel.


Scanline rendering dan rasterisation

Seorang perwakilan tingkat tinggi dari suatu gambar harus berisi elemen dalam domain yang berbeda dari piksel. Elemen ini disebut sebagai primitif. Dalam skema gambar, misalnya, segmen garis dan kurva mungkin primitif. Dalam sebuah antarmuka pengguna grafis, jendela dan tombol mungkin menjadi primitif. Dalam 3D rendering, segitiga dan poligon dalam ruang mungkin primitif.


Jika pixel-by-pixel (urutan foto) pendekatan untuk rendering praktis atau terlalu lambat untuk beberapa tugas, kemudian primitif-by-primitif (objek order) pendekatan untuk render mungkin terbukti bermanfaat. Sini, satu loop melalui masing-masing orang primitif, menentukan piksel dalam gambar itu mempengaruhi, dan mengubah piksel yang sesuai. Hal ini disebut rasterization, dan merupakan metode rendering saat ini digunakan oleh semua kartu grafis.


Rasterization seringkali lebih cepat daripada pixel-by-pixel rendering. Pertama, daerah besar gambar tersebut dapat menjadi kosong dari primitif; rasterization akan mengabaikan daerah-daerah tersebut, tapi pixel-by-pixel rendering harus melalui mereka. Kedua, dapat meningkatkan rasterization cache koherensi dan mengurangi kerja berlebihan dengan mengambil keuntungan dari fakta bahwa piksel diduduki oleh satu primitif cenderung bersebelahan pada gambar. Untuk alasan ini, biasanya rasterization pendekatan pilihan ketika interaktif render diperlukan, namun pixel-by-pixel pendekatan seringkali dapat menghasilkan gambar berkualitas lebih tinggi dan lebih fleksibel karena tidak tergantung pada banyak asumsi tentang foto sebagai rasterization.


Bentuk yang lebih tua dicirikan oleh rasterization render seluruh wajah (primitif) sebagai satu warna. Atau, rasterization dapat dilakukan dengan cara yang lebih rumit dengan terlebih dahulu melakukan jasa-simpul dari sebuah wajah dan kemudian render pixel dari wajah itu sebagai campuran dari warna titik sudut.


Versi ini telah menyusul rasterization metode lama karena memungkinkan grafik mengalir tanpa tekstur rumit (sebuah gambar apabila digunakan rasterized muka dengan muka cenderung memiliki yang sangat blok-seperti efek jika tidak tercakup dalam kompleks tekstur; wajah tidak mulus karena tidak ada perubahan warna secara bertahap dari satu primitif ke berikutnya). Metode baru ini rasterization menggunakan kartu grafis yang lebih berat fungsi pelindung dan masih mencapai kinerja yang lebih baik karena tekstur sederhana yang disimpan dalam memori menggunakan lebih sedikit ruang. Kadang-kadang desainer akan menggunakan salah satu metode pada beberapa rasterization wajah dan metode lainnya pada orang lain yang didasarkan pada sudut di mana wajah itu memenuhi bergabung dengan wajah-wajah lain, sehingga meningkatkan kecepatan dan tidak menyakiti efek keseluruhan.

Ray casting

Ray pengecoran terutama digunakan untuk realtime simulasi, seperti yang digunakan di komputer 3D game dan kartun animasi, di mana detail yang tidak penting, atau di mana akan lebih efisien untuk secara manual rincian palsu untuk memperoleh kinerja yang lebih baik dalam tahap komputasi. Hal ini biasanya terjadi ketika sejumlah besar perlu frame animasi. Permukaan yang dihasilkan memiliki karakteristik 'datar' penampilan bila tidak ada trik tambahan digunakan, seolah-olah objek dalam adegan semua dicat dengan matte finish.


Geometri yang telah dimodelkan di-parsing pixel dengan pixel, baris demi baris, dari sudut pandang luar, seolah-olah sinar pengecoran keluar dari sudut pandang. Mana suatu objek berpotongan, nilai warna pada titik dapat dievaluasi dengan menggunakan beberapa metode. Dalam sederhana, nilai warna objek pada titik persimpangan menjadi nilai dari pixel. Warna dapat ditentukan dari tekstur-peta. Metode yang lebih canggih adalah dengan memodifikasi nilai warna oleh faktor iluminasi, tetapi tanpa menghitung hubungan simulasi sumber cahaya. Untuk mengurangi artifak, sejumlah sinar dalam arah yang sedikit berbeda mungkin rata-rata.


Simulasi kasar sifat optik dapat tambahan diterapkan: perhitungan sederhana sinar dari objek ke titik pandang dibuat. Perhitungan lain adalah terbuat dari sudut insiden sinar cahaya dari sumber cahaya (s), dan dari ini serta intensitas tertentu dari sumber cahaya, nilai pixel dihitung. Simulasi lain menggunakan penerangan diplot dari radiositas algoritma, atau kombinasi dari kedua.

Radiositas

Radiositas adalah sebuah metode yang mencoba untuk mensimulasikan cara yang secara langsung permukaan yang diterangi cahaya tidak langsung bertindak sebagai sumber yang menerangi permukaan lain. Ini menghasilkan bayangan lebih realistis dan tampaknya lebih baik menangkap 'suasana' dari suatu adegan dalam ruangan. Sebuah contoh klasik adalah cara yang bayangan 'pelukan' sudut kamar.


Dasar optik simulasi adalah bahwa sebagian cahaya menyebar dari suatu titik pada permukaan tertentu tercermin dalam spektrum besar arah dan menerangi daerah sekitarnya.


Teknik simulasi dapat bervariasi dalam kompleksitasnya. Banyak rendering memiliki perkiraan yang sangat kasar radiositas, cukup menerangi seluruh pemandangan yang sangat sedikit dengan faktor yang dikenal sebagai suasana. Namun, ketika maju radiositas estimasi digabungkan dengan kualitas tinggi ray tracing algorithim, gambar mungkin menunjukkan realisme meyakinkan, terutama untuk adegan indoor.


Dalam radiositas maju simulasi, recursive, terbatas-elemen algoritma 'bouncing' cahaya bolak-balik antara permukaan dalam model, hingga beberapa rekursi batas tersebut tercapai. Warnanya satu permukaan dengan cara ini mempengaruhi warna dari permukaan tetangga, dan sebaliknya. Nilai-nilai yang dihasilkan pencahayaan seluruh model (kadang-kadang termasuk spasi kosong) disimpan dan digunakan sebagai input tambahan saat melakukan perhitungan dalam ray-casting atau model ray-tracing.


Karena berulang-ulang / recursive sifat teknik, objek kompleks sangat lambat untuk ditiru. Sebelum radiositas standarisasi perhitungan cepat, beberapa seniman grafis menggunakan teknik longgar disebut sebagai palsu radiositas oleh bidang-bidang gelap yang sesuai dengan peta tekstur sudut, sendi dan relung, dan menerapkan diri mereka melalui iluminasi atau menyebar pemetaan untuk scanline rendering.


Bahkan sekarang, maju radiositas perhitungan mungkin disediakan untuk menghitung suasana ruangan, dari cahaya memantul dinding, lantai dan langit-langit, tanpa memeriksa kontribusi objek yang kompleks membuat ke radiositas - atau kompleks objek dapat diganti dalam radiositas perhitungan dengan objek sederhana dengan ukuran hampir sama dan tekstur.


Jika ada sedikit penataan ulang terhadap objek radiositas dalam adegan, data radiositas yang sama dapat digunakan kembali untuk beberapa frame, membuat radiositas cara yang efektif untuk meningkatkan pada kelandaian ray casting, tanpa berdampak serius secara keseluruhan waktu render per-frame .


Karena ini, radiositas telah menjadi real-time terkemuka metode rendering, dan telah digunakan dari awal-to-end untuk membuat sejumlah besar terkenal akan fitur-fitur baru animasi 3D-film kartun.

Ray tracing

Ray tracing bertujuan untuk mensimulasikan aliran alami cahaya, ditafsirkan sebagai partikel. Seringkali, metode ray tracing digunakan untuk perkiraan solusi untuk render persamaan dengan menerapkan metode Monte Carlo untuk itu. Beberapa metode yang paling umum digunakan adalah Path Tracing, bidirectional Path Tracing, atau cahaya Metropolis transportasi, tapi juga semi realistis metode digunakan, seperti Whitted Gaya Ray Tracing, atau hibrida. While Sementara kebanyakan implementasi membiarkan menyebarkan cahaya pada garis-garis lurus, aplikasi yang ada untuk mensimulasikan efek ruang-waktu relativistik.


Dalam final render kualitas produksi sinar kerja ditelusuri, banyak sinar umumnya ditembak untuk setiap pixel, dan dijiplak bukan hanya untuk objek pertama persimpangan, melainkan, melalui sejumlah berurutan 'bouncing', dengan menggunakan hukum-hukum yang dikenal optik seperti "sama insiden sudut sudut refleksi" dan lebih maju hukum yang berhubungan dengan pembiasan dan kekasaran permukaan.


Setelah bertemu dengan sinar baik sumber cahaya, atau lebih mungkin sekali satu set membatasi jumlah bouncing telah dievaluasi, maka permukaan iluminasi pada titik akhir dievaluasi dengan menggunakan teknik yang telah dijelaskan di atas, dan perubahan-perubahan sepanjang perjalanan melalui berbagai terpental dievaluasi untuk memperkirakan nilai yang diamati pada titik pandang. Ini semua diulang untuk setiap sampel, untuk setiap pixel.


Dalam ray tracing distribusi, pada setiap titik persimpangan, banyak sinar dapat melahirkan. Dalam melacak jalur Namun, hanya satu sinar atau tidak ada yang dipecat pada setiap persimpangan, memanfaatkan sifat statistik Monte Carlo percobaan.

Sebagai metode brute force, ray tracing sudah terlalu lambat untuk mempertimbangkan untuk real-time, dan sampai baru-baru ini terlalu lambat bahkan untuk mempertimbangkan untuk film pendek dari setiap tingkat kualitas, meskipun telah digunakan untuk rangkaian efek khusus, dan dalam periklanan , di mana sebagian pendek berkualitas tinggi (mungkin bahkan fotorealistik) cuplikan diperlukan.


Namun, mengoptimalkan upaya untuk mengurangi jumlah perhitungan yang dibutuhkan dalam bagian kerja di mana detail yang tidak tinggi atau tidak tergantung pada fitur ray tracing menyebabkan kemungkinan yang realistis penggunaan lebih luas ray tracing. Saat ini sudah ada beberapa ray tracing akselerasi perangkat keras peralatan, paling tidak dalam tahap prototipe, dan beberapa game demo yang menunjukkan penggunaan perangkat lunak waktu-nyata atau hardware ray tracing.



Alur diterbitkan penting ide-ide

- 1968 Ray casting (Appel, A. (1968). Beberapa teknik untuk mesin pelindung rendering padat. Proceedings of the Spring Bersama Konferensi Komputer 32, 37-49.)

- 1970 Scanline rendering (Bouknight, WJ (1970). Suatu prosedur untuk generasi tiga-dimensi setengah-nada presentasi grafik komputer. Communications of the ACM)

- 1971 Gouraud pelindung (Gouraud, H. (1971). Komputer tampilan permukaan lengkung. IEEE Transaksi pada Komputer 20 (6), 623-629.)

- 1974 Tekstur pemetaan (Catmull, E. (1974). Sebuah algoritma pembagian layar komputer permukaan lengkung. PhD thesis, University of Utah.)

- 1974 Z-buffering (Catmull, E. (1974). Sebuah algoritma pembagian layar komputer permukaan lengkung. PhD thesis)

- 1975 Phong shading (Phong, BT. (1975). Iluminasi untuk gambar yang dihasilkan komputer. Communications of the ACM 18 (6), 311-316.)

- 1976 Lingkungan pemetaan (Blinn, JF, Newell, ME (1976). Tekstur dan refleksi dalam gambar yang dihasilkan komputer. Communications of the ACM 19, 542-546.)

- 1977 Shadow volume (Crow, FC (1977). Shadow algoritma untuk komputer grafis. Computer Graphics (Proceedings of SIGGRAPH 1977) 11 (2), 242-248.)

- 1978 penyangga (Williams, L. (1978). Pengcoran melengkung bayangan pada permukaan lengkung. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 270-274.)

- 1978 Bump pemetaan (Blinn, JF (1978). Simulasi permukaan keriput. Computer Graphics (Proceedings of SIGGRAPH 1978) 12 (3), 286-292.)

- 1980 pohon BSP (Fuchs, H., Kedem, ZM, Naylor, BF (1980). Pada generasi permukaan terlihat oleh struktur pohon apriori. Computer Graphics (Proceedings of SIGGRAPH 1980) 14 (3), 124-133.)

- 1980 Ray tracing (Whitted, T. (1980). Sebuah model penerangan diperbaiki teduh layar. Communications of the ACM 23 (6), 343-349.)

- 1981 shader (Cook, RL, Torrance, KE (1981). Sebuah model reflectance komputer grafis. Computer Graphics (Proceedings of SIGGRAPH 1981) 15 (3), 307-316.)

- 1983 MIP peta (Williams, L. (1983). Piramida parametrics. Computer Graphics (Proceedings of SIGGRAPH 1983) 17 (3), 1-11.)

- 1984 Octree ray tracing (Glassner, AS (1984). Space subdivisi untuk cepat ray tracing. IEEE Computer Graphics & Aplikasi 4 (10), 15-22.)

- 1984 Alpha compositing (Porter, T., Duff, T. (1984). Compositing gambar digital. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 253-259.)

- 1984 Terdistribusi ray tracing (Cook, RL, Porter, T., Carpenter, L. (1984). Terdistribusi ray tracing. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 137-145.)

- 1984 radiositas (Goral, C., Torrance, KE, Greenberg DP, Battaile, B. (1984). Pemodelan interaksi cahaya antara permukaan menyebar. Computer Graphics (Proceedings of SIGGRAPH 1984) 18 (3), 213-222.)

- 1985 Hemicube radiositas (Cohen, MF, Greenberg, DP (1985). The hemi-kubus: sebuah radiositas solusi untuk lingkungan yang kompleks. Computer Graphics (Proceedings of SIGGRAPH 1985) 19 (3), 31-40.)

- Sumber cahaya 1986 kalkir (Arvo, J. (1986). Backward ray tracing. SIGGRAPH 1986 Ray Tracing Pembangunan di catatan saja)

- 1986 Rendering persamaan (Kajiya, J. (1986). The rendering persamaan. Computer Graphics (Proceedings of SIGGRAPH 1986) 20 (4), 143-150.)

- 1987 Reyes rendering (Cook, RL, Carpenter, L., Catmull, E. (1987). The Reyes gambar arsitektur rendering. Computer Graphics (Proceedings of SIGGRAPH 1987) 21 (4), 95-102.)

- 1991 hirarkis radiositas (Hanrahan, P., Salzman, D., Aupperle, L. (1991). Sebuah cepat radiositas algoritma hirarkis. Computer Graphics (Proceedings of SIGGRAPH 1991) 25 (4), 197-206.)

- 1993 Nada pemetaan (Tumblin, J., Rushmeier, HE (1993). Nada reproduksi untuk gambar yang dihasilkan komputer realistis. IEEE Computer Graphics & Aplikasi 13 (6), 42-48.)

- 1993 bawah permukaan hamburan (Hanrahan, P., Krueger, W. (1993). Refleksi dari permukaan berlapis bawah permukaan akibat berserakan. Computer Graphics (Proceedings of SIGGRAPH 1993) 27 (), 165-174.)

- 1995 Foton pemetaan (Jensen, HW, Christensen, NJ (1995). Foton peta dalam bidirectional monte carlo ray tracing objek yang kompleks. Komputer & Graphics 19 (2), 215-224.)

- 1997 cahaya Metropolis transportasi (Veach, E., Guibas, L. (1997). Metropolis cahaya transportasi. Computer Graphics (Proceedings of SIGGRAPH 1997) 16 65-76.)

- Instan radiositas 1997 (Keller, A. (1997). Instan radiositas. Computer Graphics (Proceedings of SIGGRAPH 1997) 24, 49-56.)

- 2002 Precomputed Radiance Transfer (Sloan, P., Kautz, J., Snyder, J. (2002). Precomputed Radiance Transfer untuk Real-Time Rendering di Dinamis, Low Frekuensi Lighting Lingkungan. Computer Graphics (Proceedings of SIGGRAPH 2002) 29, 527 -536.)



Sumber:

http://en.wikipedia.org/wiki/Rendering_(computer_graphics)

Tidak ada komentar:

Poskan Komentar