Apa perbedaan antara pemetaan perpindahan dan pemetaan ketinggian?


15

Apa perbedaan antara pemetaan perpindahan dan pemetaan ketinggian dan apa hubungannya dengan tessellation adaptif?


Jadi, katakanlah ketika saya ingin menggunakan pemetaan ketinggian pada objek kecil, yaitu bola, teknik apa yang saya gunakan untuk menghilangkan retakan? Menghaluskan? Apakah itu lebih berkinerja daripada pemindahan dan adaptasi adaptif?
Jinxi

Jawaban:


10

Pemetaan perpindahan dan pemetaan ketinggian adalah dua nama untuk "hampir" teknik yang sama, mereka bertujuan untuk melakukan efek yang sama tetapi digunakan dalam konteks yang berbeda.

Untuk menjelaskan lebih lanjut:

Pemetaan Perpindahan: Adalah teknik yang bertujuan untuk membuat benjolan sebagai geometri sejati, dalam jaring yang sangat halus. Tidak seperti pemetaan benjolan, paralaks, dan pemetaan pertolongan yang mencoba "memalsukan" benjolan menggunakan peta normal, pemetaan perpindahan sebenarnya memindahkan permukaan, menciptakan segitiga di antara texel. .

Pemetaan Tinggi: adalah hal yang sama, tetapi biasanya digunakan dalam konteks di mana peta perpindahan (juga disebut peta ketinggian) diterapkan pada medan di mana nilainya hanya digunakan untuk memodifikasi ketinggian puncak.

Ini dapat diimplementasikan pada CPU atau GPU.

Salah satu pendekatan CPU yang umum adalah membaca nilai ketinggian atau perpindahan dari peta ketinggian / perpindahan (tekstur) di mana setiap texel langsung memetakan ke satu titik. Di mana setiap texel mengkodekan nilai tinggi / perpindahan. Ini kemudian diterapkan langsung ke geometri dengan menggeser setiap simpul menggunakan nilai yang dicari ke arah yang unik.

Memilih arah dapat dalam arah Atas (biasanya dalam kasus medan), yang menghasilkan memodifikasi nilai vertex Y, atau bisa dalam arah wajah normal yang biasanya digunakan pada objek selain dari medan.

Alternatif GPU adalah dengan menggunakan fitur pengambilan tekstur dhuwur (diperkenalkan dalam Shader Model 3.0) untuk memodifikasi medan terrain dengan mengakses peta perpindahan / ketinggian. Ketinggian yang diperoleh dari tekstur digunakan oleh program naungan dhuwur untuk mengubah lokasi dhuwur. .

Penggunaan lain untuk Menggunakan tekstur memungkinkan manipulasi data yang lebih cepat untuk simulasi gelombang dan animasi lainnya untuk diterapkan ke mesh.

Mengenai penghentian adaptasi:

Satu hal yang menarik dari pemetaan perpindahan adalah bahwa untuk medan besar Anda memerlukan banyak poligon dan simpul untuk memodelkan medan terperinci yang membuat pemetaan perpindahan entah bagaimana tidak efisien untuk medan besar.

Di sinilah tessellation adaptif dan teknik level detail muncul untuk membuat pemetaan perpindahan lebih layak, terutama dengan kemajuan GPU dan memperkenalkan geometri shaders, melakukan tessellation on the fly dengan kemajuan ini telah menjadi teknik yang dominan. Mudah diprogram dan pada GPU yang lebih baru dan memiliki beberapa kelemahan.

Teknik lain seperti bantuan dan pemetaan benjolan menawarkan realisme tambahan dengan biaya yang umumnya masuk akal, tetapi kenyataan bahwa permukaan dasar tidak terganggu membuat deteksi tabrakan, dan karenanya interaksi objek, lebih menantang.

Sebagai kesimpulan, pemetaan Displacement dan adaptive tessellation menghadirkan detail dan kualitas yang superior dengan penarikan yang lebih sedikit dengan biaya kinerja yang layak.


