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.
31 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1138 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình 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: Phần
1
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 thà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 xé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ân bố ánh sá
Các file đính kèm theo tài liệu này:
- raydinhnghiavacachsudungp1 (1).pdf
- raydinhnghiavacachsudungp1 (2).pdf