Làm thế nào dựa trên vật lý là sự khác biệt khuếch tán và đặc biệt?


34

Cách thức tô màu bề mặt cổ điển trong đồ họa máy tính thời gian thực là sự kết hợp giữa thuật ngữ khuếch tán (Lambertian) và thuật ngữ cụ thể, rất có thể là Phong hoặc Blinn-Phong.

Hình ảnh từ Wikipedia

Bây giờ với xu hướng hướng tới kết xuất dựa trên vật lý và do đó các mô hình vật liệu trong các công cụ như Frostbite , Unreal Engine hoặc Unity 3D, các BRDF này đã thay đổi. Ví dụ (một loại khá phổ biến ở đó), Unreal Engine mới nhất vẫn sử dụng khuếch tán Lambertian, nhưng kết hợp với mô hình microfacet Cook-Torrance để phản xạ gương (cụ thể là sử dụng GGX / Trowbridge-Reitz và xấp xỉ Slick đã sửa đổi cho thuật ngữ Fresnel ). Hơn nữa, giá trị 'Metalness' đang được sử dụng để phân biệt giữa dây dẫn và chất điện môi.

Đối với điện môi, khuếch tán được tô màu bằng cách sử dụng suất phản chiếu của vật liệu, trong khi đặc tính luôn luôn không màu. Đối với kim loại, khuếch tán không được sử dụng và thuật ngữ cụ thể được nhân với suất phản chiếu của vật liệu.

Về vật liệu vật lý trong thế giới thực, sự tách biệt nghiêm ngặt giữa khuếch tán và vật chất có tồn tại không và nếu có thì nó đến từ đâu? Tại sao một màu trong khi cái kia thì không? Tại sao dây dẫn cư xử khác nhau?

Câu trả lời:


30

Để bắt đầu, tôi đặc biệt khuyên bạn nên đọc bài thuyết trình Siggraph của Naty Hoffman về vật lý kết xuất. Điều đó nói rằng, tôi sẽ cố gắng trả lời các câu hỏi cụ thể của bạn, mượn hình ảnh từ bài thuyết trình của anh ấy.

Nhìn vào một hạt ánh sáng đơn lẻ chạm vào một điểm trên bề mặt vật liệu, nó có thể làm 2 việc: phản xạ hoặc khúc xạ. Ánh sáng phản chiếu sẽ bật ra khỏi bề mặt, tương tự như gương. Ánh sáng khúc xạ bị dội lại xung quanh bên trong vật liệu và có thể thoát ra khỏi vật liệu cách xa nơi nó đi vào. Cuối cùng, mỗi khi ánh sáng tương tác với các phân tử của vật liệu, nó sẽ mất một phần năng lượng. Nếu nó mất đủ năng lượng, chúng tôi coi nó được hấp thụ hoàn toàn.

Để trích dẫn Naty, "Ánh sáng bao gồm các sóng điện từ. Vì vậy, tính chất quang học của một chất được liên kết chặt chẽ với tính chất điện của nó." Đây là lý do tại sao chúng tôi nhóm vật liệu là kim loại hoặc phi kim loại.

Phi kim loại sẽ thể hiện cả sự phản xạ và khúc xạ. Phi kim loại

Vật liệu kim loại chỉ có sự phản chiếu. Tất cả ánh sáng khúc xạ được hấp thụ. Kim loại

Sẽ rất tốn kém khi cố gắng mô hình hóa sự tương tác của hạt ánh sáng với các phân tử của vật liệu. Chúng tôi thay vào đó, thực hiện một số giả định và đơn giản hóa.

Đơn giản hóa khúc xạ

Nếu kích thước pixel hoặc vùng đổ bóng lớn so với khoảng cách xuất cảnh, chúng ta có thể đưa ra giả định rằng khoảng cách thực sự bằng không. Để thuận tiện, chúng tôi chia các tương tác ánh sáng thành hai thuật ngữ khác nhau. Chúng tôi gọi thuật ngữ phản xạ bề mặt là "specular" và thuật ngữ kết quả từ khúc xạ, hấp thụ, tán xạ và khúc xạ lại mà chúng tôi gọi là "khuếch tán". Tách thành khuếch tán và đặc

