Apa itu rendering gp? Apa itu rendering? Apa itu Rendering Waktu Nyata

Asal usul istilah Kata "render" (atau "rendering"), seperti banyak hal yang berkaitan dengan teknologi IP, berasal dari bahasa Inggris. Berasal dari bahasa Prancis Kuno rendre, yang berarti “melakukan”, “memberi”, “mengembalikan”, “mengembalikan”. Akar yang lebih dalam dari kata kerja ini berasal dari bahasa Latin kuno: re adalah awalan yang berarti “kembali” dan berani berarti “memberi.” Oleh karena itu salah satu arti dari istilah modern. Rendering juga merupakan proses pembuatan kembali gambar planar berdasarkan model tiga dimensi yang berisi informasi tentang sifat fisik suatu benda – bentuknya, tekstur permukaan, iluminasi, dan sebagainya.

Render(Bahasa Inggris rendering - "visualisasi") dalam grafik komputer adalah proses memperoleh gambar dari model menggunakan program komputer.

Di sini model adalah deskripsi objek atau fenomena apa pun dalam bahasa yang ditentukan secara ketat atau dalam bentuk struktur data. Deskripsi tersebut dapat berisi data geometri, posisi titik pengamat, informasi tentang pencahayaan, derajat keberadaan suatu zat, kekuatan medan fisik, dan lain-lain.

Contoh visualisasi adalah citra ruang angkasa radar, yang merepresentasikan data berupa citra yang diperoleh melalui pemindaian radar terhadap permukaan suatu benda kosmik dalam rentang gelombang elektromagnetik yang tidak terlihat oleh mata manusia.

Seringkali dalam grafik komputer (artistik dan teknis), rendering dipahami sebagai pembuatan gambar datar (gambar) berdasarkan adegan 3D yang dikembangkan. Gambar adalah gambar raster digital. Sinonim dalam konteks ini adalah Visualisasi.

Visualisasi adalah salah satu bagian terpenting dalam grafik komputer, dan dalam praktiknya berkaitan erat dengan bagian lainnya. Biasanya, paket perangkat lunak pemodelan dan animasi 3D juga menyertakan fungsi rendering. Ada produk perangkat lunak terpisah yang melakukan rendering.

Tergantung pada tujuannya, terdapat perbedaan antara pra-render, yang merupakan proses rendering yang cukup lambat, yang terutama digunakan dalam pembuatan video, dan rendering mode nyata, yang digunakan dalam permainan komputer. Yang terakhir ini sering menggunakan akselerator 3D.

Fitur Rendering

Dibutuhkan banyak waktu untuk menyempurnakan sketsa awal - waktu pemrosesan gambar kompleks di komputer bisa mencapai beberapa jam. Selama periode ini terjadi hal-hal berikut:

  • warna
  • merinci elemen-elemen kecil
  • pengembangan efek pencahayaan - pantulan aliran, bayangan dan lain-lain
  • tampilan kondisi iklim
  • implementasi detail lainnya untuk meningkatkan realisme.

Kompleksitas pemrosesan mempengaruhi harga visualisasi 3D; semakin banyak waktu yang dibutuhkan, semakin mahal biaya proyek. Jika memungkinkan, pemodel menyederhanakan proses rendering, misalnya menghitung momen individual atau menggunakan alat lain untuk mengurangi waktu rendering tanpa mengurangi kualitasnya.

Siapa yang melakukan rendering?

Profesi paling umum yang mengharuskan Anda memiliki pengetahuan tentang rendering adalah “desainer 3D”. Seorang spesialis semacam ini dapat membuat segalanya: mulai dari spanduk dasar hingga model permainan komputer.

Dan tentu saja, seorang desainer 3D tidak hanya menangani rendering, tetapi juga semua tahapan sebelumnya dalam pembuatan grafik 3D, yaitu: pemodelan, tekstur, pencahayaan, animasi, dan baru setelah itu – visualisasi.

Namun, seorang desainer 3D tidak bekerja dengan rumus matematika dan fisika, melainkan mendeskripsikannya dalam bahasa pemrograman. Semua ini dilakukan untuknya oleh program kompiler (3D Max, Maya, Cinema 4D, Zbrush, Blender, dll.) dan perpustakaan properti fisik yang sudah tertulis (ODE, Newton, PhysX, Bullet, dll.).

Secara terpisah, di antara program yang tercantum di atas yang memungkinkan Anda membuat grafik 3D, Anda perlu menyoroti program gratis OGRE 3D - mesin grafis khusus untuk rendering, yang dengannya Anda tidak hanya dapat membuat "gambar", tetapi juga mengimplementasikan keseluruhan , dan yang paling penting, permainan komputer lengkap. Misalnya, Torchlight menggunakan OGRE sebagai mesin permainannya.

Nah, untuk memproses adegan grafis dalam jumlah dan kualitas seperti itu, komputer desktop tidak akan cukup, sehingga akhir-akhir ini tidak hanya program untuk rendering yang telah dibuat, tetapi juga layanan untuk memproses prosesnya, seperti "render farm". Dan perlu dicatat bahwa kesenangan ini tidak murah, meskipun harga render farm rendah, harga rendering ternyata cukup mengesankan - 3,9 sen / GHz-jam.

Jenis rendering: online dan pra-render