Jangan lupa bagian terakhir dari pertanyaan "dan apa hubungannya dengan tessellation adaptif?"
MichaelHouse

@ Byte56 terima kasih telah memberi tahu saya, saya memperbarui jawabannya.
concept3d

12

Pemetaan perpindahan dapat berarti (tetapi tidak selalu berarti) perpindahan vektor pada setiap titik di permukaan. Pemetaan ketinggian hanya menyiratkan skalar nilai perpindahan , yaitu setiap titik didorong sepanjang normalnya. Istilah "pemetaan perpindahan" juga dapat digunakan untuk perpindahan skalar, jadi, ketika perpindahan vektor dibahas, orang sering secara eksplisit mengatakan "pemetaan perpindahan vektor".

Tessellation dapat digunakan untuk menerapkan peta pemindahan, dengan membagi permukaan menjadi poligon kecil dan menerapkan pemindahan (memandang ke atas dari peta) ke setiap sudut permukaan yang dibagi. Tingkat pembagian yang Anda butuhkan sebagian tergantung pada seberapa berisik / terperinci peta perpindahan, sehingga penilaian adaptif dapat digunakan untuk membagi lebih halus di bidang-bidang yang memiliki lebih banyak detail, tetapi lebih sedikit di daerah-daerah yang lebih datar, sehingga meningkatkan kinerja.


Ini adalah jawaban yang benar secara objektif. Perbedaan halus akan menjadi jauh lebih penting karena pemula menemukan lebih banyak kode tessellation untuk disalin. (Pemindahan vektor prosedural telah dipamerkan oleh nVidia)
MickLH

3

Pada dasarnya, mereka adalah hal yang sama.

Pemetaan perpindahan adalah teknik untuk menambahkan detail permukaan, seperti pemetaan bump . Tidak seperti pemetaan benjolan, bagaimanapun, pemetaan perpindahan sebenarnya tentang mendeformasi geometri berdasarkan pada beberapa peta ketinggian input (pada dasarnya grid nilai ketinggian).

"Pemetaan perpindahan" pada dasarnya adalah istilah lain, lebih akurat secara teknis, untuk apa yang secara sehari-hari dikenal sebagai "pemetaan ketinggian" (secara tegas, "pemetaan ketinggian" mungkin harus merujuk pada proses menghasilkan kisi data elevasi dari beberapa bahan sumber, seperti sebagai pemindai 3D, yang akan digunakan dalam implementasi pemetaan perpindahan - tetapi dalam praktiknya kebanyakan orang hanya menggunakan istilah secara bergantian, jika mereka bahkan mengatakan "pemetaan perpindahan" sama sekali).

Teknik ini tidak secara langsung terkait dengan adaptasi tessellation, yang dengan sendirinya mengontrol penguraian deskripsi matematis dari mesh (seperti bola) ke dalam kumpulan beton segitiga yang akan digunakan untuk membuat mesh itu. Bit "adaptif" berarti detail tessellation akan berubah berdasarkan beberapa kriteria input, seperti jarak tampilan.

Dalam kasus bola, misalnya, Anda dapat menjual bola yang sangat kasar (secara efektif sebagai kubus) ketika bola itu sangat jauh, tetapi menggunakan lebih banyak detail ketika bola dekat.

Seringkali Anda akan melihat teknik-teknik seperti pemetaan perpindahan yang dibahas bersama dengan tessellation karena tessellation akan mempengaruhi bagaimana Anda ingin memetakan peta elevasi ke geometri untuk melakukan perpindahan (atau resolusi mana dari peta elevasi yang ingin Anda pilih, dan lain-lain).


2

Mereka adalah konsep yang sama.

EDIT: Perpindahan dapat terdiri dari ketinggian di lebih dari satu dimensi!

Jangan memulai perang semantik lebih dari ini, tetapi secara realistis, pemetaan ketinggian biasanya mengacu pada teknik berbasis skala besar / tessellation, di mana pemetaan perpindahan biasanya mengacu pada teknik skala kecil / raytracing.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.