Tuy nhiên, đây là một giả định khá lớn. Đối với hầu hết các vật liệu mờ đục, giả định này là ổn và không khác biệt quá nhiều so với thực tế. Tuy nhiên, đối với các vật liệu với bất kỳ loại minh bạch nào, giả định thất bại. Ví dụ: sữa, da, xà phòng, v.v.

Màu sắc quan sát của vật liệu là ánh sáng không bị hấp thụ. Đây là sự kết hợp của cả ánh sáng phản xạ, cũng như bất kỳ ánh sáng khúc xạ nào thoát ra khỏi vật liệu. Ví dụ, một vật liệu xanh thuần khiết sẽ hấp thụ tất cả ánh sáng không phải là màu xanh lá cây, vì vậy ánh sáng duy nhất lọt vào mắt chúng ta là ánh sáng xanh lục.

Do đó, một nghệ sĩ mô hình hóa màu sắc của vật liệu bằng cách cung cấp cho chúng ta chức năng suy giảm cho vật liệu, tức là ánh sáng sẽ được vật liệu hấp thụ như thế nào. Trong mô hình khuếch tán / mô hình đơn giản hóa của chúng tôi, điều này có thể được thể hiện bằng hai màu, màu khuếch tán và màu đặc trưng. Quay trở lại trước khi các vật liệu dựa trên vật lý được sử dụng, nghệ sĩ sẽ tùy ý chọn từng màu này. Tuy nhiên, có vẻ như rõ ràng là hai màu này nên có liên quan. Đây là nơi mà màu albedo xuất hiện. Ví dụ, trong UE4, họ tính toán màu khuếch tán và màu sắc như sau:

DiffuseColor = AlbedoColor - AlbedoColor * Metallic;
SpecColor = lerp(0.08 * Specular.xxx, AlbedoColor, Metallic)

Trong đó Kim loại là 0 đối với phi kim và 1 đối với kim loại. Tham số 'Specular' kiểm soát độ đặc hiệu của một đối tượng (nhưng thường là 0,5 không đổi cho 99% vật liệu)


1
Tại sao tia tới bị tách ra sau khi phản xạ / khúc xạ? Nếu ánh sáng là một hạt thì điều đó có nghĩa là hạt này được phân chia đệ quy? Và nếu ánh sáng là sóng thì có nghĩa là nó bị phân tách theo tần số (nhưng trong trường hợp này tại sao nó lại bị tách ra sau lần nhấn thứ hai / thứ ba / etc)?
nikitablack

5
Các hạt không phân chia. Thay vào đó, những hình ảnh cho thấy những con đường tiềm năng mà nó có thể đi.
RichieSams

2
Nhiều hạt sẽ va vào điểm (gần) từ cùng một góc (gần). Đối với mỗi hạt đi ra ngoài (thường) có một hạt đi vào. Điều đó có nghĩa là trung bình chùm tia của các hạt từ một góc nhất định trên một điểm nhất định sẽ bị tách ra trong một số phản xạ (rất nhiều).
ratchet freak

1
Câu trả lời tuyệt vời làm sáng tỏ hầu hết các câu hỏi của tôi. Tại sao phần đặc biệt của phi kim loại không màu và không bị ảnh hưởng bởi suất phản chiếu? Làm thế nào và ở đâu phân cực đi vào chơi?
David Kuri

1
"Màu sắc quan sát của vật liệu là ánh sáng không bị hấp thụ." Tại thời điểm này, có thể đáng tham khảo các Có tài liệu phổ biến nào không được đại diện bởi RGB không? thảo luận, như vật liệu huỳnh quang mùa xuân đến tâm trí.
Simon F

23

Tôi đã thực sự tự hỏi về chính xác điều này một vài ngày trước. Không tìm thấy bất kỳ tài nguyên nào trong cộng đồng đồ họa, tôi thực sự bước đến khoa Vật lý tại trường đại học của tôi và hỏi .