Ada dua jenis rendering utama, bergantung pada kecepatan pembuatan gambar akhir. Yang pertama adalah rendering real-time, yang diperlukan dalam grafik interaktif, terutama dalam permainan komputer. Di sini kita membutuhkan rendering yang cepat, gambar harus langsung ditampilkan di layar, sehingga banyak hal dalam adegan dihitung terlebih dahulu dan disimpan di dalamnya sebagai data terpisah. Ini termasuk tekstur yang menentukan tampilan objek dan pencahayaan.

Program yang digunakan untuk rendering online sebagian besar menggunakan sumber daya kartu grafis dan RAM komputer, serta pada tingkat lebih rendah, prosesor. Untuk merender adegan yang lebih kompleks secara visual, serta di mana masalah kecepatan tidak begitu relevan, ketika kualitas render jauh lebih penting, metode dan program rendering lain digunakan. Dalam hal ini, kekuatan penuh dari prosesor multi-core digunakan, parameter tertinggi untuk resolusi tekstur dan perhitungan pencahayaan ditetapkan. Render pasca-pemrosesan sering kali digunakan untuk mencapai fotorealisme tingkat tinggi atau efek artistik yang diinginkan. Metode rendering pemandangan Pilihan metode perolehan gambar bergantung pada tugas spesifik dan seringkali pada preferensi dan pengalaman pribadi visualisator.

Semakin banyak sistem rendering baru yang dikembangkan - baik yang sangat terspesialisasi atau universal. Saat ini, program rendering yang paling umum didasarkan pada tiga metode komputasi utama: Rasterisasi (Scanline) - metode di mana gambar dibuat dengan menghitung bukan titik piksel individual, tetapi seluruh wajah-poligon dan sebagian besar permukaan. Tekstur yang menentukan properti objek, seperti cahaya dalam pemandangan, ditangkap sebagai data yang tidak dapat diubah. Gambar yang dihasilkan seringkali tidak mencerminkan perubahan perspektif dalam pencahayaan, kedalaman bidang, dll. Ini lebih sering digunakan dalam sistem rendering adegan dalam game dan produksi video. Raytracing - fisika pemandangan dihitung berdasarkan sinar yang memancar dari lensa kamera virtual dan menganalisis interaksi setiap sinar dengan objek yang ditemuinya dalam pemandangan. Bergantung pada kuantitas dan kualitas "pantulan" tersebut, pantulan atau pembiasan cahaya, warna, saturasi, dll disimulasikan.Kualitas gambar yang dihasilkan jauh lebih tinggi dibandingkan dengan rasterisasi, namun realismenya harus dibayar dengan harga peningkatan konsumsi sumber daya. Perhitungan cahaya yang dipantulkan (Radiositas) - setiap titik, setiap piksel gambar diberkahi dengan warna yang tidak bergantung pada kamera. Hal ini dipengaruhi oleh sumber cahaya global dan lokal serta lingkungan sekitar. Metode ini memungkinkan Anda menghitung penampakan warna dan pantulan cahaya dari objek terdekat pada permukaan model. Praktek menunjukkan bahwa sistem rendering paling canggih dan populer menggunakan kombinasi semua atau metode dasar. Hal ini memungkinkan Anda mencapai fotorealisme dan keaslian maksimum dalam tampilan proses fisik dalam pemandangan tertentu.

Sebagai kelanjutan dari program pendidikan komputer grafis untuk programmer dan seniman, saya ingin berbicara tentang apa itu rendering. Pertanyaannya tidak serumit kelihatannya, di bawah ini adalah penjelasan yang detail dan mudah dipahami!

Saya mulai menulis artikel yang mendidik untuk seorang pengembang game. Dan dia terburu-buru, menulis artikel tentang itu tanpa memberitahukan apa itu rendering. Oleh karena itu, artikel ini akan menjadi prekuel pengenalan shader dan titik awal dalam program pendidikan kami.

Apa itu rendering? (untuk programmer)

Jadi, Wikipedia memberikan definisi berikut: Rendering (Bahasa Inggris rendering - “visualization”) adalah istilah dalam grafik komputer yang mengacu pada proses memperoleh gambar dari suatu model dengan menggunakan program komputer.

Definisi yang cukup bagus, mari kita lanjutkan. Rendering adalah visualisasi. Dalam grafik komputer, seniman dan pemrogram 3D memahami rendering sebagai pembuatan gambar datar - gambar raster digital dari adegan 3D.
Artinya, jawaban informal atas pertanyaan kita “Apa yang dimaksud dengan rendering?” — ini untuk mendapatkan gambar 2D (di layar atau di file, tidak masalah). Dan program komputer yang menghasilkan rendering disebut renderer atau penyaji.

Memberikan

Pada gilirannya, kata “render” paling sering mengacu pada hasil rendering. Namun terkadang prosesnya disebut sama (hanya saja kata kerja dalam bahasa Inggris - render - telah diterjemahkan ke dalam bahasa Rusia, lebih pendek dan nyaman). Anda mungkin pernah menemukan berbagai gambar di Internet dengan judul “Tebak render atau fotonya?” Ini berarti visualisasi 3D atau fotografi nyata (grafik komputer sudah sangat maju sehingga terkadang Anda tidak dapat memahaminya).

Jenis rendering

Tergantung pada kemungkinan melakukan perhitungan paralel, ada:

  • rendering multi-utas - penghitungan dilakukan secara paralel di beberapa utas, pada beberapa inti prosesor,
  • rendering thread tunggal - dalam hal ini, penghitungan dilakukan dalam satu thread secara sinkron.

