Thứ Bảy, 8 tháng 6, 2013

Giới thiệu VRAY

CƠ BẢN VỀ VRAY
* Trong các chương trình render thì Vray là một chương trình được sử dụng phổ biến nhất. Hoàn toàn không phóng đại khi nói Vray phổ biến đến mức bằng tổng các renderer khác như mental ray, finalRender... cộng lại. Điều đó càng thể hiện rõ với thuật toán và nhân của chương trình được nghiên cứu và hoàn thiện bởi một nhóm người.

* Tính phổ biến của chương trình có những nguyên nhân xác đáng. Thứ nhất, VRay dùng trong các phép tính của nó phương pháp chuyển đổi tính toán – nó được xây dựng hoàn toàn trên cơ sở của phương pháp Monter-Carlo. Trong phương diện này có thể VRay được dùng như là 1 ví dụ để trình diễn chương trình theo phương pháp Monter-Carlo. Nhưng ngoài ra, VRay có 1 loạt đổi mới thú vị các công nghệ xử lý, cung cấp thêm cho VRay những ưu thế trong chất lượng và tốc độ tính toán. Bài viết này sẽ trình bày về các cơ chế tình toán cơ bản bên trong VRay và cung cấp cho người đọc một số phương pháp sử dụng hiệu quả chương trình này.
Giới thiệu VRAY
CÁC NGUYÊN LÝ CỦA VRAY
* Nhiệm vụ cơ bản của bất kỳ chương trình renderer nào là tính toán sự chiếu sáng và màu sắc của một điểm bất kỳ của khung cảnh 3 chiều. Nhiệm vụ đó rất là phức tạp. Các phương pháp tính toán của đồ họa máy tính đã vượt qua một chặng đường phát triển khá dài, trước khi người ta đạt tới trình độ như ngày nay về hiện thực hóa các bức ảnh bằng sự trình diễn của máy tính.
- Thứ nhất, chúng ta đã biết rằng các vật thể được nguồn sáng chiếu sáng trực tiếp, khi mà vật thể và nguồn sáng có thể nối với nhau bới một đường thẳng. Mô hình sự chiếu sáng Fong và mô hình đổ bóng Fong, những thứ đã cho phép làm mềm mầu của các poligon bề mặt và tính ra những chỗ sáng nổi bật –highlight, đã trở thành đỉnh cao của mô hình tính toán này. Mô hình chiếu sáng đó cũng như các phép biến đổi của nó (Lambert, Blin, Torrent, Ward và những cái khác) bây giờ vẫn là nền tảng để tính toán sự chiếu sáng trực tiếp, chỉ thêm 1 chút bổ sung. Một trong các bổ sung quan trọng nhất , sự tính toán các kích thước không gian của nguồn sáng, cho phép nhận được các vết mờ của bóng vật thể. Một bổ sung khác là xác định sự giảm dần cường độ ánh sáng theo khoảng cách. Về chi tiết, các phép tính vật lý chính xác sự chiếu sáng sử dụng định luật cường độ tia sáng giảm dần theo bình phương khoảng cách.
- Thứ hai, sự chiếu sáng vật thể được xác định bằng phản xạ (hay gần với nó) từ các vật khác và không gian xung quanh vật thể. Để thực hiện pháp tính đó người ta đã nghĩ ra phương pháp dò tia - ray tracing. Phương pháp này dò theo đường đi của các tia sáng, bắt đầu từ Camera, tới bề mặt đầu tiên và sau đó phụ thuộc vào tính trong suốt hay phản xạ của bề mặt, xác định hướng đi tiếp theo của tia sáng. Phương pháp dò tia từ camera lần đầu tiên cho phép tính đến môi trường xung quanh trong sự chiếu sáng vật thể và đã hiệu quả hơn sự dò tia từ nguồn sáng, bởi vì chỉ tính xem xét đến các tia sáng tới được camera. Một trong những nhược điểm của phương pháp dò tia cổ điển là tính cứng nhắc của hình ảnh nhận được, sự rõ ràng quá mức của các đường bao, bóng đổ và màu sắc. Vì thế sau đó nguời ta đã làm ra phép chỉnh sửa sự phân bổ dò tia - distribution ray tracing (DRT). Bản chất của DRT là ở chỗ trong mỗi lần giao cắt giữa các tia dò từ bề mặt trên đường đi của nó, từ mỗi điểm giao nhau được xây dựng không chỉ một mà nhiều tia sáng. Quá trình này phần nào gợi nhớ đến chuỗi phản ứng. Hướng giải quyết đó đã cho phép tính ra các phản xạ và khúc xạ yếu dần (như là các phản xạ và khúc xạ fuzzy, blurry hay glossy), nhưng mà kèm theo sự gia tăng đáng kể khối lượng tính toán. Mô hình DRT được thực hiện trong các tính chất của vật liệu VRay phản xạ và khúc xạ với sự giúp đỡ của thông số Glossy. Do cái giá quá đắt của các phép tính DRT, sự chậm chạp trong tính toán glossy-material VRay đã trở thành «điều mà ai cũng nói đến». :o
- Thứ ba, quá trình chiếu sáng vật thể được tính toán qua sự khuếch tán nhiều lần màu sắc của các đối tượng xung quanh. Phương pháp đầu tiên dùng để tính sự chiếu sáng khuyếch tán thứ cấp là radiosity, mặc dù vẫn được sử dụng cho tới giờ, với sự tồn tại một loạt yếu kém, nó đã nhường chỗ cho 2 phương pháp tính khác tiến bộ hơn – Phương pháp Monte-Carlo và phương pháp Photon map. Phương pháp bản đồ photon tạo ra cho mỗi mặt phẳng của đối tượng trong khung cảnh một cơ sở dữ liệu, trong đó lưu trữ thông tin về sự va chạm của photon với bề mặt - tọa độ va chạm, hướng và năng lượng của photon. Photon được hiểu là phần năng lượng của sự chiếu sáng, truyền theo một hướng nhất định từ nguồn sáng. Mật độ photon của bản đồ được dùng trong các tính toán tiếp theo để đánh giá sự chiếu sáng của điểm trong kết quả của sự phân tán khuyếch tán ánh sáng trên các bề mặt xung quanh. Tất cả các renderer, sử dụng phương pháp bản đồ photon, thực hiện sự tính toán chiếu sáng qua 2 bước. Bước thứ nhất thực hiện dò photon từ nguồn sáng đến bề mặt và tạo ra bản đồ photon cho chúng. Bước thứ hai thực hiện quá trình dò tia ngược lại từ camera, còn bản đồ photon được sử dụng để tính toán sự chiếu sáng khuếch tán của các điểm giao nhau giữa tia dò ngược với mặt phẳng.
- Thứ tư, sự chiếu sáng được xác định bằng các trường hợp đặc biệt – tính các hiệu ứng ánh sáng xuất hiện trong kết quả tụ vào tiêu điểm do sự khuếch tán và phản xạ của tia sáng trên một số vùng của bề mặt. Các hiệu ứng này được gọi là các hiệu ứng quang tụ (caustic) của sự chiếu sáng, mà minh họa tuyệt vời từ thực tế có thể là thấu kính hội tụ ánh sáng mặt trời lên bề mặt vật thể.. Sự tính toán các hiệu ứng quang tụ của ánh sáng được thực hiện bằng phương pháp bản đồ photon, nhưng với yêu cầu bản đồ photon cục bộ có mật độ rất cao. Vì thế các bản đồ photon được tạo riêng biệt với sự xuất hiện các nhu cầu.
Để kết thúc các ý nói trên, có thể khẳng định rằng: với trình độ phát triển hiện nay của các phương pháp tính toán đồ họa máy tính cho phép tính toán sự chiếu sáng một điểm bất kỳ trong khung cảnh 3D như tổng của 4 thành phần: chiếu sáng trực tiếp, phản xạ và khúc xạ, phát tán khuếch tán thứ và các hiệu ứng quang tụ ánh sáng.
* Để tính toán chính xác tất cả ánh sáng, đi qua 1 điểm nào đấy trên mặt phẳng, cần phải tính tổng tia sáng, đi tới điểm đó từ mọi hướng. Điều đó dẫn đến sự cần thiết tích phân ánh sáng theo nửa bán cầu, bao quanh điểm, nếu điểm nằm trên 1 bề mặt không trong suốt hoặc theo hình cầu bao xung quanh nếu điểm nằm trên một bề mặt trong suốt. Để tính toàn bộ ánh sáng trong đồ họa máy tính sử dụng các hàm, miêu tả 4 thánh phần ánh sáng – hàm nguồn sáng, hàm của các tính chất phản xạ (lý tưởng), khúc xạ của các bề mặt và hàm khuếch tán các phản xạ của các bề mặt. Hai hàm cuối thường được hợp nhất và được gọi là BRDF - Bidirectional Reflectance/Refractance Distribution Function (hàm rẽ nhánh phân bố phản xạ/khúc xạ). Mặt khác phép tính giải tích chính xác của các tích phân như vậy trong hầu hết trường hợp là không thể, vì thế để tìm ra kết quả các phép tính khác nhau đã được sử dụng
* Một trong các phương pháp cơ bản là phương pháp Monte-Carlo. Trong ý tưởng cơ bản, phương pháp Monter Carlo cho phép tính ra giá trị tích phân như tổng của một số lượng không lớn giá trị của các hàm dưới tích phân, được chọn ngẫu nhiên. Thực tế, phương tiện toán học của phương pháp Monter Carlo cho phép xác định sự lựa chọn những giá trị đó, bởi vì phụ thuộc vào nó là sự chính xác và tốc độ tìm ra kết quả tích phân. Được lựa chọn để tính giá trị của các hàm dưới tích phân thường được gọi là samples. Hiện tại, phương pháp Monter Carlo là tiêu chuẩn “ bất thành văn” cho các render đồ họa máy tính 3 chiều và được sử dụng hết sức rộng rãi – hầu như trong phần lớn các chương trình hàng đầu. Mặt khác phương pháp đó có một nhược điểm nghiêm trọng – chậm chạp trong tìm kết quả. Cụ thể điều đó có nghĩa là, để tăng chất lượng tính toán ánh sáng, ví dụ lên 2 lần thì khối lượng tính toán sẽ tăng gấp 4 lần (số sample). Yếu kém trong render là – những vết bẩn màu, các hạt và sự giả tạo trên
Phương pháp Photon map được thiết kế như sự xen kẽ của phép tính sự chiếu sáng khuếch tán thứ cấp bằng phương pháp Monter Carlo và thay thế phép tính tích phân tương ứng. Giải pháp đó có một loạt ưu điểm và cả nhược điểm. Ưu điểm chính của Photon map là tốc độ và sự hoàn chỉnh của phép tính. Các nhược điểm của nó liên quan đến những yêu cầu bộ nhớ lớn và sự khó khăn trong việc liên kết các vết nối, các góc và đường biên của bề mặt.
* Chương trình cốt lõi của Vray được xây dựng trên phương pháp Monter Carlo. Vray cũng sử dụng phương pháp Photon map, nhưng không như sự xen kẽ với phương pháp Monter Carlo (giống như trong Mental ray), mà như một sự bổ sung. Nói cụ thể hơn là, để tính khuếch tán sơ cấp (tia sáng từ nguồn đi đến bề mặt, phản chiếu và va vào điểm cần tính sáng) trong Vray sử dụng phương pháp Monter Carlo. Dành cho tất cả các khuếch tán tái phản xạ, bắt đầu từ lần thứ 2 ( tia sáng lần thứ 2 hay nhiều hơn phản chiếu từ các bề mặt khác trước khi đến điểm cần tính), có thể sử dụng phương pháp Monter Carlo cũng như phương pháp Photon map. Trong thuật ngữ của Vray, khuếch tán lần thứ nhất được gọi là First diffuse bounces – sự bật lên thứ nhất, tất cả những sự tái phản xạ khác - secondary bounces, hay là sự bật lên thứ cấp. Cách tiếp cận đó khá hợp lý bởi vì như ta đã rõ, phần chính ánh sáng khuếch tán của điểm được tạo thành từ chính sự phản xạ thứ cấp. Đóng góp của các quá trình phản xạ còn lại không lớn, do kết quả của sự giảm rất nhanh của cường độ phản xạ khuếch tán cùng với quá trình gia tăng số lượng của chúng. Bằng cách đó, sự kết hợp phương pháp Monter Carlo và Photon map trong Vray đã đảm bảo tính chính xác và tốc độ cao hơn trong tính toán, so với các chương trình render đối thủ khác
* Sử dụng Photon map cho tính toán phản xạ qua lại được ưa thích hơn nhiều lần bởi vì nó cho phép nhận được kết quả nhanh hơn và chất lượng hơn. Mặt khác, vì Photon map không thể làm việc với các nguồn sáng như Skylight, HDRI và hạn chế truy cập vào bộ nhớ, trong tính toán khung cảnh mở và trong một vài trường hợp khác Photon map thường được thay thế bằng phương pháp Monter

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến