3 điểm bởi GN⁺ 2024-04-16 | 1 bình luận | Chia sẻ qua WhatsApp

Tìm hiểu ray tracing thông qua phổ

Phần giải thích nền tảng về lý do bước sóng quan trọng trong ray tracing và tác động của ray tracing phổ đối với nghệ thuật máy tính

Ray tracing

  • Mô hình hóa đường đi mà các tia di chuyển bằng cách liên tục nảy qua lại giữa các vật thể ảo trong cảnh, giữa camera ảo và nguồn sáng, để "chiếu sáng" cảnh
  • Vì hiệu năng, người ta sử dụng nhiều lối tắt
    • Ví dụ: truy vết ngược đường đi của tia từ camera về nguồn sáng
    • Xem tia như các hạt mang vector RGB tương ứng với "màu sắc" và bỏ qua các đặc tính sóng
  • Lối tắt RGB hoạt động tốt nhờ cách mắt chúng ta vận hành
    • Mắt người có ba loại tế bào cảm nhận màu nhạy với bước sóng (tế bào nón SML)

Nhìn theo phổ

  • Màu sắc chúng ta nhìn thấy hiếm khi được tạo thành từ một bước sóng đơn lẻ, mà thường là SPD (spectral power distribution) — tập hợp của nhiều bước sóng
  • Một màu đơn lẻ có thể tương ứng với nhiều SPD khác nhau (metamerism)
    • Ví dụ: màu vàng tương ứng với bước sóng 580nm, nhưng cũng có thể tái tạo bằng cách trộn ánh sáng đỏ và xanh lục
  • Việc chuyển đổi từ SPD sang màu sắc có thể thực hiện hoàn toàn bằng toán học (không gian màu CIE 1931)
    • Một liên kết định lượng nối vật lý, sinh lý học và trải nghiệm chủ quan

Khi bước sóng trở nên quan trọng

  • Khi các đặc tính sóng của tia có ảnh hưởng trực tiếp đến đường đi của chúng khi xuyên qua cảnh
    • Ví dụ: tán sắc (lăng kính), giao thoa màng mỏng (hoa văn cầu vồng trên bong bóng xà phòng)
  • Giao thoa màng mỏng không chia phổ thành các bước sóng đơn lẻ, mà tăng/giảm mức đóng góp của một phần phổ để tạo ra các màu phi phổ như xanh ngọc và nâu

Ray tracing phổ và nghệ thuật máy tính

  • Ray tracing có xét đến các đặc tính sóng của tia
  • Thay vì màu RGB, nó tạo SPD cho mọi pixel trong cảnh và sử dụng bước sóng cùng pha của tia để dự đoán màu sắc chính xác hơn
  • Điều này khơi gợi sự tò mò về chuyện gì xảy ra khi cố ý phá vỡ một số quy luật chi phối sự truyền ánh sáng
    • Xây dựng camera bằng code trong một vũ trụ hơi khác thế giới của chúng ta
  • Giới thiệu các tác phẩm được tạo ra bằng một trình ray tracer phổ viết bằng JavaScript và GLSL

Ý kiến của GN⁺

  • Bài viết giải thích rất tốt các hiện tượng vật lý cần cân nhắc để đạt được render chân thực trong đồ họa máy tính
    • Đặc biệt ấn tượng với phần liên hệ với cách mắt người nhận biết màu sắc
  • Việc cho thấy các trường hợp được ứng dụng trực tiếp vào sáng tác nghệ thuật giúp hiểu rõ nội dung lý thuyết được áp dụng trong thực tế như thế nào
    • Việc biến đổi phương pháp ray tracing để tạo ra hình ảnh phi thực nhưng đẹp mắt rất thú vị
  • Ngoài mô phỏng quang học, kỹ thuật ray tracing phổ dường như còn có thể được ứng dụng trong nhiều lĩnh vực như trực quan hóa dữ liệu khoa học, VR/AR, CG điện ảnh
  • Cùng với sự phát triển của các kỹ thuật render dựa trên deep learning, ngày càng có nhiều nỗ lực nhằm vượt qua giới hạn của ray tracing truyền thống
    • Rất đáng chờ đợi xem những công nghệ render đột phá nào sẽ xuất hiện trong tương lai

1 bình luận

 
GN⁺ 2024-04-16
Ý kiến trên Hacker News
  • Sách điện tử miễn phí "Ray Tracing Gems II" bàn về ray tracing GPU thời gian thực sử dụng API mới nhất và tăng tốc phần cứng, đồng thời có chương về kết xuất quang phổ (Chapter 42: Efficient spectral rendering on the GPU for predictive rendering)
  • Một số ví dụ về spectral ray tracer được nêu ra như Mitsuba, Maxwell, và Manuka của Wētā FX
    • Mitsuba: trình kết xuất nghiên cứu mã nguồn mở, cung cấp nhiều tính năng như kết xuất khả vi
    • Maxwell: cung cấp hai chế độ quang phổ với mức độ chính xác khác nhau; phương pháp phức tạp hơn thường được dùng trong quang học
    • Manuka: dựa trên quang phổ và đã được dùng trong nhiều bộ phim
  • Bình luận của tác giả bài gốc:
    • Kết xuất quang phổ là một ví dụ cho thấy ray tracing tự thân không phải là đích đến cuối cùng của kết xuất. Có ý kiến cho rằng kết xuất đã được giải quyết nhờ ray tracing thời gian thực, nhưng điều đó khá xa sự thật
    • Hầu hết các hệ thống kết xuất quang phổ không xử lý giao thoa màng mỏng hay các hiệu ứng dựa trên sóng khác. Thực tế có rất nhiều chi tiết đáng kinh ngạc
  • Đề xuất tạo ảnh hyperspectral (hơn 3 kênh):
    • Có thể nhấn mạnh quang phổ để dùng trong giáo dục màu sắc cho trẻ em
    • Ảnh và camera hyperspectral hiếm và theo truyền thống rất đắt, nhưng có thể thay thế bằng ảnh tổng hợp
    • Có thể tạo một trình kết xuất ngay trong trình duyệt với độ phân giải rất thấp để tương tác với ánh sáng và vật liệu
    • Có thể kết xuất theo góc nhìn của người có thị giác màu bất thường, con người có thể nhìn cả tia UV sau khi loại bỏ đục thủy tinh thể, động vật có vú mù màu, hay cá chép bốn sắc tố
  • Tự tay hiện thực ray tracing hóa ra khá dễ hơn mong đợi. Có thể tham khảo sách miễn phí hoặc tutorial GPU dựa trên Unity
    • Có thể nghịch với một bản hiện thực cơ bản để xây dựng trực giác (ví dụ: hiện thực tia như các hạt bị vật thể hút hoặc đẩy, ghi nhớ góc phản xạ cuối cùng để dùng cho vật liệu tiếp theo, v.v.)
    • Phần lớn trông không đẹp, nhưng vẫn giúp hình thành trực giác. Di chuyển camera từng chút một cũng có ích
  • Tò mò liệu những thay đổi được thực hiện vì tính thẩm mỹ có thể hữu ích cho các kiểu trực quan hóa khác hay không
  • Đang cố hiện thực khúc xạ trong một distributed ray tracer
    • Lấy mẫu ngẫu nhiên tần số, tính màu rồi điều biến màu của tia
    • Vì màu khúc xạ thuần chỉ sáng bằng 1/3 nên phải nhân kết quả với 3
  • Muốn biết thêm về artwork được chia sẻ ở cuối bài. Ý tưởng kết xuất một thực tại nơi ánh sáng hoạt động theo cách khác với chúng ta rất hấp dẫn
  • Muốn hiểu việc mô hình hóa phân bố quang phổ thay vì pixel RGB ảnh hưởng thế nào đến hiệu năng ray tracing