Ada banyak algoritma rendering, tetapi semuanya dapat dibagi menjadi dua kelompok berdasarkan prinsip produksi gambar: rasterisasi model 3D dan ray tracing. Kedua metode tersebut digunakan dalam video game. Namun ray tracing lebih sering digunakan bukan untuk memperoleh gambar secara real time, melainkan untuk menyiapkan apa yang disebut lightmaps - peta cahaya yang dihitung sebelumnya selama pengembangan, dan kemudian hasil prakalkulasi tersebut digunakan pada saat runtime.

Apa inti dari metode ini? Bagaimana cara kerja rasterisasi dan ray tracing? Mari kita mulai dengan rasterisasi.

Rasterisasi model poligonal

Panggung terdiri dari model-model yang terletak di atasnya. Pada gilirannya, setiap model terdiri dari primitif.
Ini bisa berupa titik, segmen, segitiga, dan beberapa bentuk primitif lainnya, seperti segi empat misalnya. Tetapi jika kita tidak merender titik atau segmen, semua primitif akan berubah menjadi segitiga.

Tugas rasterizer (program yang melakukan rasterisasi) adalah mendapatkan piksel gambar yang dihasilkan dari primitif tersebut. Rasterisasi dalam hal pipa grafis terjadi setelah vertex shader dan sebelum fragment shader ().

*mungkin artikel selanjutnya adalah analisa pipeline grafis yang saya janjikan, tulis di kolom komentar apakah analisa seperti itu diperlukan, saya akan senang dan bermanfaat mengetahui berapa banyak orang yang tertarik dengan semua ini. Saya membuat halaman terpisah di mana terdapat daftar topik yang dibahas dan topik yang akan datang -

Dalam kasus segmen, Anda perlu mendapatkan piksel dari garis yang menghubungkan dua titik, dalam kasus segitiga, piksel yang ada di dalamnya. Untuk permasalahan pertama digunakan algoritma Bresenham, untuk permasalahan kedua dapat digunakan algoritma penyapuan dengan garis lurus atau pengecekan koordinat barycentric.

Model karakter kompleks terdiri dari segitiga kecil dan rasterizer menghasilkan gambar yang sepenuhnya andal darinya. Lalu mengapa repot-repot menggunakan ray tracing? Mengapa tidak melakukan rasterisasi semuanya? Tapi intinya begini: rasterizer hanya mengetahui pekerjaan rutinnya, segitiga diubah menjadi piksel. Ia tidak tahu apa-apa tentang benda-benda di dekat segitiga.

Artinya ia tidak mampu memperhitungkan seluruh proses fisik yang terjadi di dunia nyata. Proses-proses ini secara langsung mempengaruhi gambar. Refleksi, refleksi, bayangan, hamburan bawah permukaan dan sebagainya! Segala sesuatu yang tanpanya kita hanya akan melihat model plastik dalam ruang hampa...
Dan para pemain menginginkan graphonia! Pemain membutuhkan fotorealisme!

Dan pemrogram grafis harus menemukan berbagai teknik untuk mencapai kedekatan dengan fotorealisme. Untuk melakukan ini, program shader menggunakan tekstur yang telah menghitung sebelumnya berbagai data cahaya, pantulan, bayangan, dan hamburan bawah permukaan.

Sebaliknya, penelusuran sinar memungkinkan Anda menghitung data ini, tetapi dengan mengorbankan lebih banyak waktu penghitungan yang tidak dapat dilakukan saat runtime. Mari kita lihat apa metode ini.

penelusuran sinar penelusuran sinar)

Ingat tentang dualitas gelombang-partikel? Izinkan saya mengingatkan Anda tentang esensinya: cahaya berperilaku baik sebagai gelombang maupun sebagai aliran partikel - foton. Jadi, tracing (dari bahasa Inggris “trace” to trace the path), ini adalah simulasi sinar cahaya, secara kasar. Namun menelusuri setiap pancaran cahaya dalam sebuah pemandangan tidaklah praktis dan memerlukan waktu yang sangat lama.

Kami akan membatasi diri pada jumlah yang relatif kecil, dan akan menelusuri sinar tersebut ke arah yang kami perlukan.
Petunjuk apa yang kita perlukan? Kita perlu menentukan warna piksel pada gambar yang dihasilkan. Artinya, kita mengetahui jumlah sinar sama dengan jumlah piksel pada gambar.

Bagaimana dengan arahnya? Sederhana saja, kita akan menelusuri sinar sesuai dengan titik pengamatan (arah kamera virtual kita diarahkan). Sinar tersebut suatu saat akan bertemu dengan objek yang ada di pemandangan (jika tidak bertemu berarti ada piksel gelap atau piksel langit dari skybox misalnya).

Saat bertemu suatu objek, berkas cahaya tidak berhenti menyebar, tetapi terbagi menjadi tiga komponen berkas, yang masing-masing berkontribusi terhadap warna piksel pada layar dua dimensi: dipantulkan, bayangan, dan dibiaskan. Jumlah komponen tersebut menentukan kedalaman penelusuran dan mempengaruhi kualitas serta fotorealisme gambar. Karena fitur konseptualnya, metode ini memungkinkan seseorang memperoleh gambar yang sangat fotorealistik, namun karena intensitas sumber daya yang tinggi, proses visualisasinya memakan waktu yang cukup lama.

