Ở phần 1 của bài VRay DMC Sampler mình đã nói qua nền tảng kỹ thuật cơ bản nhất của Vray DMC sampler,  biased enginesEye ray… Và bài này sẽ tiếp tục câu chuyện của bài trước đó. Xem chổ nào khó hiểu vui lòng để lại Comment mình xẽ nói kỹ hơn

Giới thiệu subdivision sampler

Như mình đã nói ở phần trước khi vray lấy mẫu ban đầy thì các eye ray (tia được vray bắn ra) sẽ đi qua tâm của pixel. Subdivision sampler thì hoạt động theo cách hoàn toàn khác các sample không đặt ở tầm mà được đặt ở góc của Pixel như hình dưới.

Vray setting| Tìm hiểu VRay DMC Sampler phần 2 1
Sample nằm ở góc của pixel

Color threshold

Sau khi tia ban đầu được bắn vào môi trường, subdivision sampler sẽ tính toán và quyết định Pixel nào cần thêm sample để tính toán và Pixel nào không cần thêm,  Đối với mỗi Pixel, sample được lấy tại các cạnh của các Pixel để sử dụng và so sánh … nếu sau khi so sánh sự khác nhau về màu sắc vượt ngưỡng color threshold được thiết lập ở bảng setting vray thì Vray sẽ chia nhỏ Pixel đó thêm một lần nữa => số lượng Sample sẽ tăng lên ở pixel đó.

Vray setting| Tìm hiểu VRay DMC Sampler phần 2 2
Color threshold
Vray setting| Tìm hiểu VRay DMC Sampler phần 2 3
HÌnh 2: Khác biệt màu sắc quá lớn so với color threshold nên Vray thêm Sample vài Pixel (hình 3)

Quá trình này được thực hiện đến khi sự chênh lệch màu cân bằng với color threshold. Hoặc nếu số lượng Sample trên mỗi pixel bằng với thông số max subdiv được thiết lập ở bảng setting vray thì dừng lại. Chú ý rằng, max subdiv đặt tại Subdivision sampler không phải là số lượng Sample tối đa được chia trên mỗi Pixel, nó là số lần pixel được chia nhỏ có nghĩa là 0 = 1 sample, 1 = 4,2 = 16,3 = 64
Một số Sample được chia nhỏ ở giữa các Pixel nên về cơ bản Max Rate = 2 thì thực sự sẽ có 25 sample ( 9 sample ở bên trong và 14 sample ở các cạnh 14 sample này sẽ được dùng chung với các pixel khác ở bên cạnh).  Đối với Max Rate = 1 thì 1 sample ở trong pixel và 8 sample tính chung với các pixel khác. Xem hình ví dụ bên để dể hình dung hơn vấn đề trên.
Vấn đề chính ở đây là subdivision sampler dựa trên các thông tin thu thập được của pixel của nó để quyết định có tăng thêm Sample hay không mà không hề dựa vào các pixel lân cận. Nó chung là nó chỉ biết mỗi màu sắc pixel nó tính toán còn các pixel xung quanh màu sắc ra sao nó không hề biết. Đa số thì cho ra kết quả đúng, nhưng trong một số trường hợp render các vật siêu nhỏ, model có nhiều chi tiết, thì các thông tin màu sắc trả về do các sample lấy ở các  cạnh của pixel là không đủ, Và những gì chúng ta cần là phải đầy đủ thông tin của pixel đó và các pixel xung quanh kết quả render cuối cùng mới chính xác. Và DMC sampler đang làm tốt điều đó. Ví dụ như trong các scene nhiều đường line mỏng thì DMC sampler sẽ đưa ra các quyết định tăng hoặc không tăng samle chính xác hơn.
Vray setting| Tìm hiểu VRay DMC Sampler phần 2 5

Min subdivs, Max Subdivs

Ở ví dụ trên ấm trà render bằng subdivision sampler có nét bị đứt thiếu chi tiết mặc dù Color Threshold = 0.01, Min subdivs = 0, Max Subdivs = 3 (tức là nếu cần thiết
nó sẽ chia pixel 3 lần => tối đa có 64 sample. Mà 64 sample là quá thừa để có một đường line rõ ràng. Nhưng do dùng subdivision sampler nên vray không có đủ thông tin của các pixel bên cạnh nên kết quả cho ra không chính xác.
Trong khi ấm trà render bằng DMC sample có đủ thông tin của các pixel lân cận nên nó có thể phát hiện ra đó là đường Line nên cho ra kết quả khá chính xác. Mặc dù thông số thiết lập tương tự với subdivision sampler là Min = 1, Max 8 subdivs, Color threshold =0.01 (có nghĩa là ban đầu 1 pixel xẽ có 1 sample và nếu cần thiết nó sẽ lên đến 64 samples) cách tính sample như thế nào các bạn xem lại ở bài trước nhé,

Oversampling

Khi sử dụng subdivision sampler, mọi khu vực của scene đều sử dụng một thông số để khống chế oversampling ( số lượng sample tối đa) để có được kết quả sạch sẽ mượt mà, ví như các thông số kiểm soát về Reflection, brute force GI, DOF, motion blur,… tất cả mọi thứ sẽ được tính trung bình với nhau và kết hợp thành thông tin màu sắc và các thông tin màu sắc đó sẽ được so sánh với các Sample xung quanh để quyết định các thông số oversample pixel có thực hiện hay không. Có nghĩa là, nếu có 20 sample của depth of field(DOF), 10 sample của motion blur, 100 sample của glossy reflection của đối tượng trong scene, thì số lượng sample mà vray tính toán cho pixel đó khá lớn => kết quả cho ra sạch sẽ và mượt mà. Nhưng bù lại thời gian render sẽ tăng lên đáng kể. Bởi vì số lượng Sample bổ sung cho pixel đó sẽ tính theo cấp số X với lượng sample bổ sung cho Reflection, brute force GI, DOF, motion blur,… nhưng đôi khi bạn lại không cần giá trị cao như vật cho các tia thứ cấp(phản xạ, khúc xạ, bóng vv) nhưng kết quả cho ra vẫn tốt.

Tổng kết

Trước khi chúng ta tìm hiểu sâu về DMC sampler thì hãy xem qua tab VRay DMC Sampler ở bảng thiết lập setting vray.
Vray setting| Tìm hiểu VRay ADAPTIVE SUBDIVISION SAMPLER 1
Các thiết lập ở tab này ảnh hưởng khá nhiều đến render, và nhớ rằng tab VRay DMC Sampler này không phải chỉ hoạt động với DMC sampler mà nó còn có tác dụng với cả Subdivision of Fixed sampling. Điểm khác biệt duy nhất nằm ở chổ Adaptive Subdivision sampler  ngoài việc dùng tia Eye ray thì nó còn phân ra các tia thứ cấp như mình nói ở trên để tính toán.

 

Xem tiếp phần 3

Facebook Comments

LEAVE A REPLY