NGHỆ THUẬT CỦA RENDERING (Phần 1)
Một cái nhìn hấp dẫn về Nghệ thuật kết xuất (Rendering). Bao gồm các mô tả về các khái niệm kết xuất cũng như lịch sử và chi tiết của các trình kết xuất chính (main renderers), bao gồm Arnold. Với trích dẫn từ Marcos Fajardo – người sáng lập ra Arnold.
Rendering luôn là một phần trong việc quản lý lượng năng lượng máy tính mà bạn sẵn sàng dành cho việc mô phỏng thực tế – chi phí đó được thể hiện bằng cả thời gian và tiền bạc.
Rendering từng được coi là một “mặt hàng” trong toàn bộ thế giới CG / VFX – Rendering hiện đang là một chủ đề nóng. Giám sát viên CG Scott Metzger nói đùa rằng người ta không thể nói về các trình kết xuất (renderer) mà không làm phiền ai đó. “Các Renderer cũng giống như tôn giáo (cười). Kết xuất là một tôn giáo! Đặc biệt thú vị là trong thời đại này, có rất nhiều điều đang diễn ra và có rất nhiều renderer, rất nhiều thứ xảy ra. Đối với tôi đó là phần thú vị nhất trong ngành công nghiệp này và là đam mê của chúng tôi”.
Như Dana Batali, Phó chủ tịch của các sản phẩm RenderMan tại Pixar đã nhận xét với Fxguide ở một Siggraph trước đó, “Rendering điều khiển ngân sách tính toán lớn nhất để đưa các pixel lên màn hình”. Sau đó, ông đã chỉ ra vào thời điểm đó ‘sims’ (các sim vật lý như vải v.v.) chỉ chiếm khoảng 5% trong hầu hết ngân sách tính toán của bộ phim. Vì việc kết xuất chiếm ưu thế khiến các render farm không thể dành nhiều nỗ lực để hoàn thiện các mô phỏng ánh sáng trong một kết xuất như bạn có thể làm cho một mô phỏng hủy diệt chỉ trong một cảnh quay.
Các Renderer rất dễ viết trong các bản tóm tắt, giống như một dự án trong trường đại học, nhưng để làm việc trong môi trường sản xuất là vô cùng khó khăn. Arnold (bởi Solid Angle), khoảng 200.000 dòng code C ++ được tối ưu hóa cao và nó được coi là một triển khai trực tiếp mà không có nhiều hack hay thủ thuật. Yêu cầu sản xuất về mặt thời gian và độ phức tạp của cảnh thật đáng kinh ngạc. Và vấn đề không chỉ nằm ở thời gian kết xuất cuối cùng, như người sáng lập Arnold Marcos Fajardo đã chỉ ra tại Siggraph 2010 – thời gian CPU kết xuất cuối cùng có thể tốn 0,1 đô la mỗi giờ, nhưng thời gian của họa sĩ thì gần 40 đô la một giờ, vì vậy tính tương tác cũng rất quan trọng.
Trọng tâm của Render là chọn cách tiếp cận nhanh nhất để mang lại kết quả tốt nhất có thể, trong khoảng thời gian bạn có. Chính xác hơn là chọn thuộc tính nào của image – có thể là bóng đổ phức tạp, chuyển động blur phức tạp, tán xạ bề mặt hoặc một số hiệu ứng ánh sáng khác mà bạn ưu tiên – những hiệu ứng nào sẽ sử dụng trong cảnh quay của bạn và thuộc tính nào cần được thỏa hiệp nhiều hơn.
Rendering là một nghệ thuật của việc cố gắng đánh lừa sự thỏa hiệp.
Tìm hiểu về các khái niệm trong Rendering
Có nhiều lựa chọn và yếu tố ảnh hưởng đến quyết định của một studio khi lựa chọn một renderer này hay một renderer khác, từ giá cả đến những trải nghiệm của họ, nhưng đối với bài viết này, chúng tôi tập trung vào việc so sánh dựa trên nhu cầu chiếu sáng toàn cầu (global illumination -GI) trong ngành công nghiệp giải trí . Chúng tôi đã chọn tập trung vào các hãng phim lớn với mong muốn nhiều cơ sở nhỏ hơn quan tâm đến các lựa chọn của các công ty lớn hơn với nhân viên sản xuất và chuyên gia R&D. Điều này không phải để giảm bớt tầm quan trọng của các cơ sở nhỏ hơn mà là nhìn nhận tính chọn lọc tự nhiên của việc lựa chọn các renderer.
Mô hình phản xạ và đổ bóng
Mục tiêu của Render thực tế là tính toán lượng ánh sáng phản chiếu từ các bề mặt cảnh có thể nhìn thấy đến camera ảo thông qua các pixel hình ảnh. Ánh sáng này xác định màu sắc của pixel hình ảnh. Chìa khóa cho điều đó là các mô hình phản xạ/tán xạ và shading (đổ bóng) được sử dụng để mô tả sự xuất hiện của một bề mặt.
Phản xạ /tán xạ – Cách ánh sáng tương tác với bề mặt tại một điểm nhất định. Shading – Làm thế nào các tính chất vật liệu khác nhau trên bề mặt.
Phản xạ hoặc tán xạ là mối quan hệ giữa việc chiếu ánh sáng đến và đi tại một điểm nhất định.
Một mô tả toán học về các đặc điểm phản xạ tại một điểm là BRDF (bidirectional reflectance distribution function) – hàm phân phối phản xạ hai chiều.
BRDF
Một đối tượng hấp thụ, phản xạ hoặc tán xạ là mối quan hệ giữa ánh sáng chiếu đến và đi tại một điểm nhất định. Đây là trọng tâm của việc làm cho các đối tượng hiển thị một cách chính xác.
Các mô tả về “tán xạ” thường được đưa ra dưới dạng hàm phân phối tán xạ hai chiều hoặc đối tượng BRDF tại thời điểm đó.
Shading (đổ bóng)
Shading giải quyết cách thức các loại tán xạ khác nhau được phân phối trên bề mặt (nghĩa là chức năng tán xạ áp dụng ở đâu). Mô tả loại này thường được thể hiện bằng một chương trình gọi là shader. Một ví dụ đơn giản về đổ bóng là ánh xạ kết cấu – sử dụng một hình ảnh để chỉ định màu khuếch tán tại mỗi điểm trên một bề mặt, cho nó chi tiết rõ ràng hơn.
Cuộc săn đuổi hiện đại cho chủ nghĩa hiện thực xoay quanh việc mô phỏng ánh sáng chính xác hơn và các phương pháp kết xuất đã đưa ra để cung cấp giải pháp chiếu sáng tốt nhất. Chìa khóa cho các giải pháp chiếu sáng hiện nay là Global illumination.
Global illumination - GI
Khía cạnh xác định trong vài năm qua của các trình kết xuất là Global illumination (GI)
Jeremy Birn (giám đốc kỹ thuật ánh sáng tại Pixar và tác giả của “Chiếu sáng kỹ thuật số và kết xuất, 2006”) định nghĩa ngắn gọn GI là bất kỳ thuật toán kết xuất nào mô phỏng sự phản xạ ánh sáng giữa hai bề mặt. Khi kết xuất với GI, bạn không cần phải thêm ánh sáng phản chiếu để mô phỏng ánh sáng gián tiếp, bởi vì phần mềm sẽ tính toán ánh sáng gián tiếp cho bạn dựa trên các bề mặt chiếu sáng trực tiếp vào cảnh của bạn.
Chúng tôi muốn tất cả các bề mặt khác cũng góp phần vào BRDF và sự bức xạ từ mỗi hướng. GI làm cho ánh sáng CG giống với ánh sáng trong thế giới thực hơn và tính đến sự phóng xạ hoặc sự đổ màu xảy ra khi không có bề mặt phản chiếu vẫn cung cấp độ nảy và độ nảy cho màu khuếch tán của chúng.
Các giải pháp:
Radiosity : Phóng xạ
Photon mapping: Ánh xạ photon (với việc thu thập cuối cùng)
Point clouds
Brick maps
Monte Carlo ray tracing
Độ phóng xạ thông thường
Độ phóng xạ thông thường (Conventional radiosity) là một cách tiếp cận GI, nơi ánh sáng gián tiếp được truyền giữa các bề mặt bằng sự phản xạ khuếch tán màu sắc bề mặt của chúng và được sắp xếp theo các đỉnh của các lưới bề mặt. Mặc dù đây là một trong những loại GI đầu tiên có sẵn, độ phân giải hình học của bạn được liên kết với độ phân giải của giải pháp GI. Để đạt được nhiều chi tiết hơn trong bóng tối, bạn cần tăng số lượng đa thức và nếu các đối tượng là hình động và di chuyển, nó cần phải được tính toán lại mỗi khung hình. Vì vậy, nó không phổ biến trong VFX.
Trong một bộ ray tracing đơn giản, các hướng tia ánh sáng được xác định thường xuyên và bình thường trong một lưới đơn giản. Nhưng có một sự thay thế quan trọng, đó là phương pháp ray tracing Monte Carlo, còn được gọi là phương pháp ray tracing ngẫu nhiên. Trong Monte Carlo ray tracing, việc truy tìm nguồn gốc tia , hướng và / hoặc thời gian được đặt bằng cách sử dụng các số ngẫu nhiên.
Một ray tracer (bộ giả lập ánh sáng) trong thời gian kết xuất bao gồm số lượng bề mặt ánh sáng và số lượng ánh sáng và vật thể – vì nó có xu hướng theo một hiệu ứng chính.
Chìa khóa của bộ giả lập ánh sáng không phải là độ phức tạp của nó mà là độ phức tạp của việc tối ưu hóa và thực hiện.
Các ý tưởng chính đơn giản là đủ, nhưng nhu cầu về một ray tracer trong ngân sách tính toán cho các dự án cực kỳ phức tạp là không hề nhỏ. Cho đến gần đây, các ray tracer đầy đủ không được sử dụng cho hoạt hình. Chúng rất phổ biến cho các cảnh tĩnh, hoặc các trường hợp đặc biệt rất nhỏ, nhưng hầu hết các ray tracing thương mại đã xảy ra như một phần của giải pháp lớn hơn, như một phần của giải pháp hỗn hợp.
Ngày nay điều đó đang thay đổi, đó chính là nhu cầu lớn về độ chính xác và tinh tế đáng kinh ngạc của một giải pháp ray tracing. Nhưng điều quan trọng là tập trung vào việc tạo ra kết quả tốt không nhất thiết là kết quả chính xác. Trong các bộ phim và chương trình truyền hình, rất hiếm khi độ chính xác được coi là thước đo tuyệt đối. Tính linh hoạt để giải quyết các yêu cầu của đạo diễn không bao gồm độ chính xác vật lý, mà là khả năng tạo ra hình ảnh thực tế.
Photon mapping (ánh xạ Photon)
Phương pháp ánh xạ photon là một phần mở rộng của ray tracing. Năm 1989, Andrew Glassner đã viết về ray tracing như sau:
“Ngày nay, Ray tracing là một trong những kỹ thuật phổ biến và mạnh mẽ nhất trong các tiết mục tổng hợp hình ảnh: nó đơn giản, thanh lịch và dễ thực hiện. [Tuy nhiên] có một số khía cạnh của thế giới thực mà Ray tracing không thực sự xử lý tốt (hoặc hoàn toàn!) như bài viết này. Có lẽ sự thiếu sót quan trọng nhất là sự phản xạ khuếch tán (ví dụ: việc “đổ” ánh sáng màu từ bộ sưu tập màu đỏ xỉn lên tấm thảm trắng, làm cho thảm có màu hồng), v.v.”
Thuật toán Photon map được phát triển vào năm 1993-1994 và những bài báo đầu tiên về phương pháp này đã được xuất bản vào năm 1995. Đây là một thuật toán linh hoạt có khả năng mô phỏng sự chiếu sáng toàn cầu bao gồm tụ quang và phản xạ khuếch tán. Và trong nhiều năm, nó cung cấp tính linh hoạt giống như các phương pháp Ray tracing tổng quát hơn chỉ sử dụng một phần nhỏ thời gian tính toán.
Chìa khóa của ánh xạ photon so với radiosity ray tracing hồi đầu mà các giá trị được lưu trữ ở mỗi đỉnh là trong cách tiếp cận mới, GI được sắp xếp theo một kiểu dữ liệu riêng – Photon map. Độ phân giải của photon map độc lập với phần còn lại của hình học.
Tốc độ và độ chính xác của Photon map phụ thuộc vào số lượng ‘photon’ được sử dụng. Chúng được gắn xung quanh một cảnh và bật ra khỏi bất kỳ bề mặt nào cần được chiếu sáng bằng ánh sáng gián tiếp và được lưu trữ trong bản đồ – không giống như hiệu ứng “Paint gun” trong đó các đốm sáng phản chiếu các photon. Điều này có nghĩa là bạn có thể nhận được kết quả tốt chỉ từ các Photon map, nhưng nếu số lượng photon không đủ, kết quả sẽ không được mượt mà.
Giải pháp cho vấn đề này là sử dụng các bản đồ photon với sự thu thập cuối cùng, điều này giúp photon map mượt mà hơn, cung cấp ánh sáng liên tục và mượt mà hơn nhiều. Ngoài việc “lọc” ra photon map, nó còn cung cấp những gì Birn mô tả như một thứ gì đó mà “các chức năng hoạt động như một giải pháp global illumination cho chính nó, thêm vào một lượng ánh sáng gián tiếp”.
Photon map cùng với sự thu thập cuối cùng để tính toán GI là phương pháp ba bước:
- Đầu tiên, các photon được phát ra từ các nguồn sáng, được dò qua cảnh và được lưu trữ trong photon map khi chúng chạm vào các vật thể không đặc trưng
- Sau đó, tập hợp các photon được lưu trữ không có tổ chức được sắp xếp thành một cây
- Cuối cùng, cảnh được hiển thị bằng cách sử dụng tập hợp cuối cùng (một mức theo dõi ray tracing phân phối). Sự chiếu xạ tại các điểm thu tia cuối cùng được ước tính từ mật độ và công suất của các photon gần nhất. Nội suy chiếu xạ được sử dụng để giảm số lượng tập hợp cuối cùng.
Photon map vẫn được tách rời khỏi biểu diễn hình học của cảnh. Đây là một tính năng chính của thuật toán, làm cho nó có khả năng mô phỏng GI trong các cảnh phức tạp chứa hàng triệu hình tam giác, hình học không định hướng và các đối tượng được xác định theo thủ tục phức tạp.
Kết hợp GI với final gathering có thể đạt được kết quả chỉnh sáng chính xác nhất. Và nó được sử dụng rộng rãi cho các bức ảnh kiến trúc nội thất đòi hỏi hiệu ứng của sự đóng góp ánh sáng từ các nguồn sáng bên ngoài và bên trong. Để liên tục bật và tắt final gathering với GI, một cảnh phải được mô hình hóa theo cách hợp lý về mặt vật lý cho cả hai hiệu ứng ánh sáng này. Ví dụ, các điểm sáng nên có các giá trị gần giống nhau cho các thuộc tính màu (ánh sáng trực tiếp) và năng lượng (photons). Vật liệu thường được thiết kế để hợp lý về mặt vật lý. Vì vậy, trong Softimage, chẳng hạn, có một shader Vật liệu kiến trúc (mia_material) được thiết kế để hỗ trợ hầu hết các vật liệu vật lý được sử dụng bởi kết xuất thiết kế kiến trúc và sản phẩm. Nó hỗ trợ hầu hết các vật liệu bề mặt cứng như kim loại, gỗ và thủy tinh. Nó được điều chỉnh đặc biệt cho phản xạ bóng và khúc xạ và kính chất lượng cao.
Sự bức xạ hay ``sự chảy máu màu`` trong RenderMan
Thời gian trôi qua, các công ty đã nhắm đến việc thêm độ phóng xạ cho các hình ảnh, ngay cả khi họ không thực hiện giải pháp Ray tracing đầy đủ. Với bản phát hành v11 của Pixar RenderMan, Ray tracing được thực hiện như một phần của ngôn ngữ đổ bóng, để hỗ trợ render các tính chất vật lý xen kẽ một cách chính xác, khúc xạ và che khuất môi trường xung quanh. Trong trường hợp của RenderMan ngày hôm nay, v16 cung cấp một số tính năng mới được triển khai đặc biệt để tăng cường hiệu suất của phóng xạ Ray tracing, bao gồm bộ đệm, tạo bóng hợp lý và giải pháp ray tracing thuần túy. Raytrace Hider mới trong phiên bản v16 cho phép hoàn toàn bỏ qua thuật toán REYES. Raytrace Hider là một lựa chọn mới cho phép một người kết xuất hình ảnh bằng cách sử dụng phương pháp ray tracing thuần túy, bỏ qua quá trình rasterization thông thường mà PRMan sử dụng. Các tia sáng giờ có thể được chụp từ máy ảnh với các samples thời gian bị xáo trộn và vị trí ống kính để tạo ra hiệu ứng nhòe chuyển động chính xác và độ sâu của hiệu ứng trường. Với v16, ray traced GI đã trở thành một công cụ sản xuất khả thi. Trước v16, RenderMan vẫn đang tạo ra các giải pháp GI tuyệt vời bằng cách sử dụng các giải pháp multi-pass.
Trước khi chi phí phát xạ ray traced bắt đầu trở nên khả thi đối với các sản phẩm lớn, RenderMan của Pixar đã xử lý GI theo hai cách riêng biệt, một cách sử dụng phương pháp ray tracing để thêm độ rọi gián tiếp sau khi chiếu sáng trực tiếp và phần còn lại sử dụng phiên bản không có ray tracing ở tất cả. Những kỹ thuật này lần đầu tiên được sử dụng trong bộ phim Pirates of Caribbean 2: Dead Man’s Chest, 2006. Đối với các scence sản phẩm với các shader và hình học phức tạp, các kỹ thuật này tỏ ra tương đối nhanh, hiệu quả về bộ nhớ và không bị giả tạo, nhưng vì tính chất đa dạng của chúng, họ yêu cầu Disk I/O (Disk I/O là các hoạt động input/output trên đĩa bao gồm đọc hoặc ghi và được đo bằng KB/s), quản lý tài sản cẩn thận và không phù hợp để chiếu sáng lại tương tác.
Pixar RenderMan cung cấp hai giải pháp hoặc tùy chọn multi-pass cho việc đổ màu tự nhiên: Brick Maps (đây là một cách tiếp cận tương tự như ánh xạ photon) và các đám mây điểm (point clouds). Chúng tôi đã nói chuyện với Per H Christensen – nhà phát triển phần mềm cao cấp trong nhóm Pixar RenderMan ở Seattle, về hai cách tiếp cận multi-pass này.
Tùy chọn 1 : Brick Maps: Giải pháp Ray tracing / Brick maps để giải quyết chiếu sáng gián tiếp hoặc phóng xạ
Các bước như sau:
– Render với chiếu sáng trực tiếp và trong quá trình Render này, phần mềm viết ra đám mây điểm (với mỗi điểm trên đám mây có màu chiếu sáng trực tiếp trên đó), đây là chế độ “nướng sáng trực tiếp”.
– Sau đó, phần mềm chuyển đổi đám mây điểm này thành brick map 3D. Bản đồ 3D này – rất giống bản đồ kết cấu – độc lập với máy ảnh một cách hiệu quả.
– Bước cuối cùng là hiển thị hình ảnh cuối cùng và cho từng điểm bóng mà bạn muốn biết chiếu sáng gián tiếp hoặc độ rọi của phần mềm bắn ra tia sáng vào 3D brick map và tìm kiếm màu sắc tại điểm đó. Làm theo cách này sẽ rất tốn kém, nhưng nó được tối ưu hóa trong RenderMan để chỉ cần tra cứu trong brick map và để giảm thiểu số lượng các tia. Vì REYES phân chia bề mặt thành micropolygons, RenderMan thực hiện tốt điều này.
Tùy chọn 2: Đám mây điểm (Point Clouds): để giải quyết sự chiếu sáng gián tiếp hoặc độ phóng xạ với các đám mây điểm (không có ray tracing)
Các bước như sau:
– Render với chiếu sáng trực tiếp như trước, viết ra đám mây điểm (mỗi pt có màu chiếu sáng trực tiếp), nhưng không làm brick map
– Kết xuất hình ảnh cuối cùng – cho mỗi điểm tô màu trước khi bạn bắn tia vào brick map – bây giờ bạn nhìn lên trong một quãng tám. Vì vậy, các điểm gần với vị trí của chúng ta trong không gian 3 chiều, phần mềm sẽ đánh giá đầy đủ, nhưng các điểm cách xa chỉ là kết hợp lại với nhau trong một giải pháp tổng hợp. Theo một cách nào đó tại mỗi điểm đổ bóng, bạn muốn có một cái nhìn toàn cảnh về thế giới, tại thời điểm đó, sự rạn nứt của thế giới – nhưng sử dụng quãng tám để tăng tốc mọi thứ.
RenderMan không tính từ mọi điểm trên đám mây và hoàn toàn không sử dụng phương pháp ray tracing trong phương thức này.
Để đối phó với những đám mây điểm rất lớn này, có một hệ thống bộ đệm đọc các điểm khi bạn cần chúng. Tương tự, đối với phương pháp ray tracing, phần mềm được tối ưu hóa để cho phép tự động giảm tải hình học khi không cần thiết để giảm sử dụng bộ nhớ.
Trước đây, các TD đã chọn một trong hai phương pháp này cho một chương trình (phim) để thiết lập cách tiếp cận phù hợp với các cảnh phim đó. Ví dụ, Wall-E đã sử dụng các phương pháp point cloud để che khuất môi trường xung quanh, vì có rất nhiều rác thải dày đặc (khi bắt đầu phim) và đối với phương pháp ray tracing, họ sẽ cần truy cập vào tất cả các hình học để xác định các giao điểm tia, do đó phương thức point cloud đã được nhóm Pixar lựa chọn để sử dụng cho bộ phim đó.
Quan trọng là, hầu hết các thảo luận ở trên là về vận tải khuếch tán. Để tổng quát hơn về GI, cần phải nói rằng chỉ ánh xạ photon và ray tracing Monte Carlo cho phép người ta giải quyết các đường dẫn cụ thể hoặc thậm chí khuếch tán đến các hiệu ứng ánh sáng cụ thể như trong Caustics (tụ quang). Caustics vẫn là một vấn đề rất phức tạp và yêu cầu cao. Mặc dù được giải quyết nhiều lần trong sản xuất nhưng nó có xu hướng hiếm khi được giải quyết một cách trực tiếp và thường được xử lý như một trường hợp đặc biệt.
Nhóm RenderMan được khuyến nghị sử dụng các phương pháp đa biến như “nướng” ánh sáng trực tiếp hoặc ánh xạ photon. Nhưng với bộ đệm tần số đa độ phân giải được giới thiệu trong PRMan v16, nó cũng hiệu quả và dễ sử dụng hơn các kỹ thuật mới.
Christophe Hery, nhà khoa học cấp cao tại Pixar nói, “Rõ ràng tôi đã từng là một người ủng hộ mạnh mẽ cho các phương pháp tiếp cận multipass trong quá khứ, và đặc biệt là các kỹ thuật dựa trên các điểm. Nhưng thông qua công việc Bảo tồn Năng lượng và cơ sở Vật lý gần đây của tôi (chủ yếu tại ILM với đồng nghiệp cũ Simon Premoze – mặc dù bây giờ tôi đã tái tạo và nâng cao nó tại Pixar), tôi phát hiện ra rằng Multi Importance Sampling là một giải pháp rất thiết thực cho phép thống nhất việc chiếu sáng: ví dụ, vì chúng ta lấy mẫu BRDF mà chúng ta có thể hoán đổi một cách rõ ràng một ánh sáng đặc biệt có hình dạng và cường độ nhất định, với hình dạng kích thước và màu sắc giống nhau, và về bản chất có được sự phản chiếu tương tự từ nó (rõ ràng một phần quan trọng để làm việc đó là kết cấu HDR).
Thật thú vị, việc giải quyết khả năng hiển thị đặc biệt (ray-tracing cho MIS) về cơ bản sẽ cung cấp cho bạn bóng đổ miễn phí trên các thành phần khuếch tán của bạn. Liên kết với bộ đệm phóng xạ (từ PRMan v16) và sau đó bạn thấy mình trong tình huống PBGI (Point Based Global Illumination) hoặc thậm chí các sóng hình cầu trở nên lỗi thời (để chứng minh những điều này, bạn sẽ cần phải có ít nhiều ánh sáng khuếch tán, ít nhất là một trường ánh sáng tần số thấp).
Christophe Hery gia nhập Pixar năm 2010 sau khi trải qua 17 năm tại ILM. Năm 2010, ông đã nhận được Giải thưởng Thành tựu Kỹ thuật cho việc phát triển rendering trên cơ sở điểm để chiếu sáng gián tiếp và che khuất môi trường xung quanh. Ông được công nhận trong toàn ngành là một trong những nhà cải tiến và nghiên cứu kỹ thuật hàng đầu trong lĩnh vực chiếu sáng và rendering. Do đó, Fxguide đã hỏi ý kiến cá nhân của ông về việc liệu điều này có nghĩa là ông ngày càng ủng hộ một giải pháp ray traced đầy đủ.
“Đúng. Tôi tin rằng toàn bộ ngành công nghiệp đang đi theo hướng đó. BRDF được chuẩn hóa và ánh sáng khu vực, kết hợp (thông qua MIS), mang đến một hình ảnh hợp lý với sự điều chỉnh tối thiểu, giúp các nghệ sĩ tập trung vào việc làm đẹp cho các bức ảnh”.
Thời gian gần đây tại Siggraph và các nơi khác đã có những tiến bộ trong chiếu sáng như sử dụng sóng hình cầu, nhưng việc sử dụng các phương pháp tiên tiến này phần nào được giảm thiểu bằng cách áp dụng giải pháp ray tracing hoàn chỉnh hơn. Hery chú thích thêm:
“Các SH (Spherical Harmonics – Sóng hình cầu) như là một giải pháp ánh sáng đóng hộp đầy đủ ‘chỉ’ có thể tái tạo các vật liệu hoặc ánh sáng tần số thấp. Như vậy, chúng không phải là một cách tiếp cận hoàn chỉnh, và chúng luôn cần được bổ sung bởi một thứ khác. Thêm vào đó chúng đi kèm với các vấn đề nghiêm trọng liên quan đến tiền mã hóa và lưu trữ. Nếu một người sử dụng MIS để đạt được điều gì đó đặc biệt, thì người ta cũng có thể chia sẻ việc lấy mẫu ánh sáng (và khả năng hiển thị theo dõi) và về cơ bản được khuếch tán miễn phí”.
Khi giải pháp GI được giả lập, việc thiết lập cũng trở nên dễ dàng: không có dữ liệu bổ sung đặc biệt nào để quản lý. Hery, một lần nữa:
“Bạn thậm chí có thể làm cho toàn bộ mọi thứ gia tăng (theo cách tinh chỉnh lũy tiến), cho phép các tương tác nhanh. Với PRMan v16, tôi không nghĩ rằng chúng ta đang ở thời điểm hợp lý để giả lập các tia camera (tốt hơn là dựa vào tessname Reyes), nhưng mọi thứ khác đều có thể. Mặt khác, nhờ Lumiere PRMan, việc bắt đầu hoạt động trong chế độ điều chỉnh ray-trace thuần túy thực sự tuyệt vời”.
Lumiere là một phần của RenderMan RPS, cung cấp API để các nhà phát triển truy cập. Lumiere là trình kết xuất lại REYES, nhưng cũng có kết xuất lại / tái tạo RAYS. Nhiều hãng phim đã viết giao diện của riêng họ vào Lumiere, bao gồm từ bên trong Nuke, bên trong Maya hoặc một ứng dụng cơ sở độc lập. Lumiere thực ra là một cái tên được đặt cho hai loại kết xuất lại khác nhau bên trong Pixar, cả công cụ theo phong cách Katana và công cụ tương tác – tên này được sử dụng trên một số công cụ nội bộ của Pixar.
Monte Carlo ray tracer
Arnold là một ví dụ về một Ray tracer Monte Carlo, đó là một bộ giả lập ngẫu nhiên không kén chọn, không định hướng. Không giống như RenderMan, nó sử dụng phương pháp ray tracing để chiếu sáng trực tiếp và gián tiếp, nhưng cũng không giống như các công cụ giả lập trước đó, nó không chậm và khó sử dụng với hình ảnh động và vật thể chuyển động. Arnold dường như là một trình kết xuất được thiết kế chính xác cho VFX và sản xuất hoạt hình.
Arnold hoàn toàn hỗ trợ GI và cung cấp mức độ chân thực cao và sự tinh tế trực quan cao đồng thời cũng bao quát sự linh hoạt cần thiết cho quá trình sản xuất.
Arnold không có thủ thuật tạo điểm ảnh (rasterization), không có bộ đệm chiếu xạ hoặc bản đồ photon cho các nguồn sáng. Theo Eric Haines (Tin tức Ray tracing): Làm mờ chuyển động và độ sâu của hiệu ứng trường làm suy yếu sự hấp dẫn của rasterization, vì phải thực hiện nhiều lần việc lấy mẫu; những đặc điểm này là một phần tự nhiên của phương pháp ray tracing ngẫu nhiên. Không phải là một hệ thống hỗn hợp sử dụng một số hình thức rasterization có một vài lợi thế. Đầu tiên, ở đó chỉ có một phiên bản duy nhất của mô hình được lưu trữ, không phải là một phiên bản cho trình rasterizer và một phiên bản khác cho trình ray tracer. Giảm dung lượng bộ nhớ là rất quan trọng để rendering các cảnh lớn, điều này giúp ích đáng kể. Arnold cũng sử dụng việc nén và lượng tử hóa dữ liệu (độ chính xác thấp hơn) để giảm chi phí bộ nhớ. Không sử dụng hai phương pháp kết xuất để tránh các vấn đề đau đầu khác: duy trì hai trình kết xuất riêng biệt, sửa lỗi đồng bộ hóa giữa hai phương thức (ví dụ: một bên thì cho rằng một bề mặt nằm ở một vị trí, bên kia lại có kết quả khác), xử lý một số lượng lớn các hiệu ứng một cách nhất quán trong cả hai, v.v.
Nhằm tránh lưu trữ bộ đệm, như trong các phương pháp hỗn hợp ở trên, có nghĩa là có thời gian tiền mã hóa tối thiểu cho Arnold. Điều này có nghĩa là kết xuất có thể xảy ra ngay lập tức so với việc chờ đợi quá trình tiền mã hóa được hoàn thành. Kết hợp với quá trình kết xuất lũy tiến (trong đó hình ảnh được xử lý và cải thiện theo thời gian), đây là một lợi thế trong môi trường sản xuất, vì các nghệ sĩ và giám đốc kỹ thuật có thể lặp lại nhanh hơn sau đó.
Chiếu sáng dựa trên hình ảnh - Image Based Lighting (IBL)
Một phần quan trọng của GI là ánh sáng dựa trên hình ảnh. IBL liên quan đến việc ghi lại một đại diện đa hướng về thông tin ánh sáng trong thế giới thực dưới dạng hình ảnh, thường theo một trong ba cách:
- chụp ảnh khung của một quả bóng chrome
- ghép các loạt ảnh tĩnh, thường được chụp bằng ống kính mắt cá rất rộng hoặc 180 độ
- sử dụng các camera quét chuyên dụng như Spheron
Những hình ảnh HDR này sau đó có thể chiếu lên một mái vòm hoặc hình cầu tương tự như ánh xạ môi trường và điều này được sử dụng để mô phỏng ánh sáng cho các đối tượng trong cảnh. Việc này cho phép ánh sáng trong thế giới thực rất chi tiết được sử dụng để chiếu sáng một cảnh. Hầu như tất cả các phần mềm kết xuất hiện đại đều cung cấp một số loại ánh sáng dựa trên hình ảnh, mặc dù thuật ngữ chính xác được sử dụng trong hệ thống có thể khác nhau.
Dưới đây là một số ví dụ từ fxphd Renderman trong khóa học sản xuất tại fxphd.com của Christos Obretenov của các shader Lollipop. Không có ánh sáng nào trong cảnh – trong cả ba hình ảnh, ánh sáng đều được khuếch tán, dội lại, đặc biệt từ các bản đồ vòm HDR không bị che khuất, được kết xuất trong RenderMan. Tất cả các kết xuất / đổ bóng được thực hiện bởi Christos Obretenov. Arkell Rasiah cung cấp các bản đồ HDR và Jason Gagnon cung cấp mô hình van.
Các bạn có thể theo dõi phần 2 bài “Nghệ thuật của Rendering” tại đây