Rendering untuk seniman

Namun rendering bukan sekadar visualisasi perangkat lunak! Seniman yang licik juga menggunakannya. Jadi apa yang dimaksud dengan rendering dari sudut pandang seorang seniman? Hampir sama dengan programmer, hanya seniman konsep yang melakukannya sendiri. Dengan tanganmu. Sama seperti penyaji dalam video game atau V-ray di Maya, seniman memperhitungkan pencahayaan, hamburan bawah permukaan, kabut, dan faktor lain yang memengaruhi warna akhir permukaan.

Misalnya, gambar di atas dikerjakan selangkah demi selangkah dengan cara ini: Sketsa kasar - Garis - Warna - Volume - Render bahan.

Bahan rendering mencakup pembuatan tekstur, pemrosesan highlight - logam, misalnya, paling sering merupakan permukaan yang sangat halus yang memiliki highlight yang jelas di tepinya. Selain semua itu, seniman dihadapkan pada rasterisasi grafik vektor, yang kira-kira sama dengan rasterisasi model 3D.

Rasterisasi grafik vektor

Intinya kurang lebih sama, ada data kurva 2D, yaitu kontur yang mendefinisikan objek. Kami memiliki gambar raster akhir dan rasterizer mengubah data kurva menjadi piksel. Setelah ini, kami tidak memiliki cara untuk menskalakan gambar tanpa kehilangan kualitas.

Baca terus

  • - penjelasan sederhana tentang shader yang rumit dan menakutkan
  • — Ikhtisar partikel yang berguna dan pilihan tutorial video tentang cara membuat efek khusus di Unity3d

Kata penutup

Pada artikel ini saya harap Anda telah mempelajari banyak huruf, Anda sudah mendapat gambaran tentang apa itu rendering, jenis rendering apa yang ada. Jika Anda memiliki pertanyaan, silakan tanyakan di komentar, saya pasti akan menjawab. Saya akan berterima kasih atas klarifikasi dan indikasi segala ketidakakuratan dan kesalahan.

Pilihan Editor

Apa itu rendering dan fitur apa saja yang dimiliki proses ini?

Grafik komputer- bagian penting dari hampir semua bidang dan lingkungan tempat seseorang berinteraksi.

Seluruh objek lingkungan perkotaan, perancangan ruangan, perlengkapan rumah tangga, dan pada tahap perancangan dan implementasinya dilakukan dalam bentuk model komputer tiga dimensi, yang digambar oleh seniman dalam program khusus.

Penggambaran model terjadi dalam beberapa tahap, salah satu tahap terakhir adalah rendering - apa itu dan bagaimana pelaksanaannya dijelaskan dalam materi ini.

Definisi

Rendering (atau disebut juga rendering) merupakan salah satu proses akhir dalam pengolahan dan penggambaran model komputer tiga dimensi tiga dimensi tertentu.

Secara teknis, ini adalah proses “menempelkan” atau mencocokkan, menghasilkan gambar tiga dimensi dari sejumlah gambar dua dimensi. Tergantung pada kualitas atau detailnya, gambar dua dimensi bisa berupa sedikit atau banyak.

Selain itu, terkadang pada tahap proses “perakitan” model ini, beberapa elemen tiga dimensi dapat digunakan.

Proses ini cukup rumit dan panjang. Hal ini didasarkan pada berbagai perhitungan yang dilakukan baik oleh komputer dan (pada tingkat lebih rendah) oleh seniman itu sendiri.

Penting! Program yang memungkinkan Anda mengimplementasikannya dirancang untuk bekerja dengan grafik tiga dimensi, yang berarti program tersebut cukup kuat dan memerlukan sumber daya perangkat keras yang besar serta sejumlah besar RAM.

Mereka memberikan beban yang signifikan pada perangkat keras komputer.

Lingkup aplikasi

Di bidang apa konsep ini dapat diterapkan dan apakah proses seperti itu perlu dilakukan?

Proses ini diperlukan di semua bidang yang melibatkan pembuatan model tiga dimensi tiga dimensi, dan grafik komputer secara umum, dan ini hampir semua bidang kehidupan yang dapat berinteraksi dengan manusia modern.

Desain dengan bantuan komputer digunakan dalam:

  • Desain bangunan dan struktur;
  • Arsitektur lansekap;
  • Desain lingkungan perkotaan;
  • Desain interior;
  • Hampir setiap benda yang diproduksi dulunya merupakan model komputer;
  • Video game;
  • Produksi film, dll.

Pada saat yang sama, proses ini, pada hakikatnya, bersifat final.

Ini mungkin yang terakhir atau kedua dari belakang ketika merancang sebuah model.

Perhatikan bahwa rendering sering kali disebut bukan proses pembuatan model itu sendiri, tetapi hasilnya - model komputer tiga dimensi yang sudah jadi.

Teknologi

Prosedur ini bisa disebut salah satu yang tersulit ketika bekerja dengan gambar dan objek tiga dimensi dalam grafik komputer.

Tahap ini disertai dengan perhitungan teknis rumit yang dilakukan oleh mesin program - data matematis tentang pemandangan dan objek pada tahap ini diterjemahkan ke dalam gambar dua dimensi akhir.

Artinya, warna, cahaya, dan data lain tentang model tiga dimensi diproses piksel demi piksel sedemikian rupa sehingga dapat ditampilkan sebagai gambar dua dimensi di layar komputer.

