Trong các chương trình render cho 3dsMax, 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 и brasil r/s 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.
28 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1109 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu VRay – Định nghĩa và cách sử dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
VRay – Định nghĩa và cách sử dụng
Mở đầu
Trong các chương trình render cho 3dsMax, 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 и brasil r/s 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.
Các nguyên lý cơ bản
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ành phần thứ hai của 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».
Thành phần thứ ba của 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
Các thông số điều khiển của VRay
VRay: QMC Sampler
Nhóm các biến điều khiển trong Vray bằng các tính chất chung của phương pháp
Monte-Calro, đặt trong bảng dưới đây:
Giá trị các thông số này xác định các Sampler sẽ được sử dụng trong tính toán mọi
giá trị theo phương pháp Monter-Carlo. Ghi nhớ là thưc tế tất cả các giá trị, được
tính bởi Vray, tất cả các dạng chiếu sáng, khúc xạ và phản xạ, translucency, caustic
và các loại khác, đều sử dụng phương pháp đó. Kết quả là phụ thuộc vào những xác
lập này tốc độ tính toán cũng như độ chính xác và do đó kéo theo mối quan hệ thời
gian/chất lượng render hình
Lock to pixels được dùng để loại đi những điểm nhấp nháy trong hoạt cảnh. Nếu
dấu tick được đánh trong ô trống bên cạnh thông số này một liên kết chặt chẽ của
giá trị các điểm cần tính sẽ được sử dụng đối với các điểm của hình sao cho các giá
trị đó giống nhau tương ứng với các điểm trong các hình (frame) liền kề. Phương
pháp Monter Carlo có tính ngẫu nhiên vì thế với sự giúp đỡ của nó cùng một giá trị
có thể nhận những kết quả hơi khác nhau trong các điều kiện tương tự. Nếu ta tính
ảnh tĩnh thì giá trị này có thể mạnh dạn để ở chế độ tắt. Lock to pixels và tăng
samples cho tính toán các giá trị là 2 phương pháp cơ bản để chống lại sự nhấp
nháy (flickering) trong các hoạt cảnh được tính bởi VRay
Adaptation by effect on final result (importance sampling) – kỹ thuật được dùng để
chọn các samples. Trong tính toán tích phân sự chiếu sáng bằng phương pháp
Monter Carlo các giá trị của các hàm dưới tích phân (samples) được chọn theo một
qui luật ngẫu nhiên nào đó trong giới hạn của hàm (bán cầu cho tính sáng của điểm
trên mặt không trong suốt và hình cầu cho điểm trên mặt trong suốt) sẽ được sử
dụng. Thú vị là samples có thể có tính hình học như hướng, dọc theo nó các giá trị
của hàm sẽ được tính - nói một cách khác nó giống như từ điểm sẽ sinh ra tia để lấy
samples. Kỹ thuật importance sampling để chọn những điểm bằng phương pháp
chú trọng hay giá trị của những điểm cụ thể của samples cho một kết quả cụ thể.
Nếu tia để lấy samples dọc theo một hướng nào đó đem lại ít giá trị chiếu sáng hoặc
thậm chí bằng 0, các samples được lấy tiếp theo theo hướng đó hoặc gần với nó sẽ
không được lấy. Một ví dụ khác – để tính một khúc xạ tối sẽ không cần nhiều
samples. Trong mọi trường hợp, bật thông importance sampling sẽ ép buộc chuyển
động của Vray tìm kiếm và lựa chọn cho tính toán những giá trị lớn (và vì thế quan
trọng hơn cho hình ảnh) samples và bỏ đi những samples có giá trị thấp. Giá trị
Amount điều khiển sự cao độ trong sử dụng kỹ thuật importance sampling khi tính.
Giá trị 0 sẽ tắt hoàn toàn sự sử dụng Нулевое importance sampling, còn với
Amount = 1 tất cả các samples sẽ phải qua tuyển chọn. Trong phần lớn trường hợp
sử dụng kỹ thuật importance sampling hết sức hữu ích đối với các renderer – đưa
đến sự gia tăng trông thấy về tốc độ trong khi vẫn đảm bảo chât lượng tính toán
cao. Mặt khác kỹ thuật importance sampling với tính chất ngẫu nhiên của mình có
thể đem lại những kết quả dở ngoài mong muốn – đó không phải là một nghich lý,
đôi lúc tắt thông số đó có thể có lợi vì sẽ làm giảm nhiễu trong tính toán. Như vậy
giảm Amount sẽ dẫn tới tăng chất lượng render và tăng cả thời gian tính toán.
Chiến lược với thông số này có thể là như sau – tăng Amount, nếu nó không dẫn
đến những thuyên giảm nghiêm trọng về chất lượng hình ảnh và giảm nó nếu
render không có một lỗi nhiễu nào cả. Theo mặc định Amount = 1
Adaptation by sample values (early termination) – cho phép Vray phân tích các giá
trị samples và bỏ quá trình lấy samples nếu như những gí trị đó gần giống nhau.
Nói một cách khác nếu như các giá trị của samples ít khác nhau thì thay vì tính tiếp
các giá trị của samples mới các giá trị của samples đã tính sẽ được sử. Nếu như các
samples khác nhau rõ rệt thì số lượng chúng được chọn sẽ lớn hơn. Thông số
Amount xác định mức độ áp dụng kỹ thuật này. Với Amount = 0 kỹ thuật này hoàn
toàn không được sử dụng, với Amount =1 early termination sử dụng số lượng nhỏ
nhất có thể được các tia samples. Nếu như cần chất lượng tính toán cao thì dùng
Amount = 0, nhưng trả giá cho điều đó là sự gia tăng thời gian rander. Chiến lược
cho thông số này giống như với thông số importance sampling , giá trị Amount mặc
định = 0.
Min. samples – Thiêt lập số lượng nhỏ nhất được cho phép samples. Tức là số
samples dùng cho tính toán 1 giá trị nhất định không thể nhỏ hơn giá trị
Noise threshold – trọng tài, người phân sử, quyết định, khi nào giá trị nhận được đủ
tốt cho hình ảnh. Các giá trị kết quả sẽ được tự so sánh với nhau theo từng bước.
Nếu sự khác nhau lớn hơn giá trị Noise threshold thì các samples bổ sung sẽ được
tính, nếu sự khác nhau nhỏ hơn thì quá trình tính kết thúc. Rõ ràng là thông số này
có ảnh hưởng trực tiếp nhất tới chất lượng ( độ nhiễu ) và tốc độ render. Tăng nó
lên có thể làm sự tính toán trở nên rất nhanh và nhiễu và ngược lại
Những thông số trình bầy ở trên cho phép Vray linh động nhân các quyết định về
số samples để tính toán giá trị này hoặc giá trị kia một cách trực tiếp trong quá trình
tính. Nếu Amount của importance sampling và early termination có giá trị là 0
chúng ta sẽ nhận được render có khả năng cao nhất của Vray về chất lượng. Thời
gian tính cũng sẽ là lớn nhất còn số samples sẽ gần với số subdivs, được định cho
GI trong thiết lập nguồn. Nếu giá trị Amount của importance sampling và early
termination bằng 1, render sẽ là tối thiểu (nhưng hoàn toàn không có nghĩa là tồi)
chất lượng, thời gian tính cũng sẽ là ngắn nhất có thể được còn số samples sẽ gần
với giá trị đã định trong Min. Samples. Điều đó giống như 2 mặt đối nghịch, trong
giới hạn đó xác định mọi giá trị thiết lập trung gian, tiêu tốn cho thời gian và chất
lượng render
Hình.02-08. Xác lập cả 2 giá trị Amount = 0, Noise threshold=0.005.
Hình.02-09. Xác lập cả 2 giá trị Amount =1, Noise threshold=0.005. Nhận thấy là
hình ảnh thu được giống lần trước nhưng thời gian rander giảm đi 2.5 lần
Hình.02-10. Xác lập cả 2 giá trị Amount =1, Noise threshold=0.1. Giảm Noise
threshold càng tăng tốc độ tính nhưng đã làm tồi đi rõ rệt chất lượng hình ảnh
(nhiễu ở góc và trên các vết nối của tường và sàn, xuất hiện các hạt trong bóng )
Các giá trị đặt sẵn trong Vray theo mặc định của Amount và Noise threshold khá đa
năng và tự nhiên trong hầu hết các trường hợp, hoặc chúng có thể là những giá trị
khởi đầu cho các thử nghiệm cá nhân. Thay đổi chúng chỉ nên khi có sự hiểu biết
thực sự và sâu sắc. Khuyến cáo không nên để giá trị 0 cho Noise threshold – điều
đó có thể dẫn Vray tới những vòng tính toán lặp vô hạn, hoặc nhanh hơn, tới sự kết
thúc thảm bại công việc của chương trình
QMC –Monter Carlo, phương pháp được sử dụng bởi Vray khác biệt với Monter
Carlo “cổ điển” ở chỗ nhờ việc sử dụng early termination và importance sampling.
Chúng cho phép chọn các samples , điều làm cho những sample này không hoàn
toàn ngẫu nhiên như trong phương pháp Monter Carlo chuẩn
Tính GI (Chiếu sáng toàn cảnh - Global Illumination)
Để tính tành phần đầu tiên – chiếu sáng trực tiếp, Vray có riêng thuật toán có khả
năng làm việc độc lập. Để chắc chắn về điều đó rất đơn giản, chỉ cần render 1
khung cảnh 3 D không có GI ( bỏ dấu tick trong hộp chọn “On” trong bảng VRay:
Indirect Illumination). Trong kho công cụ của modul tính chiếu sáng trực tiếp có
khả năng làm việc với các nguồn sáng không gian nên tính các mép bóng mềm
không tạo thành vấn đề gì. Các xác lập chiếu sáng trực tiếp có trong các thông số
của nguồn sáng và bóng (sự giảm dần, loại nguồn sáng, thông số của bóng v.v..)
Hình.02-02. Chỉ tính chiếu sáng trực tiếp. Tất cả các vùng không nằm trong giới
hạn nhìn thấy của nguồn sáng đều nằm trong bóng tối. Bóng mềm là kết quả của
thao tác với nguồn sáng không gian
Tắt chiếu sáng trực tiếp hoàn toàn có thể làm được, để làm điều đó ta sử dụng nút
Exclude trong bảng xác lập của nguồn sáng. Ứng dụng này có ích cho phân tích
map ở dạng nguyên thể và ảnh hưởng đối với chúng các xác lập của các thông số.
Ví dụ, tách vật thể ra khỏi sự chiếu sáng không ảnh hưởng tới Photon map bởi vì
nó, nếu trong tính chất của nguồn sáng có đặt Generate diffuse, sẽ tính toán Photon.
Phép tính Photon mạp cũng chỉ có thể tắt ở đó. Cũng có thể lựa chọn bật hoặc tắt
các vật thể khỏi Photon map nếu trong tính chất của các vật thể xác định bỏ đi dấu
tick trong mục Receive GI и Generate GI (trong bảng Vray: System>Object
settings )
Cũng có sẵn trong Vray thuật toán riêng để tính dò tia ngược, nó cũng là một bộ
phận độc lập của hệ thông tính. Một phần thiết lập của ray tracing nằm trong bảng
VRay: Global Switches и VRay: Image Sampler (Antialiasing), phần khác trong
thông số vật liệu VRayMtl.
Tính toán thành phần chiếu sáng thứ ba – khuếch tán phản xạ của sự chiếu sáng là
một trong những thuật toán quan trọng nhất của Vray và cũng tương đối độc lập với
những thành phần chiếu sáng khác. Các xác lập cơ bản của việc tính GI nằm trong
bảng VRay: Indirect Illumination, các xác lập bổ sung khác rải rác trong hầu hết
các bảng còn lại của Vray. Chúng ta sẽ xem sét nó lần lượt. Việc tính GI có thể bật
hoặc tắt tùy ý trong hộp chọn “On” trong bảng VRay: Indirect Illumination.
Các xác lập của thành phần chiếu sáng thứ tư – caustic – hiệu ứng quang tụ nằm
trong bảng VRay: Caustic и VRay: System (Object settings и Light settings).
Như vậy, Vray có cấu trúc modul rõ ràng, cho phép bật hoặc tắt của thành phần này
hay thành phần kia của sự chiếu sáng không phụ thuộc vào các phần còn lại, điều
này tiện lợi cho việc xác lập các thông số. Tiếp theo ta sẽ chỉ xem sét chi tiết chiếu
sáng khuếch tán không trực tiếp (GI)
Các xác lập cơ bản của GI.
Để tính chỉ Indirect Illumination VRay cung cấp 3 phương pháp cơ bản:
• Tính trực tiếp - Direct computation;
• Irradiance map;
• Photon map (Global photon map).
Có thể thấy đặc điểm của các cách tính là chia các dạng khuếch tán phản xạ ra làm
2 - Khuếch tán bật ra lần thứ nhất (ánh sáng đầu tiên đi đến một bề mặt nào đó,
khuếch tán một cách phản xạ từ đó chỉ 1 lần rồi sau đó đi vào điểm cần tính sáng)
và các loại khuếch tán còn lại (ánh sáng, cho tới khi đến điểm cần tính sáng đã
phản xạ bởi các bề mặt của khung cảnh 2 lần hoặc nhiều hơn thế). Ý tưởng của việc
chia ở trên – nó liên quan đến sự chú trọng đóng góp của chính lần khuếch tán đầu
tiên của phản xạ ( lần bật lên khuếch tán đầu tiên của photon), sự đóng góp của các
lần còn lại sẽ nhanh chóng tắt theo chiều tăng của số lần phản xạ. Để tính 2 loại nảy
bật đó có thể dùng 4 bộ kết hợp khác nhau của 3 phương pháp tính ở trên
• Tính trực tiếp - Direct computation cho lần bật lên khuếch tán đầu tiên và tính
trực tiếp - direct computation (direct+direct) hay photon map (direct +photon) cho
các lần bật lên sau;
• Irradiance map cho lần đầu tiên bật lên và tính trực tiếp (irr_map+direct) hay
photon map cho các lần bật lên sau (irr_map+photon).
Рис.02-04. Chỉ có chiếu sáng trực tiếp và một lần khuếch tán phản xạ (lần khuếch
tán bật lên đầu tiên - first diffuse bounces)
Hình.02-05. Chiếu sáng trực tiếp và tất cả các lần khuếch tán phản xạ, được tính
bằng phương pháp irradiance map cho lần bật lên khuếch tán đầu tiên và phương
pháp photon map cho các lần bật lên khuếch tán tiếp theo.
Hình.02-05a. Chỉ có sự bật lên khuếch tán đầu tiên ( Sự phản xạ qua lại đầu tiên ),
được tính bằng phương pháp irradiance map. Để thấy hình ảnh này có thể tính sự
chiếu sáng trực tiếp và GI với first diffuse bounces - on, secondary bounces - off và
lưu irradiance map đã tính vào file. Sau đó tắt tất cả các vật thể của khung cảnh ra
khỏi sự chiếu sáng trực tiếp và render với irradiance map được load từ file.
Hình.02-05b. Còn bản thân Photon map được thấy như thế này. Để thấy nó ta tắt
các vật thể ra khỏi sự chiếu sáng trực tiếp và tính first diffuse bounces>Global
photon map, secondary bounces - off.
Hình.02-05c. Photon map và ánh sáng trực tiếp, không có sự bật lên phản xạ thứ
nhất
Chiếu sáng trực tiếp - Direct computation (DC) dùng để tính sự chiếu sáng khuếch
tán bằng phương pháp Monter Carlo. Tên khác của phương pháp này là “ Thô lực”.
Khi tính direct+direct cho mỗi điểm một nửa bán cầu có kích thước đơn vị sẽ được
xây dựng và việc lấy samples của hàm dưới tích phân sẽ được tiến hành ( Số lượng
samples được biểu diễn trong xác lập Subdivs của nhóm First diffuse
bounces>Direct computation), mà phần cốt lõi của nó là phần khuếch tán BRDF.
Việc lấy samples BRDF là sự lựa chọn ngẫu nhiên một trong các giá trị cụ thể của
nó, điều đó tương đương với việc chọn một hướng cụ thể (góc) chiếu xuống của
ánh sáng. Theo hướng đó tia dò sẽ dò tới giao điểm mới với bề mặt gần nhất. Tại
điểm mới sự chiếu sáng trực tiếp của nó sẽ được tính (đó sẽ là sự bật lên phản xạ
đầu tiên) và quá trình tính các lần phản xạ tiếp theo cần phải lặp lại - xây dựng bán
cầu ( hoặc cả hình cầu cho bề mặt trong suốt), lấy samples theo số lượng subdivs
của nhóm Secondary bounces>direct computation, tia dò mới sẽ dò như thế tiếp
cho đến khi đạt được Depth – độ sâu của tia dò. Bởi vì sự phản xạ qua lại sẽ nhanh
chóng tắt đi cùng với sự gia tăng số lần phản xạ, thêm một yếu tố hạn chế số lượng
samples và độ sâu tia dò, ngoài Depth, đó là QMC Sampler – với importance
sampling và early termination.
Tính bằng “thô lực” thu được kết quả về sự phân bố nửa bóng (phần chuyển bóng)
rất chính xác hoàn toàn không bị gián đoạn. Nhưng thực sự rất lâu. Ví dụ, nếu chọn
Subdivs bằng 50 cho cả 2 loại bật lên phản xạ, thì số tia samples cho mỗi điểm sẽ là
2500, tức là sẽ có 2500 новых điểm mới, mà tại mỗi điểm đó sẽ lại tiến hành dò
2500 tia của chúng, và sẽ nhận được 2500 điểm nữa, cứ thế quá trình tiếp diễn
trong khi xác lập QMC vẫn cho phép. Quá trình rất nhanh chóng có tính chất như
một dòng thác lũ, và tất cả số lượng khổng lồ tia DC sẽ phải được tính nghiêm túc
và hoàn thiện. Số lượng samples của sự nảy bật thứ cấp của Vray theo mặc định là
1 tia, nó có vẻ hoàn toàn đủ để cho kết quả tốt cho phần lớn trường hợp và giảm
nhẹ rõ rệt khối lượng tính. Ngoài độ chính xác tính nửa bóng cao và tốc độ chậm,
nhược điểm của DC còn là sự nhiễu, điều liên quan đến việc tính toán được thực
hiện riêng rẽ cho từng điểm. Để tránh nhiễu chỉ có 1 phương pháp – nâng số lượng
tia samples (Subdivs), điều không rõ là không tốt cho thời gian tính toán. Vì thế,
direct+direct computation khá ít được sử dụng trong thực tế và chủ yếu là cho các
hình reference, giúp nhận biết cần ph
Các file đính kèm theo tài liệu này:
- ytrong3dmaxvraydinhnghiavacachsudung.pdf