Sự khác biệt giữa ánh xạ dịch chuyển và ánh xạ chiều cao là gì?


15

Sự khác biệt giữa ánh xạ dịch chuyển và ánh xạ chiều cao và mối liên hệ với điều chỉnh thích nghi là gì?


Vì vậy, giả sử khi tôi muốn sử dụng ánh xạ chiều cao trên một vật thể nhỏ, tức là hình cầu, tôi sử dụng kỹ thuật gì để loại bỏ vết nứt? Làm mịn? Đó có phải là hiệu suất nhiều hơn so với chuyển vị và tessname thích nghi?
Jinxi

Câu trả lời:


10

Ánh xạ dịch chuyển và ánh xạ chiều cao là hai tên cho "gần như" cùng một kỹ thuật, chúng nhằm thực hiện cùng một hiệu ứng nhưng được sử dụng trong các bối cảnh khác nhau.

Để giải thích thêm:

Ánh xạ dịch chuyển: Là một kỹ thuật nhằm mục đích hiển thị các va chạm như hình học thực sự, trong một lưới rất mịn. Không giống như ánh xạ vết, thị sai và ánh xạ cứu trợ cố gắng "giả" các va chạm bằng cách sử dụng bản đồ thông thường, ánh xạ dịch chuyển thực sự thay thế bề mặt, tạo ra các hình tam giác giữa các texels. .

Ánh xạ chiều cao: là điều tương tự, nhưng nó thường được sử dụng trong bối cảnh bản đồ dịch chuyển (còn gọi là bản đồ chiều cao) được áp dụng trên địa hình nơi giá trị chỉ được sử dụng để sửa đổi chiều cao của đỉnh.

Nó có thể được thực hiện trên CPU hoặc GPU.

Một cách tiếp cận CPU phổ biến là đọc các giá trị độ cao hoặc độ dịch chuyển từ bản đồ chiều cao / độ dịch chuyển (kết cấu) trong đó mỗi texel trực tiếp ánh xạ tới một đỉnh. Trong đó mỗi texel mã hóa một giá trị chiều cao / chuyển vị. Điều này sau đó được áp dụng trực tiếp vào hình học bằng cách dịch chuyển từng đỉnh bằng cách sử dụng giá trị tra cứu theo một hướng duy nhất.

Chọn hướng có thể theo hướng Lên (thường là trong trường hợp địa hình), điều này dẫn đến việc sửa đổi giá trị đỉnh Y hoặc có thể theo hướng của mặt thường được sử dụng trên các vật thể khác ngoài địa hình.

Một giải pháp thay thế GPU là sử dụng tính năng tìm nạp kết cấu đỉnh (được giới thiệu trong Shader Model 3.0) để chỉnh sửa lưới địa hình bằng cách truy cập bản đồ dịch chuyển / chiều cao Độ cao được lấy từ kết cấu được sử dụng bởi chương trình tô bóng đỉnh để sửa đổi vị trí của đỉnh .

Các cách sử dụng khác để sử dụng kết cấu cho phép thao tác dữ liệu nhanh hơn cho mô phỏng sóng và các hình động khác để áp dụng cho lưới.

Về điều chỉnh thích nghi:

Một nhược điểm của ánh xạ dịch chuyển là đối với các địa hình lớn, bạn cần rất nhiều đa giác và đỉnh để mô hình hóa một địa hình chi tiết khiến cho việc lập bản đồ dịch chuyển bằng cách nào đó không hiệu quả đối với các địa hình lớn.

Đây là nơi phát triển khả năng thích ứng và mức độ kỹ thuật chi tiết để làm cho ánh xạ dịch chuyển trở nên khả thi hơn, đặc biệt là với sự tiến bộ của GPU và giới thiệu các shader hình học, thực hiện tessname khi đang tiến bộ đã trở thành kỹ thuật chủ đạo. Nó đơn giản để lập trình và trên các GPU mới hơn và có một vài nhược điểm.

Các kỹ thuật khác như cứu trợ và lập bản đồ cung cấp thêm tính hiện thực với chi phí thường hợp lý, nhưng thực tế là bề mặt cơ sở không bị xáo trộn khiến việc phát hiện va chạm và do đó tương tác đối tượng, khó khăn hơn.

Như một kết luận, ánh xạ dịch chuyển và điều chỉnh thích nghi mang lại chi tiết và chất lượng vượt trội với ít lợi thế hơn với chi phí hiệu suất khả thi.


Đừng quên phần cuối của câu hỏi "và mối liên hệ với sự điều chỉnh thích nghi là gì?"
MichaelHouse