Artinya, melalui serangkaian perhitungan, sistem menentukan dengan tepat bagaimana setiap piksel dari setiap gambar dua dimensi harus diwarnai sehingga hasilnya tampak seperti model tiga dimensi di layar komputer pengguna.

Jenis

Tergantung pada karakteristik teknologi dan pekerjaan, ada dua jenis utama dari proses tersebut - rendering waktu nyata dan rendering awal.

Dalam waktu nyata

Jenis ini tersebar luas, terutama pada permainan komputer.

Dalam kondisi permainan, gambar harus dihitung dan disejajarkan secepat mungkin, misalnya saat pengguna berpindah-pindah lokasi.

Dan meskipun hal ini tidak terjadi “dari awal” dan terdapat beberapa persiapan awal yang banyak, namun justru karena fitur inilah permainan komputer jenis ini memberikan beban yang sangat besar pada perangkat keras komputer.

Jika terjadi kegagalan dalam hal ini, gambar dapat berubah dan terdistorsi, piksel yang tidak dimuat mungkin muncul, dan ketika pengguna (karakter) melakukan tindakan apa pun, gambar mungkin tidak benar-benar berubah seluruhnya atau sebagian.

Dalam waktu nyata, mesin seperti itu bekerja dalam permainan karena tidak mungkin untuk memprediksi sifat tindakan, arah pergerakan pemain, dll. (walaupun ada skenario yang paling mungkin berhasil).

Oleh karena itu, mesin harus memproses gambar dengan kecepatan 25 frame per detik., karena meskipun kecepatannya dikurangi menjadi 20 frame per detik, pengguna akan merasa tidak nyaman, karena gambar akan mulai berkedut dan melambat.

Dalam semua ini, proses optimasi memainkan peran yang sangat penting, yaitu tindakan yang diambil pengembang untuk mengurangi beban pada mesin dan meningkatkan kinerjanya selama permainan.

Oleh karena itu, rendering yang mulus memerlukan, pertama-tama, peta tekstur dan beberapa penyederhanaan grafis yang dapat diterima.

Tindakan tersebut membantu mengurangi beban pada mesin dan perangkat keras komputer., yang pada akhirnya membuat game menjadi lebih mudah untuk diluncurkan, lebih sederhana, dan lebih cepat.

Kualitas optimalisasi mesin renderlah yang sangat menentukan seberapa stabil game tersebut dan seberapa realistis segala sesuatu yang terjadi terlihat.

Pendahuluan

Tipe ini digunakan dalam situasi dimana interaktivitas tidak penting.

Misalnya, jenis ini banyak digunakan dalam industri film, ketika merancang model apa pun yang fungsinya terbatas, misalnya, dimaksudkan hanya untuk ditonton menggunakan PC.

Artinya, ini adalah pendekatan yang lebih disederhanakan, yang juga dimungkinkan, misalnya, dalam desain - yaitu, dalam situasi di mana tindakan pengguna tidak perlu ditebak, karena tindakan tersebut dibatasi dan dihitung terlebih dahulu (dan dengan ini dalam ingat, rendering dapat dilakukan terlebih dahulu).

Dalam hal ini, beban saat melihat model tidak jatuh pada mesin program, tetapi pada prosesor pusat PC. Pada saat yang sama, kualitas dan kecepatan konstruksi gambar bergantung pada jumlah inti, kondisi komputer, kinerjanya, dan CPU.

Render

Hasilnya, empat kelompok metode telah dikembangkan yang lebih efisien daripada memodelkan semua sinar cahaya yang menerangi pemandangan:

  • Rasterisasi(Bahasa inggris) rasterisasi ) bersama dengan metode pemindaian string (eng. rendering garis pindai). Rendering dilakukan dengan memproyeksikan objek pemandangan ke layar tanpa mempertimbangkan efek perspektif relatif terhadap pengamat.
  • pengecoran sinar (penyiaran sinar) (Bahasa inggris) pengecoran sinar). Adegan tersebut dianggap diamati dari titik tertentu. Dari titik pengamatan, sinar diarahkan ke objek dalam pemandangan, yang dengannya warna piksel pada layar dua dimensi ditentukan. Dalam hal ini, sinar berhenti merambat (tidak seperti metode penelusuran balik) ketika mencapai objek apa pun dalam pemandangan atau latar belakangnya. Dimungkinkan untuk menggunakan beberapa cara yang sangat sederhana untuk menambahkan efek optik. Efek perspektif dicapai secara alami ketika sinar yang dipancarkan diluncurkan pada suatu sudut tergantung pada posisi piksel pada layar dan sudut pandang maksimum kamera.
  • penelusuran sinar(Bahasa inggris) penelusuran sinar ) mirip dengan metode lempar sinar. Dari titik pengamatan, sinar diarahkan ke objek dalam pemandangan, yang dengannya warna piksel pada layar dua dimensi ditentukan. Namun pada saat yang sama, sinar tidak berhenti menyebar, tetapi terbagi menjadi tiga komponen, sinar, yang masing-masing berkontribusi terhadap warna piksel pada layar dua dimensi: dipantulkan, bayangan, dan dibiaskan. Jumlah pembagian menjadi beberapa komponen menentukan kedalaman penelusuran dan mempengaruhi kualitas serta fotorealisme gambar. Karena fitur konseptualnya, metode ini memungkinkan seseorang memperoleh gambar yang sangat fotorealistik, namun pada saat yang sama sangat intensif sumber daya, dan proses visualisasinya memakan waktu yang lama.
  • Penelusuran jalur(Bahasa inggris) penelusuran jalur ) mengandung prinsip serupa dalam penelusuran perambatan sinar, tetapi metode ini paling dekat dengan hukum fisika perambatan cahaya. Ini juga merupakan yang paling intensif sumber daya.

