Ánh sáng hài hòa hình cầu - nó thực hiện những gì?


8

Theo hiểu biết của tôi, đôi khi các sóng hài hình cầu được sử dụng để xấp xỉ các khía cạnh nhất định của ánh sáng (tùy thuộc vào ứng dụng).

Ví dụ, có vẻ như bạn có thể ước tính nguyên nhân ánh sáng khuếch tán bằng nguồn sáng định hướng trên một điểm bề mặt hoặc các bộ phận của nó, bằng cách tính các hệ số SH cho tất cả các dải bạn đang sử dụng (cho bất kỳ độ chính xác nào bạn muốn) theo hướng của bề mặt bình thường và nhân rộng nó bằng bất cứ thứ gì bạn cần để chia tỷ lệ với (ví dụ cường độ màu sáng, chấm (n, l), v.v.).

Điều tôi chưa hiểu là điều này cần phải hoàn thành. Những lợi thế thực sự của việc làm theo cách này trái ngược với việc đánh giá BRDF khuếch tán theo cách thông thường. Bạn có lưu các tính toán ở đâu đó không? Có một số thông tin bổ sung có trong đại diện SH mà bạn không thể thoát ra khỏi kết quả vô hướng của đánh giá bình thường?


nếu bạn nghĩ có bất cứ điều gì bạn không thích với câu trả lời có lẽ tôi có thể giải thích?
Concept3d

Câu trả lời:


10

Lý do để sử dụng sóng hài hình cầu là để xấp xỉ phân bố ánh sáng tới xung quanh một điểm ánh sáng gián tiếp thường được tính toán bằng một số thuật toán chiếu sáng toàn cầu. Sau đó, BRDF cũng được tính gần đúng với các sóng hài hình cầu, để cho phép tính toán hiệu quả ánh sáng đi ra mà người xem nhìn thấy, bằng cách lấy sản phẩm chấm của các hệ số SH ánh sáng tới với các hệ số SH BR của BRDF. Điều này gần đúng với tích chập của ánh sáng tới với BRDF, như đã thấy trong phương trình kết xuất.

Nếu bạn chỉ quan tâm để nhận ánh sáng từ các nguồn điểm, bạn không có nhu cầu về SH. Đèn điểm được xử lý chính xác hơn bằng cách chỉ cần đánh giá trực tiếp BRDF. Ngoài ra, nếu bạn có một môi trường cố định (bầu trời, v.v.) mà bạn muốn nhận ánh sáng từ đó, bạn có thể tạo các hình khối được tích hợp sẵn ngoại tuyến ( ví dụ sử dụng CubeMapGen ) để thực hiện một công việc khá tốt là xấp xỉ độ chập của bản đồ môi trường với BRDF. Không cần SH ở đây.

Trường hợp SH thực sự có ích là khi bạn có một cảnh phức tạp và bạn muốn ánh sáng gián tiếp, tức là ánh sáng dội lại. Trong trường hợp này, sự phân bố ánh sáng thay đổi từ nơi này sang nơi khác. Về nguyên tắc, mỗi điểm riêng lẻ trong cảnh có một môi trường ánh sáng khác nhau dựa trên môi trường xung quanh. Trong thực tế, chúng tôi lấy mẫu ánh sáng tại các điểm riêng biệt bằng cách sử dụng một số thuật toán chiếu sáng toàn cầu. Có nhiều cách để làm điều đó - ví dụ, bạn có thể lấy mẫu ánh sáng ở mỗi đỉnh của các bề mặt hoặc tại mỗi texel của ánh sáng. Hoặc tạo một biểu diễn thể tích bằng cách sử dụng lưới hoặc lưới tứ diện .