@ Byte56 cảm ơn vì đã thông báo cho tôi, tôi đã cập nhật câu trả lời.
Concept3d

12

Ánh xạ dịch chuyển có thể có nghĩa (nhưng không phải lúc nào cũng có nghĩa) một sự dịch chuyển vectơ tại mỗi điểm trên bề mặt. Ánh xạ chiều cao chỉ hàm ý một giá trị dịch chuyển vô hướng , tức là mỗi điểm được đẩy dọc theo mức bình thường của nó. Tuy nhiên, thuật ngữ "ánh xạ dịch chuyển" cũng có thể được sử dụng cho các chuyển vị vô hướng, do đó, khi thảo luận về chuyển vị vectơ, mọi người thường nói rõ ràng là "ánh xạ dịch chuyển vectơ".

Tessname có thể được sử dụng để áp dụng bản đồ dịch chuyển, bằng cách chia một bề mặt thành các đa giác nhỏ và áp dụng một sự dịch chuyển (nhìn từ bản đồ) lên từng đỉnh của bề mặt được chia. Mức độ phân chia bạn cần phụ thuộc một phần vào mức độ nhiễu / chi tiết của bản đồ dịch chuyển, do đó, phần tử thích ứng có thể được sử dụng để phân chia chính xác hơn trong các khu vực có nhiều chi tiết hơn, nhưng ít hơn trong các khu vực phẳng hơn, cải thiện hiệu suất.


Đây là câu trả lời đúng khách quan. Sự khác biệt tinh tế sẽ trở nên quan trọng hơn rất nhiều khi người mới bắt đầu tìm thấy nhiều mã tessname để sao chép dán. (Dịch chuyển vectơ thủ tục đã được nVidia giới thiệu)
MickLH

3

Về cơ bản, chúng là những điều tương tự.

Ánh xạ dịch chuyển là một kỹ thuật để thêm chi tiết bề mặt, như ánh xạ vết sưng . Tuy nhiên, không giống như ánh xạ vết, ánh xạ dịch chuyển là về việc thực sự làm biến dạng hình học dựa trên một số bản đồ chiều cao đầu vào (về cơ bản là một lưới các giá trị độ cao).

"Ánh xạ dịch chuyển" về cơ bản là một thuật ngữ khác, chính xác hơn về mặt kỹ thuật, gọi là "ánh xạ chiều cao" (nói đúng ra, "ánh xạ chiều cao" có lẽ nên đề cập đến quá trình tạo lưới dữ liệu độ cao từ một số vật liệu nguồn, chẳng hạn như một máy quét 3D, sẽ được sử dụng trong triển khai ánh xạ dịch chuyển - nhưng trong thực tế, hầu hết mọi người chỉ sử dụng các thuật ngữ thay thế cho nhau, nếu họ thậm chí còn nói "ánh xạ dịch chuyển".

Kỹ thuật này không trực tiếp gắn liền với sự điều chỉnh thích nghi, mà chính nó là kiểm soát sự phá vỡ mô tả toán học của một lưới (như hình cầu) vào bộ sưu tập các hình tam giác cụ thể sẽ được sử dụng để kết xuất lưới đó. Bit "thích ứng" có nghĩa là chi tiết điều chỉnh sẽ thay đổi dựa trên một số tiêu chí đầu vào, chẳng hạn như khoảng cách xem.

Ví dụ, trong trường hợp hình cầu, bạn có thể sắp xếp hình cầu đó rất thô sơ (hiệu quả như một khối lập phương) khi hình cầu đó ở rất xa, nhưng sử dụng chi tiết hơn khi hình cầu ở gần.

Thường thì bạn sẽ thấy các kỹ thuật như ánh xạ dịch chuyển được thảo luận cùng với tessname vì tessname sẽ ảnh hưởng đến cách bạn muốn ánh xạ bản đồ độ cao tới hình học để thực hiện chuyển vị (hoặc độ phân giải của bản đồ độ cao bạn muốn chọn, et cetera).


2

Họ là cùng một khái niệm.

EDIT: Dịch chuyển có thể bao gồm chiều cao trong nhiều chiều!

Đừng bắt đầu bất kỳ cuộc chiến ngữ nghĩa nào về vấn đề này, nhưng thực tế, ánh xạ chiều cao thường đề cập đến các kỹ thuật dựa trên quy mô / quy mô lớn, trong đó ánh xạ dịch chuyển thường đề cập đến các kỹ thuật quy mô / raytracing nhỏ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.