Perangkat lunak tingkat lanjut biasanya menggabungkan beberapa teknik untuk menghasilkan gambar berkualitas tinggi dan fotorealistik dengan biaya sumber daya komputasi yang dapat diterima.

Pembenaran matematis

Implementasi mesin rendering selalu didasarkan pada model fisik. Perhitungan yang dilakukan berhubungan dengan model fisik atau abstrak tertentu. Ide dasarnya mudah dipahami tetapi sulit diterapkan. Biasanya, solusi atau algoritma akhir yang elegan lebih kompleks dan berisi kombinasi teknik yang berbeda.

Persamaan dasar

Kunci landasan teori rendering model adalah persamaan rendering. Ini adalah deskripsi formal terlengkap dari bagian rendering yang tidak terkait dengan persepsi gambar akhir. Semua model mewakili semacam solusi perkiraan untuk persamaan ini.

Penafsiran informalnya adalah sebagai berikut: Besarnya radiasi cahaya (L o) yang memancar dari suatu titik tertentu ke arah tertentu merupakan radiasi sendiri dan radiasi pantulan. Radiasi yang dipantulkan adalah jumlah radiasi yang masuk ke segala arah (L i), dikalikan dengan koefisien refleksi dari sudut tertentu. Menggabungkan dalam satu persamaan cahaya masuk dengan cahaya keluar pada satu titik, persamaan ini merupakan gambaran keseluruhan fluks cahaya dalam sistem tertentu.

Perangkat lunak rendering - penyaji (visualisator)

  • 3 Senang
  • AQSIS
  • BMRT (Alat Rendering Bulan Biru) (dihentikan)
  • BusyRay
  • Entropi (dihentikan)
  • penggorengan
  • Gelato (pengembangan dihentikan karena pembelian NVIDIA, mental ray)
  • Holomatix Renditio (pelacak sinar interaktif)
  • hipershot
  • tembakan kunci
  • Penyaji mantra
  • Meridian
  • Peri
  • RenderDotC
  • RenderMan (RenderMan FotoRealistik, RenderMan Pixar, atau PRMan)
  • Render Oktan
  • Arion Penyaji

Perender yang bekerja dalam waktu nyata (atau hampir nyata).

  • VrayRT
  • cahaya bayangan
  • Memamerkan
  • membawakan lagu
  • IR Brasil
  • Render Artlantis
Paket pemodelan 3D dengan penyajinya sendiri
  • Autodesk 3ds Max (Garis Pindai)
  • Perangkat Lunak e-on Vue
  • SideFX Houdini
  • Terragen, Terragen 2

Tabel perbandingan properti render