Nó chỉ ra rằng có rất nhiều lời nói dối mà chúng ta đồ họa mọi người tin tưởng.


Đầu tiên, khi ánh sáng chiếu vào một bề mặt, các phương trình Fresnel được áp dụng. Tỷ lệ ánh sáng phản xạ / khúc xạ phụ thuộc vào chúng. Bạn có thể biết điều này.

Không có thứ gọi là "màu đặc trưng"

Những gì bạn có thể không biết là các phương trình Fresnel thay đổi dựa trên bước sóng, bởi vì chỉ số khúc xạ thay đổi dựa trên bước sóng. Biến thể tương đối nhỏ đối với quang điện tử (độ phân tán, có ai không?), Nhưng có thể rất lớn đối với kim loại (tôi cho rằng điều này phải làm với các cấu trúc điện khác nhau của các vật liệu này).

Do đó, thuật ngữ phản xạ Fresnel thay đổi theo bước sóng và do đó các bước sóng khác nhau được phản ánh tốt hơn . Nhìn dưới ánh sáng phổ rộng, đây là những gì dẫn đến màu sắc cơ bản. Nhưng đặc biệt, không có sự hấp thụ nào xảy ra một cách kỳ diệu ở bề mặt (các màu khác chỉ bị khúc xạ).

Không có thứ gọi là "phản xạ khuếch tán"

Như Naty Hoffman nói trong bài nói chuyện được liên kết trong câu trả lời khác, đây thực sự là một sự gần đúng với sự tán xạ dưới bề mặt.

Kim loại DO truyền ánh sáng

Naty Hoffman đã sai (chính xác hơn, đơn giản hóa). Ánh sáng không bị hấp thụ ngay lập tức bởi kim loại. Trên thực tế, nó sẽ vượt qua khá nhiều vật liệu dày vài nanomet. (Ví dụ, đối với vàng, phải mất 11,6633nm để giảm một nửa ánh sáng 587,6nm (màu vàng).)

Sự hấp thụ, như trong điện môi, là do Định luật Bia-Lambert. Đối với kim loại, hệ số hấp thụ chỉ lớn hơn nhiều (α = 4πκ /, trong đó là thành phần tưởng tượng của chỉ số khúc xạ (đối với kim loại ~ 0,5 trở lên) và được tính bằng mét ).

Sự truyền tải này (hay chính xác hơn là SSS mà nó tạo ra) thực sự chịu trách nhiệm cho một phần đáng kể màu sắc của kim loại (mặc dù sự thật là sự xuất hiện của kim loại bị chi phối bởi đặc tính của chúng).


3
Cảm ơn bạn! Tôi chỉ biết đơn giản hóa. Những chi tiết bổ sung này thật tuyệt vời
RichieSams

1
Đây là một câu trả lời hấp dẫn. Bạn có thể làm rõ / liên kết các từ viết tắt SSS không?
trichoplax

@trichoplax Cảm ơn! SSS == tán xạ bề mặt phụ.
imallett

Cảm ơn :) Nếu bạn làm rõ nó trong câu hỏi, nó sẽ tồn tại xóa các bình luận (không được đảm bảo để tồn tại lâu). Tôi đã chỉnh sửa trong một liên kết và văn bản di chuột, hy vọng giữ nguyên bản trình bày dự định của bạn.
trichoplax

2
Trong khi tôi đánh giá cao các nhà sư phạm của câu trả lời này. Sự tán xạ bề mặt phụ được coi là hiệu ứng tỷ lệ mm trong khi thực tế là ở phạm vi phân tử, mọi thứ đều vượt qua bề mặt ở một mức độ nào đó. Nhưng hạn chế cơ bản là chúng ta thường tính các hiệu ứng tỷ lệ mm và cố gắng trừu tượng hóa các mức thấp hơn như các mô hình thống kê. Do đó micromet bằng ngay lập tức vì hầu hết các pixel nhìn thấy diện tích lớn hơn nhiều so với này. Áp dụng tương tự cho màu sắc không tồn tại một cách có ý nghĩa trong vật lý giống như mắt và não của chúng ta trước nó
joojaa
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.