Nhiều bóng đèn - Một lượt so với nhiều lượt


7

Tôi đã tìm cách để thực hiện nhiều bóng đèn và tôi nhận thấy Unity sử dụng nhiều đường chuyền để đạt được nó . Nó thực hiện một đường cơ sở để áp dụng ánh sáng pixel định hướng sáng nhất + 4 đèn đỉnh + SH và một đường chuyền bổ sung cho mỗi ánh sáng pixel, tối đa giới hạn được xác định bởi người dùng trên trình chỉnh sửa.

Tôi đang tự hỏi, vì trước đây tôi biết tôi cần bao nhiêu đèn chiếu sáng, tại sao không thực hiện trong một lần như đèn đỉnh được thực hiện? Những vấn đề của việc làm như vậy là gì?

Câu trả lời:


2

Hoàn toàn có thể thực hiện tất cả các đèn pixel trong trình tạo bóng mảnh (hoặc, giả sử, thực hiện 4 lần một lúc) bằng cách lặp qua một mảng. Tuy nhiên, điều này có chi phí hiệu suất cao: Bạn sẽ tính toán ánh sáng cho mọi ánh sáng trên mọi mảnh vỡ của cảnh, ngay cả khi hình học đó không thực sự bị ảnh hưởng bởi ảnh hưởng của ánh sáng.

Tôi nghi ngờ đó là lý do tại sao Unity không làm như vậy: nó có thể loại bỏ các vật thể và chỉ gửi hình học có thể bị ảnh hưởng bởi ánh sáng tương ứng trên mỗi lần đi qua, có nghĩa là việc chiếu sáng cho ánh sáng chỉ được đánh giá trong các mảnh mà nó có thể có một hiệu ứng. Đây là một sự đánh đổi giữa việc xử lý các mảnh vỡ ít hơn nhưng nhân đôi chi phí hình học.


Bây giờ bạn đã đề cập đến việc loại bỏ điều này có rất nhiều ý nghĩa. Tôi vừa kiểm tra và có một thuộc tính mặt nạ loại bỏ trong các vật thể nhẹ để kiểm soát các mắt lưới (trong một lớp) bị ảnh hưởng bởi nó.
Felipe Lira

1

Nếu bạn thực hiện tất cả các đèn trong một lần chạy thì bạn sẽ cần phải lặp lại tất cả các đèn trong bóng đổ. Bạn cũng sẽ cần nhận được tất cả thông tin cho GPU cùng một lúc.

GPU bị giới hạn về số lượng đồng phục bạn có thể chuyển vào một lệnh gọi. Hạn chế này đã giảm bớt với UBO và SSBO.

Tuy nhiên, bạn vẫn bị giới hạn với số lượng kết cấu bạn có thể liên kết cho ánh xạ bóng.

Đèn thường chỉ ảnh hưởng đến một phần nhỏ của màn hình nên động cơ chỉ có thể hiển thị hình học gần với ánh sáng hoặc điều chỉnh chế độ xem để chỉ hiển thị khu vực mà ánh sáng sẽ ảnh hưởng.

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.