RenderMan sinar mental Gelato (dihentikan) V-Ray finalRender Brasil R/S Penyu Maxwell Render penggorengan Penyaji Indigo LuxRender Kerkythea YafaRay
kompatibel dengan 3ds Max Ya, melalui MaxMan dibangun di Ya Ya Ya Ya TIDAK Ya Ya Ya Ya Ya TIDAK
Kompatibel dengan Maya Ya, melalui Alat Artis RenderMan dibangun di Ya Ya Ya TIDAK Ya Ya Ya Ya Ya TIDAK
Kompatibel dengan gambar lunak Ya, melalui XSIMan dibangun di TIDAK Ya TIDAK TIDAK TIDAK Ya Ya Ya Ya TIDAK
Kompatibel dengan Houdini Ya Ya TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK Ya Ya TIDAK TIDAK
Kompatibel dengan LightWave TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK Ya Ya TIDAK TIDAK TIDAK
Kompatibel dengan blender TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK Ya Ya Ya Ya
kompatibel dengan SketchUp TIDAK TIDAK TIDAK Ya TIDAK TIDAK TIDAK Ya Ya Ya TIDAK Ya TIDAK
Kompatibel dengan Bioskop 4D Ya (mulai dari versi 11) Ya TIDAK Ya Ya TIDAK TIDAK Ya Ya Ya Ya Tidak, beku TIDAK
platform Microsoft Windows, Linux, Mac OS X Microsoft Windows, Linux, Mac OS X
bias, tidak memihak (tanpa asumsi) bias bias bias bias bias bias bias tidak memihak tidak memihak tidak memihak tidak memihak
garis pindai Ya Ya Ya TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK
jejak sinar sangat lambat Ya Ya Ya Ya Ya Ya TIDAK TIDAK TIDAK TIDAK Ya
Algoritma Iluminasi Global atau algoritma Anda sendiri Foton, Pengumpulan Terakhir (Quasi-Montecarlo) Uang Tunai Ringan, Peta Foton, Peta Irradiance, Brute Force (Quasi-Montecarlo) Iluminasi Hiper Global, Quasi-Montecarlo Adaptif, Gambar, Quasi Monte-Carlo Quasi-Montecarlo, Pemetaan Foton Peta Foton, Pengumpulan Terakhir Transportasi Ringan Metropolis Transportasi Ringan Metropolis Transportasi Ringan Metropolis Angkutan Ringan Metropolis, Penelusuran Jalur Dua Arah
Kamera - Kedalaman Bidang (DOF) Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya
Kamera - Buram Gerakan (pass vektor) sangat cepat Ya cepat Ya Ya Ya Ya Ya Ya Ya Ya Ya
Pemindahan cepat Ya cepat lambat, 2d dan 3d lambat TIDAK cepat Ya Ya Ya Ya
Cahaya Daerah Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya
Refleks/Refraksi Mengkilap Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya
Hamburan Bawah Permukaan (SSS) Ya Ya Ya Ya Ya Ya Ya Ya Ya Ya TIDAK Ya
Mandiri Ya Ya Ya 2005 (mentah) TIDAK TIDAK TIDAK Ya Ya Ya
Versi sekarang 13.5,2,2 3.7 2.2 2.02a Tahap 2 2 4.01 1.61 1.91 1.0.9 v1.0-RC4 Kerkythea 2008 Gema 0.1.1 (0.1.2 Beta 5a)
tahun penerbitan 2000 (?) (?) 2006 2011 2008
perpustakaan bahan TIDAK 33 Mentalku, Ray TIDAK 2300+ bahan vray 30 dari. situs web 113 dari. situs web TIDAK 3200+ dari. situs web 110 dari. situs web 80 dari. situs web 61 dari. situs web
berdasarkan teknologi cahaya cair Transportasi Ringan Metropolis
pemetaan normal
Pencahayaan IBL/HDRI Ya
Langit fisik/matahari Ya Ya
situs resmi MaxwellRender.com Freerender.com IndigoRenderer.com LuxRender.net kerkythea.net YafaRay.org
negara produsen Amerika Serikat Jerman Amerika Serikat Bulgaria Jerman Amerika Serikat Swedia Spanyol Spanyol
biaya $ 3500 195 bebas 1135 (Paket Super) 999 (Paket) 899 (Standar) 240 (Pendidikan) 1000 735 1500 995 1200 295€ gratis, GNU bebas gratis, LGPL 2.1
keuntungan utama Memanggang dengan kecepatan tinggi (kualitas tidak terlalu tinggi) bebas bebas bebas
perusahaan produsen Pixar gambaran mental (sejak 2008 NVIDIA) NVIDIA Grup Kekacauan Cebas Ikan Slutter Menerangi Lab Batas Berikutnya Demam lembut

Lihat juga

  • Algoritma menggunakan z-buffer dan Z-buffering
  • Algoritma artis
  • Algoritme pemindaian baris demi baris seperti Reyes
  • Algoritma Iluminasi Global
  • Emisivitas
  • Teks sebagai gambar

