Làm mờ điểm ánh sáng phương sai bóng bản đồ


7

Tôi đã làm việc để thực hiện ánh xạ bóng phương sai cho trò chơi của mình. Tôi đã có thể có được một ánh sáng điểm làm việc với ánh xạ bóng phương sai với độ mờ gaussian được áp dụng cho bản đồ bóng để giảm răng cưa. Bây giờ tôi đang cố gắng thực hiện đèn điểm nhưng tôi không chắc làm thế nào để điều chỉnh độ mờ gaussian để làm việc với bản đồ bóng khi được lưu trong bản đồ khối. Tôi đã tìm kiếm xung quanh một lúc nhưng dường như tôi không thể tìm thấy bất kỳ ví dụ nào sử dụng đèn điểm. Có ai có thể giúp tôi ngoài này không?


Tôi rất thích xem một mẫu công việc của bạn - thậm chí có thể là mã nguồn.
tro999

Câu trả lời:


2

Có một ví dụ về cách thực hiện ánh xạ bóng phương sai bằng đèn điểm, nhưng nó sử dụng ánh xạ paraboloid kép thay vì ánh xạ khối. Hướng dẫn với ví dụ được hiển thị ở đây .

Nếu bạn sẵn sàng xử lý ít chi tiết hơn so với bản đồ khối, ánh xạ bóng phương sai DP sẽ dễ mã hóa hơn và yêu cầu hai kết cấu thay vì sáu giúp bạn tiết kiệm một số bộ nhớ. Bạn cũng chỉ có một đường may để ẩn.

Đèn điểm thường là loại đèn khó nhất để áp dụng ánh xạ bóng cho (và tiêu tốn nhiều bộ nhớ hơn), đó là lý do tại sao nhiều trò chơi không sử dụng chúng thường xuyên.


Tôi đã xem hướng dẫn đó nhưng tôi đã cố gắng tránh phương pháp đó vì tôi sẽ tìm kiếm nhiều hơn cho các phương pháp trông đẹp hơn là đủ nhanh cho một trò chơi thương mại. Dường như tôi sẽ phải đi theo con đường đó vì dường như không có bất kỳ tài liệu nào về phương pháp lập bản đồ
Telanor

@Telanor Nếu ưu tiên của bạn là "đẹp mắt", bạn luôn có thể tăng chiều rộng và chiều cao của hai mục tiêu kết xuất được sử dụng để tạo bản đồ DP. Sau đó, bạn sẽ có một kết cấu độ phân giải cao cho bóng tối.
ChrisC

1

Khi tôi đã thực hiện điều này trước đây, tôi chỉ làm mờ từng mặt khối, sử dụng hiệu ứng làm mờ Gaussian 2D tiêu chuẩn. Bạn có khả năng có thể giới thiệu các đường nối ở các cạnh hình khối, bởi vì độ mờ không đi qua chúng, nhưng theo kinh nghiệm của tôi thì điều này hầu như không đáng chú ý. YMMV, tất nhiên.

Bạn thậm chí có thể làm mờ trên các cạnh của khối lập phương bằng cách viết một trình tạo bóng mờ sẽ lấy đầu vào của nó ở dạng sơ đồ khối và phân phối các mẫu xung quanh một vectơ 3D, lấy mẫu hình nón. Tuy nhiên, điều đó nghe có vẻ khó khăn và chậm chạp, vì vậy tôi sẽ thử làm mờ từng khuôn mặt trước.


Tôi đã không thử điều đó một cách cụ thể bởi vì có vẻ như các đường nối sẽ rất rõ ràng, nhưng tôi sẽ thử nó và xem nó trông như thế nào. Gợi ý thứ 2 của bạn có lẽ là câu trả lời nhưng tôi không chắc làm thế nào để thay đổi các mẫu để làm như vậy, tôi không thực sự hiểu rất rõ
Telanor

Sau khi thực hiện và tắt nó trong 2 ngày qua, tôi không thể chuyển đổi tọa độ lấy mẫu 2d thành 3d để có thể làm mờ sơ đồ khối chính xác, vì vậy có vẻ như tôi đang sử dụng phương pháp paraboloid kép
Telanor

@Telanor, đây là một bài viết về làm mờ sơ đồ khối mặt; có lẽ điều đó sẽ giúp developer.amd.com/media/gpu_assets/ khăn
Nathan Reed

Tôi đã xem bài báo đó nhưng nó gần như không đủ chi tiết cho tôi. Có lẽ ai đó có nhiều kinh nghiệm hơn tôi có thể thực hiện nó chỉ bằng cách đọc một mô tả như vậy nhưng tôi chỉ là người mới bắt đầu với lập trình 3D; Tôi cần thêm một hướng dẫn nếu tôi có hy vọng thực hiện nó.
Telanor
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.