Chào các bạn.
Để phục vụ cho bài viết này, Tôi xin phép mượn 2 trình renderer V-ray và Corona Renderer – 2 Đại diện nổi bật nhất hiện nay làm ví dụ cho bài viết này.
.Trong bài viết này. Chúng ta sẽ tìm hiểu các nội dung sau:
1. Thế nào là giải pháp UnBiased render !?
2. Điều gì khiến 1 trình render là Biased !?
3. Giải pháp nào là đúng? Biased hay unbiased?
4. Giải pháp nào tốt hơn? Biased hay unbiased?
5. Vì sao Vray có nhiều cài đặt thiết lập setting !?
Trước khi đi vào bài phân tích, Tôi tóm lược thuật ngữ Biased và Unbiased ở đây để các bạn dễ hình dung khi đi vào bài phân tích tiếp theo dưới đây.
* Biased (đại diện đến từ V-ray): Render nhanh hơn. Nhưng nhược điểm với người dùng là nhiều cài đặt setting hơn.
* Unbiased (đại diện đến từ Corona renderer): Render chậm hơn. Ưu điểm là ít cài đặt setting hơn.
* Biased: nghĩa là cho kết quá đúng với thực tế. Bằng cách điều chỉnh setting, tùy theo bạn muốn kết quả đúng hay gần đúng (tiết kiệm thời gian render)
* Unbiased: Về cơ bản, một trình unbiased rendering đồng nghĩa là nó sẽ thực hiện tính toán toàn bộ, không bỏ qua bất kỳ một phần nào. Mỗi một tia sáng đều được tính toán như nhau trên tất cả các mặt, chứ không thiên về một khía cạnh cụ thể nào cả. Vì lý do này nên sẽ có một lượng rất lớn các tia cần thiết được lấy để tính toán cho ra một kết quả sạch nhiễu. nghĩa là cho kết quả chính xác với thực tế.
Bất kể cách tính toán như thế nào. Miễn Bạn có thời gian. Thời gian bạn có tương đương với kết quả bạn nhận được.
.Từ nhiều năm trước, đã có nhiều cuộc tranh luận về giải pháp render nào, biased hay unbiased rendering, là tốt hơn. Thuật ngữ unbiased được sử dụng bởi nhiều người với ngụ ý về tính chính xác hơn. Sự thật là gần như mọi renderer thực tế sử dụng giải pháp biased trong một số phạm vi, kể cả khi được cho là nên dùng unbiased. Bởi vì giải pháp biased thực sự nhanh hơn, thông minh hơn, và không nhất thiết không chính xác. Để hiểu về vấn đề này, chúng ta hãy cùng tìm hiểu kỹ hơn một chút.
1. Giải pháp Unbiased là gì?
Về cơ bản, một giải pháp unbiased rendering có nghĩa là hoàn toàn không sử dụng lệnh rút gọn trong tính toán. Mỗi tia (RAY) được xử lý tương tự nhau và không có bất kỳ sự thiên vị nào đối với bất kỳ giá trị nào. Vì vậy, một số lượng lớn các tia cần có kết quả sạch nhiễu. Một trong số những miêu tả tốt nhất của giải pháp unbiased mà tôi tìm thấy là từ Vlado, người đầu tiên đăng nội dung này trên diễn đàn Chaos Group.
“Trên lý thuyết, phương pháp unbiased là một phương pháp mà, nếu bạn có thể chạy nó nhiều lần trên cùng một dữ liệu (3D scene), thì nó sẽ cho bạn bình quân kết quả chính xác ở hình ảnh cuối cùng, mặc dù mỗi kết quả riêng biệt có thể bị sai (Noise).
Điều này có nghĩa là nếu bạn chạy chính xác thuật toán nhiều lần, bạn sẽ có được hình ảnh cuối cùng chính xác. Bạn có thể tưởng tượng điều này giống như là nhiều lựa chọn mà mẫu lũy tiến của V-Ray tạo ra thông qua hình ảnh xóa nhiễu. Mỗi lựa chọn riêng biệt có thể nhiễu, nhưng một số lượng thật lớn lựa chọn thì được tính bình quân, bạn có thể có được kết quả sạch nhiễu ở hình ảnh cuối cùng.”
Như vậy, bạn có thể cho là render lũy tiến tạo thành unbiased. Điều này không thực sự đúng. Có nhiều phép rút gọn biased mà các renderer có thể sử dụng để tăng tốc độ render. Những tối ưu hóa này tùy thuộc vào khả năng dựng hình và kiểm soát quá trình dựng hình từ phía người dùng.
Những nhầm lẫn phổ biến về giải pháp unbiased
Nếu bạn theo dõi các cuộc tranh luận, sẽ có nhiều sự nhầm lẫn về việc thực sự giải pháp unbiased là gì. Sau đây là một số những nhầm lẫn phổ biến nhất mà tôi gặp. Unbiased đương nhiên chính xác . Điều đó ngụ ý rằng giải pháp biased rendering thì đương nhiên không là chính xác !? Cả hai đều không chính xác.
Chỉ duy nhất ý tưởng sử dụng một BRDF như Blinn hoặc GGX bản thân nó là một sự ước lượng vật liệu thực tế. Câu hỏi đặt ra là giải pháp nào sẽ cho lựa chọn hợp lý đương nhiên một cách nhanh chóng hơn. Điều này sẽ được giải thích kỹ hơn ở nội dung dưới đây.
- Giải pháp Unbiased nghĩa là cài đặt ít hơn – Chỉ bởi vì render có ít cài đặt hơn không biến nó thành giải pháp unbiased.
- Ngược lại. Bias nghĩa là có nhiều cài đặt hơn. Khó mã hóa vào renderer và không thể hiện ra cho người dùng.
2. Điều gì khiến một renderer là biased?
Ở điểm này bạn có thể ngạc nhiên, vậy việc render đến từ unbiased đến biased? Và đâu là phép rút gọn tạo ra nó?
Có nhiều mẹo phổ biến. Một số trong đó được thể hiện cho người dùng biết, như trong V-Ray giúp đưa ra cho anh/chị lựa chọn phép rút gọn nào mình muốn sử dụng và trong phạm vi nào. Các trình renderer khác không phải luôn được thể hiện ra ngoài. Nó có thể nhằm đơn giản hóa giao diện, hoặc khiến người dùng tin rằng không có phép rút gọn nào được thực hiện và kỹ thuật render của họ là unbiased. Tuy nhiên, sau đây có một số ví dụ về cài đặt hoặc phép rút gọn khiến cho kỹ thuật render là biased:
Unbiased sẽ không thể giới hạn các tia (Ray) cho đến khi nó hoàn toàn bị hấp thụ. Sử dụng một bộ nhớ – ví dụ Global Illumination hoặc Caustic (tụ quang vật lý) là giải pháp biased (giúp tăng tốc quá trình render)
Adaptive Sampling (Quá trình lấy mẫu thích nghi) – Đây là việc cần tính toán các tia ở những khu vực quan trọng hơn (Ví dụ, bạn có thể muốn tính toán nhiều hơn các tia quanh các khu vực bạn biết có ánh sáng) Xóa hoặc loại bỏ tia tụ quang – Đây là điều phổ biến trong nhiều render vì tính toán Caustic khá phức tạp.
Cắt (giữ cố định) hoặc giảm cường độ tia đối với các tia nhất định nhằm làm giảm hiện tượng fireflies (nhấp nháy hay các tia sáng lốm đốm) – Đây là một mẹo phổ biến cho các trường hợp như tia phản quang thường hiếm khi bắt sáng đối với các nguồn rất sáng. Bằng cách giữ cố định các tia thứ hai, bạn có thể giảm số trường hợp đột biến quang học (cũng được biết đến là hiện fireflies) xảy ra.
3. Giải pháp nào là đúng? Biased hay unbiased?
Sau đây là một số trích dẫn của của Vlado đăng trên diễn đàn Chaos Group:
“Gần đây tôi bị mất tinh thần khi biết rằng nhiều người cho là thuật ngữ ‘unbiased’ có nghĩa là ‘đương nhiên đúng’, và ‘biased’ theo cách nào đó là đương nhiên không đúng. Trong khi thực tế thì mối quan hệ giữa hai thuật ngữ là tương đương như mối quan hệ giữa ‘đúng’ và ‘chính xác’.
Tính toán bằng Unbiased cho kết quả chính xác lớn, nhưng nó không hàm ý bất kỳ điều gì về tính chính xác gần với kết quả chính xác thực tế như thế nào.
Điều ngược lại cũng đúng – tính toán bằng biased cũng có thể khá chính xác (ví dụ: rất gần với kết quả thực tế), nhưng theo cách điển hình nào đó bị cho là không chính xác.”
Vậy render bằng giải pháp biased nếu mục tiêu của bạn là đạt được hình ảnh càng gần với kết quả thực tế, đúng thì càng tốt, thì bạn cần thực hiện giải pháp biased.
Nếu bạn muốn chắc chắn mọi tia phải được tính đến, ngay cả khi không có khác biệt có thể nhận ra hoặc nó không tác động gì đến view nhìn trong camera bạn muốn render, thì khi đó bạn cần giải pháp render là unbiased..
Giải pháp nào tốt hơn? Biased hay unbiased?
Như chúng tôi xác định, phần lớn renderers sử dụng giải pháp biased cho phần render của họ, ngay cả khi họ gọi nó là unbiased. Còn nếu không làm vậy, quá trình render sẽ cực kỳ chậm. Giải pháp kỹ thuật . Biased engines rất thông minh; trong lĩnh vực này thì nó là cách hiệu quả nhất để cho hình ảnh chính xác.
Thực tế, bạn có thể gọi giải pháp unbiased là không hiệu quả. Render chậm hơn Biased
Trên giấy tờ, thuật ngữ unbiased nghe có vẻ ưu việt hơn biased, vì tiền tố Un thể hiện không có giới hạn hay ràng buộc (đại khái nói là unbiased là không thông minh và biased là… thông minh).
Tóm tắt của một câu chuyện dài: Nếu bạn đang thực hiện tính toán vậy lý khoa học chính xác và có quá nhiều khả năng tính toán và thời gian, unbiased có thể sẽ tốt cho bạn.
Nếu bạn thích render hình ảnh hợp lý một cách tự nhiên trong một khoảng thời gian hợp lý, giải pháp biased sẽ giúp bạn đến đích nhanh hơn. Cơ hội cho bạn là việc bạn vẫn render cho dù kỹ thuật render bạn đang sử dụng là gì.
5. Vì sao Vray có nhiều cài đặt thiết lập setting !?
Lý do V-Ray có nhiều các thiết lập là để đáp ứng các nhu cầu khác nhau của đông đảo người dùng. Trong một số phiên bản gần đây, V-Ray đã thực hiện một số cải tiến đáng kể nhằm giảm thiểu các thiết lập cần thiết mà người dùng định nghĩa. Đó cũng là lý do chính tại sao rất nhiều các thiết lập V-Ray sẽ chỉ được hiển thị khi người dùng lựa chọn sử dụng ở chế độ “advanced” hoặc “expert.”
Đội ngũ phát triển cũng đang nỗ lực để khiến V-Ray trở nên thực tiễn và tiện dụng hơn, sao cho một lúc nào đó, người dùng có thể load mô hình vào và nhấn một hai nút thực thi là có thể cho ra kết quả. Trong phiên bản hiện hành của V-Ray, các thiết lập được cài đặt để bỏ qua hầu hết các thiết lập từ người dùng (ví dụ như điều chỉnh thông số subdivisions cho ánh sáng hoặc vật liệu), các thao tác vốn có thể gây chậm quá trình rendering. Nhiều người dùng có thể cảm thấy tốc độ được tăng rất đáng kể khi họ tiến hành rendering lại các khung cảnh cũ.
Sự thật là bộ lõi của thuật toán V-Ray đã được cải tiến và nhanh hơn trước rất nhiều trong các phiên bản gần đây, nó cũng đã loại bỏ một số thiết lập cố hữu vốn có tác động chính gây chậm tốc độ rendering.
Một thực tế mà đa số mọi người không biết đó là VRay thể hiện mọi cài đặt về mặt kỹ thuật là unbiased (trên thực tế mặc dù Vray mang tên là trình Biased Render). Để thực hiện điều đó, theo V-Ray thì Họ đã thực sự nhận ra sự khác biệt giữa Biased và Unbiased từ lâu rồi. Họ cho rằng, Unbiased ngoài việc chậm hơn đáng kể, người dùng sẽ không nhận ra có bất kỳ khác biệt lớn nào giữa hai renderer Biased hay Unbiased.
Vậy giải pháp nào hiệu quả hơn? Biased hay Unbiassed ?
Kết luận là: các giải pháp biased là hiệu quả hơn, đó là lý do mà mọi người vẫn tin dùng chúng.
Hiện nay Corona render – “Kẻ thay đổi cuộc chơi” đã xuất hiện, và chắc chắn thị phần render của V-ray ít nhiều chắc chắn bị ảnh hưởng. Điều mà các trình render trước đây như Maxwell, Brazil, FinalRender v.v…không làm được và hầu như rơi vào quên lãng. Cuộc chiến giữa 2 nhà phát triển chắc sẽ còn dài và gây cấn. Và tất nhiên người dùng chúng ta sẽ được hưởng lợi. Chúng ta hãy chờ xem nhé !
Cảm ơn các bạn đã theo dõi bài viết này.Tuaneke