Kronologi publikasi terpenting

  • 1968 pengecoran sinar(Appel, A. (1968). Beberapa teknik untuk membuat bayangan mesin padatan. Prosiding Konferensi Komputer Bersama Musim Semi 32 , 37-49.)
  • 1970 Algoritma garis pindai(Bouknight, W. J. (1970). Prosedur untuk menghasilkan presentasi grafis komputer setengah nada tiga dimensi. Komunikasi ACM)
  • 1971 Bayangan Gouraud Gouraud, H. (1971).Tampilan komputer permukaan melengkung. Transaksi IEEE di Komputer 20 (6), 623-629.)
  • 1974 Pemetaan tekstur Tesis PhD, Universitas Utah.)
  • 1974 Z-buffer(Catmull, E. (1974). Algoritma subdivisi untuk tampilan komputer pada permukaan melengkung. Tesis PhD)
  • 1975 Bayangan Phong(Phong, BT. (1975). Penerangan untuk gambar yang dihasilkan komputer. Komunikasi ACM 18 (6), 311-316.)
  • 1976 Pemetaan lingkungan(Blinn, J.F., Newell, M.E. (1976). Tekstur dan refleksi dalam gambar yang dihasilkan komputer. Komunikasi ACM 19 , 542-546.)
  • 1977 Volume bayangan(Crow, F.C. (1977). Algoritma bayangan untuk grafik komputer. Grafik Komputer (Prosiding SIGGRAPH 1977) 11 (2), 242-248.)
  • 1978 Penyangga bayangan(Williams, L. (1978). Menimbulkan bayangan melengkung pada permukaan melengkung. 12 (3), 270-274.)
  • 1978 Pemetaan benjolan Blinn, JF (1978).Simulasi permukaan keriput. Grafik Komputer (Prosiding SIGGRAPH 1978) 12 (3), 286-292.)
  • 1980 pohon BSP(Fuchs, H. Kedem, Z.M. Naylor, B.F. (1980). Pada permukaan tampak yang dihasilkan oleh struktur pohon apriori. Grafik Komputer (Prosiding SIGGRAPH 1980) 14 (3), 124-133.)
  • 1980 penelusuran sinar(Whitted, T. (1980). Model iluminasi yang ditingkatkan untuk tampilan berbayang. Komunikasi ACM 23 (6), 343-349.)
  • 1981 Masak shader(Cook, R.L. Torrance, K.E. (1981). Model reflektansi untuk grafik komputer. Grafik Komputer (Prosiding SIGGRAPH 1981) 15 (3), 307-316.)
  • 1983 peta mip(Williams, L. (1983). Parametrik piramida. Grafik Komputer (Prosiding SIGGRAPH 1983) 17 (3), 1-11.)
  • 1984 Penelusuran sinar oktree(Glassner, A. S. (1984). Subdivisi ruang untuk penelusuran sinar cepat. 4 (10), 15-22.)
  • 1984 Pengomposisian alfa(Porter, T. Duff, T. (1984). Mengomposisi gambar digital. 18 (3), 253-259.)
  • 1984 Penelusuran sinar terdistribusi(Cook, R.L. Porter, T. Carpenter, L. (1984). Penelusuran sinar terdistribusi. Grafik Komputer (Prosiding SIGGRAPH 1984) 18 (3), 137-145.)
  • 1984 Radiositas(Goral, C. Torrance, K.E. Greenberg, D.P. Battaile, B. (1984). Memodelkan interaksi cahaya antara permukaan difusi. Grafik Komputer (Prosiding SIGGRAPH 1984) 18 (3), 213-222.)
  • 1985 Radiositas hemi-kubus(Cohen, M.F. Greenberg, D.P. (1985). Hemi-cube: solusi radiositas untuk lingkungan yang kompleks. Grafik Komputer (Prosiding SIGGRAPH 1985) 19 (3), 31-40.)
  • 1986 Penelusuran sumber cahaya(Arvo, J. (1986). Penelusuran sinar mundur. SIGGRAPH 1986 Perkembangan catatan mata kuliah Ray Tracing)
  • 1986 Persamaan rendering(Kajiya, J.T. (1986). Persamaan rendering. Grafik Komputer (Prosiding SIGGRAPH 1986) 20 (4), 143-150.)
  • 1987 Algoritma Reyes(Cook, R.L. Carpenter, L. Catmull, E. (1987). Arsitektur rendering gambar reyes. Grafik Komputer (Prosiding SIGGRAPH 1987) 21 (4), 95-102.)
  • 1991 Radiositas hierarkis(Hanrahan, P. Salzman, D. Aupperle, L. (1991). Algoritma radiositas hierarki cepat. Grafik Komputer (Prosiding SIGGRAPH 1991) 25 (4), 197-206.)
  • 1993 Pemetaan nada(Tumblin, J. Rushmeier, H. E. (1993). Reproduksi nada untuk gambar yang dihasilkan komputer secara realistis. Grafik & Aplikasi Komputer IEEE 13 (6), 42-48.)
  • 1993 Hamburan bawah permukaan Hanrahan, P. Krueger, W. (1993) Refleksi dari permukaan berlapis akibat hamburan bawah permukaan. Grafik Komputer (Prosiding SIGGRAPH 1993) 27 (), 165-174.)
  • 1995 Pemetaan foton(Jensen, H.J. Christensen, N.J. (1995). Peta foton dalam penelusuran sinar dua arah Monte Carlo dari objek kompleks. Komputer & Grafik 19 (2), 215-224.)
  • 1997 Transportasi ringan kota metropolitan(Veach, E. Guibas, L. (1997). Transportasi ringan metropolis. Grafik Komputer (Prosiding SIGGRAPH 1997) 16 65-76.)

Rendering merupakan tahap akhir pemrosesan adegan yang diperoleh dari visualisasi 3D. Ada dua tahap utama dari proses ini - waktu nyata, terutama digunakan dalam permainan komputer, dan pra-render. Dialah yang menemukan penerapannya dalam bisnis. Dalam kasus pertama, kecepatan penghitungan lebih penting, hanya jika kondisi ini terpenuhi, kualitas gambar akan tetap tinggi. Saat melakukan pra-render, prioritasnya adalah realisme gambar.

Pra-render

Untuk melakukan rendering jenis ini, perangkat lunak khusus digunakan. Durasi pemrosesan tergantung pada kerumitannya. Prosesnya terdiri dari penerapan cahaya dan bayangan yang dihasilkannya, penambahan warna, dan efek lainnya. Tugas utama pemodel adalah memastikan bahwa hasilnya sangat jujur, sehingga perlu menavigasi salah satu cabang fisika paling kompleks - optik. Rendering yang dilakukan dengan benar sangat penting dalam pemodelan interior 3D - Anda perlu menghitung secara akurat bagaimana ruangan akan terlihat dalam cahaya alami dan buatan, memilih corak furnitur, dan nuansa lainnya. Metode dasar pemrosesan akhir dalam desain volumetrik:


Merupakan kebiasaan untuk menggunakan kombinasi beberapa metode, yang mengurangi biaya sumber daya dan memastikan kualitas yang dibutuhkan.

Fitur Rendering

Dibutuhkan banyak waktu untuk menyempurnakan sketsa awal - waktu pemrosesan gambar kompleks di komputer bisa mencapai beberapa jam. Selama periode ini terjadi hal-hal berikut:

  • warna;
  • merinci elemen-elemen kecil;
  • pengembangan efek pencahayaan - pantulan aliran, bayangan, dan lainnya;
  • tampilan kondisi iklim;
  • implementasi detail lainnya untuk meningkatkan realisme.

Kompleksitas pengerjaan mempengaruhi pembentukan harga visualisasi 3D, semakin lama waktu yang dibutuhkan maka semakin mahal pula biaya pengerjaan proyek tersebut. Jika memungkinkan, pemodel menyederhanakan proses rendering, misalnya dengan menghitung momen individual atau menggunakan alat lain untuk mengurangi waktu rendering tanpa mengurangi kualitasnya.