Vấn đề là, có một số lượng lớn các điểm mà ánh sáng được lấy mẫu, và vì vậy chúng ta cần một đại diện linh hoạt nhưng rất nhỏ gọn của ánh sáng xung quanh một điểm, để tránh tiêu tốn quá nhiều bộ nhớ. SH hoàn thành tốt vai trò này. Nó cũng có đặc tính tiện dụng là nó hoạt động tốt với phép nội suy, tức là các hệ số SH có thể được nội suy từ điểm mẫu này sang điểm khác và ánh sáng ở giữa sẽ hoạt động hợp lý. Và vì nó thu được sự phân bố góc tổng thể của ánh sáng tới, không chỉ là ánh sáng từ một hướng, bạn có thể sử dụng nó với bề mặt được ánh xạ bình thường và thu được kết quả khá tốt.

Tuy nhiên, cần lưu ý rằng SH thực sự chỉ hữu ích cho ánh sáng khuếch tán. Trừ khi bạn sử dụng một số hệ số SH thực sự điên rồ, nó sẽ làm mờ đi sự phân bố góc của ánh sáng tới quá nhiều. Đối với ánh sáng gián tiếp đặc biệt chất lượng cao, cần một cái gì đó khác, chẳng hạn như hình khối được điều chỉnh bằng thị sai và / hoặc raytracing không gian màn hình.


> Vấn đề là, có một số lượng lớn các điểm mà ánh sáng được lấy mẫu, và vì vậy chúng ta cần một đại diện linh hoạt nhưng rất nhỏ gọn của ánh sáng xung quanh một điểm, để tránh tiêu tốn quá nhiều bộ nhớ. SH hoàn thành tốt vai trò này <Đây là điều khiến tôi bối rối. Dường như với tôi rằng bạn có thể đại diện cho ánh sáng xung quanh một điểm (đây là sự chiếu xạ, phải không?) Cũng giống như biểu diễn cường độ bình thường và bạn cũng cần ít bộ nhớ hơn cho nó vì thậm chí chỉ có 2 băng tần SH sử dụng 4 hệ số trên mỗi màu trong khi cường độ chỉ là 3 trong tổng số.
TravisG

Chà, hãy lấy một ví dụ cụ thể: Bạn có quen thuộc với thuật toán Khối lượng tuyên truyền ánh sáng được sử dụng trong Cryengine 3 không? Tôi tự hỏi tại sao nó không thực tế để thể hiện ánh sáng trong LPV giống như cường độ.
TravisG

@TravisG Đây không chỉ là một giá trị cường độ RGB đơn lẻ vì lượng ánh sáng khác nhau đến từ các hướng khác nhau. Ý tưởng là đại diện cho sự phân bố góc của ánh sáng tới, không chỉ là ánh sáng từ một hướng cụ thể, hoặc trung bình trên tất cả các hướng. Xem xét nếu bạn có đèn xanh ở bên trái và đèn đỏ ở bên phải. Một bề mặt được ánh xạ bình thường sẽ phản ánh màu xanh lá cây nơi các điểm chuẩn trái và màu đỏ nơi chúng chỉ sang phải. Một cường độ RGB đơn lẻ không thể biểu thị tình huống này, nhưng cơ sở SH 2 hoặc 3 băng tần thì có thể.
Nathan Reed

@TravisG Tương tự như vậy với LPV, bạn cần theo dõi hướng mà ánh sáng truyền đi. Nó không chỉ lan ra theo mọi hướng (trừ khi nó bị phân tán bởi các hạt trong không khí hoặc một số thứ khác); nó tiếp tục đi theo hướng nó được phát ra. Chẳng hạn, một nút trong LPV có thể chứa ánh sáng đỏ truyền sang phải và đèn xanh di chuyển sang trái, cùng một lúc. Vì vậy, mỗi nút cần theo dõi sự phân bố góc của ánh sáng đi qua nó.
Nathan Reed

3

Những gì tôi chưa hiểu là những gì cần phải hoàn thành?

Câu trả lời ngắn gọn, tính toán ánh sáng vật lý chính xác hơn. (đối với một số đặc điểm tương tác bề mặt ánh sáng).

Tại sao không đánh giá mọi thứ với BRDF khuếch tán theo cách thông thường?

Thật không may, vấn đề nằm trong định nghĩa của cách thông thường . Mô hình phản xạ phong "bình thường" đã được cộng đồng kết xuất thời gian thực chấp nhận từ lâu và là tiêu chuẩn thực tế vì tính đơn giản của nó phù hợp với việc sử dụng kết xuất thời gian thực.

Tuy nhiên , vấn đề là sự tương tác vật chất / ánh sáng thực tế rất phức tạp đến mức nó không thể được mô hình hóa thực sự bởi một BRDF duy nhất.

BRDF là một sự trừu tượng về cách tương tác ánh sáng thực tế được cho là xảy ra. phong chỉ là một trong nhiều khác, có lợi thế của sự đơn giản.

Nhưng những lợi thế thực tế là gì?

Trong đồ họa máy tính có các BRDF khác nhau thuộc hai loại chính:

  1. Dựa trên lý thuyết vật lý.
  2. Được thiết kế để phù hợp với một loại bề mặt cụ thể và thường được sử dụng trong kết xuất thời gian thực.

Nói về loại thứ hai, mỗi BRDF cố gắng thực hiện các đặc điểm nhất định với tương tác bề mặt nhẹ. BRDF đơn giản nhất có thể là Lambertian cố gắng mô hình tán xạ dưới bề mặt và thường được sử dụng trong đồ họa máy tính, Giá trị phản xạ không đổi của BRDF Lambertian thường được gọi là màu khuếch tán.

Trong đồ họa máy tính thời gian thực, thường các BRDF được chọn thủ công và các tham số của chúng được đặt để đạt được giao diện mong muốn (ví dụ: sử dụng Phong với các giá trị nhất định để mô hình hóa bề mặt nhựa hoặc chrome).

Mặt khác, đôi khi BRDF được đo trực tiếp từ bề mặt mong muốn (và không được biểu diễn bằng phương trình toán học). Điều này cung cấp cho chúng tôi dữ liệu chính xác hơn về mặt vật lý mà khó có thể thực hiện phân tích.

Một phương pháp để phù hợp với những dữ liệu đã thu thập đó là chọn BRDF phân tích và điều chỉnh những dữ liệu này vào đó. Hình cầu sóng hài chỉ là một kỹ thuật được sử dụng để biểu diễn các đại lượng đo đó và điều chỉnh chúng phù hợp với mô hình BRDF phân tích.

Tài nguyên tốt nhất cho lý thuyết BRDF có thể được tìm thấy trong kết xuất thời gian thực

  • 7.5 Lý thuyết BRDF.
  • Về điều hòa hình cầu sửa đổi 7.7.2 Đại diện cho BRDF đo được.

Cảm ơn câu trả lời, nhưng nó thiếu một chút những gì tôi đang tìm kiếm. Theo tôi hiểu, bạn có thể tính gần đúng bất kỳ hàm f (x) nào bằng cách sử dụng sóng hài hình cầu và vì một số lý do, mọi người quyết định ước tính các phần của mô hình chiếu sáng bằng cách sử dụng sóng hài hình cầu (chính xác là phụ thuộc vào ứng dụng, nhưng ví dụ: thuật ngữ khuếch tán lambertian là một cái gì đó mà tôi đã đi qua thường xuyên). Tôi tự hỏi tại sao, dường như đối với tôi, sóng hài hình cầu chỉ là một đại diện mất mát đại diện cho cùng một dữ liệu nhưng thậm chí không có lợi thế về bộ nhớ.
TravisG

Vâng, điều đó phụ thuộc vào những gì bạn so sánh nó với. Nếu bạn so sánh nó với một mô hình phân tích, nó sẽ liên quan và tốn kém hơn. Nhưng mô hình phân tích không tính đến môi trường địa phương. Ngày nay, mặc dù tôi chủ yếu nhìn thấy mọi người sử dụng bản đồ khối. Họ đạt được kết quả tương tự và có hỗ trợ phần cứng tốt hơn.
drxzcl
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.