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).
28 trang |
Chia sẻ: maiphuongdc | Lượt xem: 4682 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu VRay trong 3dsMax – Đị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
ặ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ân bố ánh sáng thứ cấp trong khung cảnh như
thế nào ( trong trường hợp đó sự nhiễu loạn không cần quan tâm).
Trong trường hợp dùng direct +photon, tia dò từ điểm cần tính chỉ dò tới bề mặt
gần nhất, nơi sẽ tính sự chiếu sáng trực tiếp còn sự chiếu sáng từ các lần phản xạ
sau sẽ được đánh giá bằng mật độ của photon map tại điểm giao trong giới hạn của
bán kính cho trước ( thông số Search distance của photon map). Phương pháp này
nhanh hơn phương pháp trước và có thể còn chính xác hơn khi photon map có mật
độ đủ cao.
Còn có thêm một phương pháp sử dụng photon map để lựa chọn (dự đoán) những
hướng của DC, cung cấp đóng góp đáng kể vào tính toán. Thực ra, chẳng nên “đốt
cháy” samples vào không gian xung quanh nếu biết theo hướng nào các photon
chuyển động!? Tiếc rằng Vray không sử dụng mẹo này.
Irradiance map
Sự khác biệt của phương pháp irradiance map so với direct computation là ở chỗ,
tính toán được thực hiện không phải cho tất cả các điểm của hình mà chỉ một ít
trong số đó. Sự chiếu sáng của các điểm còn lại được nội suy theo sự chiếu sáng đã
được tính của các điểm gần nhất (phương pháp này được gọi là đường dốc –
gradient sáng) trong giới hạn được cho bởi thông số Interp. Samples của nhóm First
bounces>Irradiance map. Điều đó cho phép tính sáng của những chỗ thực sự cần
thiết trong khung cảnh 3 chiều – trong vùng có những thay đổi đáng kể về chiếu
sáng hay bề mặt hình học, và Это позволяет рассчитывать освещенность только
в тех местах трехмерной сцены, где это действительно необходимо - в
областях резкого изменения освещенности или геометрии поверхности, và tô
bóng gần đúng cho những bề mặt phẳng và được chiếu sáng đều.
Sự tuyển chọn các điểm để tính và lưu trong irradiance map diễn ra theo từng bước,
bắt đầu từ độ phân giải thấp nhất của hình tới độ phân giải cao nhất. Độ phân giải
thấp nhất được xác định bởi thông số Min. Rate; cao nhất - Max. rate của nhóm
thông số First diffuse bounces>Irradiance Map, giá của các thông số này là số mũ
của cơ số 2. Như thế giá trị -2 ứng với ¼ còn 0 ứng với 1. Việc tính irradiance map
được thực hiện nhiều lần, mỗi lần chính xác hơn, cung cấp chất lượng cao hơn. Ví
dụ, nếu Min. Rate = -3, còn Max. Rate = 0, phép tính irradiance map sẽ thực hiện 4
lần (-3, -2, -1, 0). Độ phân giải gốc là độ phân giải của hình cần tính, được làm nhỏ
đi tương ứng với các lần tính. Với -3 trong lần tính đầu tiên chỉ thực hiện tính cho 8
điểm 1 lần. Trong bước tiếp theo, các điểm xung quanh sẽ được so sánh với nhau
về sự chiếu sáng. Nếu sự khác nhau về chiếu sáng của các điểm, pháp tuyến của
chúng hay vùng không gian gần vật thể lớn hơn 1 giá trị ngưỡng nhất định, từ mỗi
nhóm sẽ chọn ra và tính thêm các điểm bổ sung
Giá trị ngưỡng cho sự chiếu sáng ( màu sắc) được biểu thị trong thông số Clr.
thresh, cho pháp tuyến - trong Nrm. thresh, cho vị trí không gian gần kề - trong
Dist. thresh. Sau khi tất cả các bước được thực hiện, kết quả tính toán có thể được
lưu vào file. Đó chính là bản đồ chiếu sáng - irradiance map. Do lưu trữ kết quả
tính vào file, phương pháp irradiance map còn được gọi là phương pháp lưu trữ.
Sau đó một loạt bước render cuối sẽ được thực hiện cho độ phân giải gốc, trong đó
sự chiếu sáng các điểm đã tính sẽ được lấy từ irradiance map, còn của những điểm
khác sẽ đươc nội suy bằng đường dốc theo các giá trị đã tính. Ở bước render cuối
những điểm bổ sung có thể sẽ được tính – quá trình đó do việc thiết lập
supersampling kích hoạt. Supersampling có những giá trị ngưỡng để đo sáng của
mình, có thể không trùng với Clr. thresh, và nếu chúng nhỏ hơn những phép tính
thêm sẽ được thực hiện cho một vài điểm
Từ điểm lưu ý cuối cùng có thể rút ra kết luận rằng việc thiết lập supersampling có
thể được làm đơn giản ở quá trình thiết lập cho irradiance map để tăng tốc độ tính
toán và thiết lập với yêu cầu chất lượng cao hơn sau khi tính và lưu irradiance map,
ngay trước khi tiến hành render cuối. Đó là điểm khác với direct computation, các
thiết lập cho supersampling chúng cần được thực hiện trước cả khi bắt đầu tính
toán. Như vậy irradiance map+photon map có sự mềm dẻo cao nhất trong quan hệ
với supersampling – nó có thể được thay đổi mà không cần phải tính lại irradiance
map cũng như photon map, điều cho phép các phép thử với ít sự tốn kém “sương
máu” hơn với thiết lập supersampling
Kết luận thực tiễn thứ 2 đề cập đến sự phụ thuộc của các giá trị Min. rate и Max.
rate vào cỡ ảnh cần tính – khi tăng cỡ ảnh các giá trị này có thể được giảm đi và
ngược lại. Ví dụ, nếu cặp giá trị Min. rate = -3 Max. rate = 0 làm việc tốt cho ảnh
800x600 pixel thì cho ảnh có kích thước 1200x1024 hoàn toàn có thể dùng Min.
rate = -4 Max. rate = -1, và cỡ ảnh cao hơn các giá trị này còn có thể hạ xuống nữa.
Trong quan hệ với việc khi tăng cỡ ảnh số điểm cần tính cũng tăng suy ra cùng một
vùng của khung cảnh 3 chiều sẽ được biểu diễn bằng một số lượng lớn pixel
Bản thân việc tính sáng của các điểm được thực hiện tương tự như direct
computation – lấy samples của nửa bán cầu, tìm giao điểm, tính sự chiếu sáng trực
tiếp, nếu cho những sự nảy bật thứ cấp dùng direct computation – những bán cầu
mới sẽ được xây dựng, nếu dùng photon map – sẽ đánh giá sự chiếu sáng theo mật
độ photon. Nói chung như bình thường. Nhưng có một đặc điểm quan trọng của
quá trình tính irradiance map và first diffuse bounce trong tổng thể; ở giai đoạn tính
sự bật lên khúc xạ đầu tiên diễn ra quá trình kết nối ( đọc - hòa trộn, kết hợp) sự
chiếu sáng trực tiếp cũng như sự chiếu sáng secondary bounces. Đó là đặc điểm của
Vray. Nó không lưu trữ các thành phần chiếu sáng riêng biệt, tính sự bật lên đầu
tiên dựa trên kết quả tính toán chiếu sáng trực tiếp và các sự phản xạ qua lại khác
và kết quả được lưu vào file. Và dù cho sự chiếu sáng trực tiếp không được lưu trữ
bởi bản thân irradiance map, có thể bật hoặc tắt thì sự phản xạ qua lại nhiều lần sau
tính toán đã có được giá trị của nó. Tức là nếu irradiance map đã tính có kể đến
photon map và lưu vào file để cho các tính toán sau đó, thì việc load photon map từ
file cũng như tính secondary bounces có thể bỏ qua mà không làm ảnh hưởng gì
đến kết quả tính cuối cùng. Một ví dụ khác. Tính irradiance map không có
secondary bounces và lưu vào file. Sau đó tính photon map và cũng lưu vào file.
Bây giờ nếu như render với irradiance map load từ file cho first diffuse bounce, còn
secondary bounces với photon map đã ghi và tính sáng thì việc cộng gộp ánh sáng
sẽ không xảy ra. Chúng ta sẽ chỉ nhìn thấy irradiance map và sự chiếu sáng trực
tiếp. Đặc điểm này của việc tính GI trong VRay có những mặt tích cực của nó –
kích thước của irradiance map nhỏ hơn nhiều lần so với photon map . Và đặc điểm
nêu trên còn cho phép chúng ta sử dụng chỉ irradiance map cho các tính toán sau
nếu nó đã được tính trước có kể đến photon map và quên đi bản đồ photon nhiều
MB
Phương pháp tính irradiance map thực hiện nhanh hơn nhiều so với direct
computation và không có tổn thất nào về chất lượng hình ảnh. Vì thế nó là cơ bản
để tính sự bật lên khuếch tán đầu tiên. Tính tiếp hợp (adaptive) theo các điểm chọn
trước là một khám phá rất thú vị của Vray và là ưu việt thực sự của nó. Bởi vì tính
GI bằng irradiance map + photon map trong VRay tương tự với tính GI trong
mental ray bằng sự kết hợp của photon map và final gathering. Nhưng mặt khác,
final gathering, khác với irradiance map, chọn các điểm để tính trải đều theo giá trị
bán kính cho sẵn không tính đến những thay đổi về màu sắc và hình học. Vì thế để
nhận được kết quả chất lượng tương đương với irradiance map результатов, final
gathering cần dùng một số điểm lớn hơn, mà điều đó có nghĩa là thực hiện phép
tính chậm hơn
Về thời gian render, direct+direct sẽ là chậm nhất, direct+photon map và irradiance
map + direct sẽ cạnh tranh nhau về thời gian, irradiance map + photon map –
phương pháp tính nhanh nhất đảm bảo chất lượng hình ảnh trong nguyên lý mang
tính vật lý hoàn thiện của photon map. Vi thế chính sự kết hợp này được sử dụng
nhiều nhất trong thực tế. Nhưng không loại trừ ngoại lệ. Ví dụ điển hình – tính sáng
đêm bằng photon map. Vì photon rất ít do sự tập trung của các nguồn sáng (đêm
mà), có thể cần đến rất nhiều thời gian để nhặt nhạnh chúng. Ví dụ khác – không có
thành phần khuếch tán của vật liệu. Trong trường hợp đó tính photon map có thể
trở thành một quá trình vô tận không kết quả bởi vì photon map chỉ được xây dựng
cho bề mặt có ánh sáng khuếch tán bằng 0. Thêm một vídụ điển hình nữa – tính
không gian mở với Skylight. Trong đó ví dụ cuối cùng có thể sửa chữa bằng cách
đặt đúng lại các nguồn sáng.
Bây giờ ta sẽ xem sét các thông số của maps - irradiance và photon.
Bản đồ Photon (Photon map)
Ý tưởng photon map (PM) đơn giản – từ nguồn sáng ánh sáng theo tất cả các
hướng chia năng lượng ánh sáng –“photon”. Mỗi một hướng phóng (dò ) tới khi va
chạm vào vật thể gần nhất của khung cảnh và ở đó xảy ra “tương tác” của photon
với bề mặt. Kết quả của của tương tác được lưu vào một bộ cơ sở dữ liệu đặc biệt,
chính là photon map. Tương tác được hiểu là photon có thể bị hấp thụ bởi bề mặt,
phản xạ toàn phần hay khuếch tán từ nó hay đi qua bề mặt trong suốt ứng theo định
luật phản xạ và khúc xạ ánh sáng. Hiện tượng nào sẽ xảy ra, phụ thuộc trước hết
vào tính chất của bề mặt (tính chất và hệ số khuếch tán, phản xạ hay trong suốt của
các vật liệu), thứ 2 là phụ thuộc vào kết quả của "bàn quay Rulet kiểu Nga"!!!.
Bàn quay Rulet kiểu Nga – máy đếm ngẫu nhiên, sử dụng tổng các hệ số phản xạ
khuếch tán, phản xạ toàn phần và hệ số trong suốt. Vì xác suất luôn luôn hướng tới
1 nên tổng 3 hệ số đó cũng không được vượt qua 1. Chính điều đó đảm bảo thông
số Energy preservation mode của vật liệu VRay (trong đó cho RGB cho rằng 0-255
tương ứng với khoảng 0-1) và có lẽ chính vì thế photon map của Vray chỉ có thể
tạo cho vật liệu loại VRayMtl. Bản chất của "bàn quay Rulet kiểu Nga" – hệ số này
hay hệ số kia càng lớn thì xác suất hiện tượng tương ứng với nó sảy ra càng cao -
hấp thụ phản xạ hay khúc xạ.
Sau tương tác, photon dò theo hướng mới tới bề mặt tiếp theo, nơi quá trình sẽ lặp
lại. Độ sâu tia dò trong Vray được cho bởi thông số Bounces trong bảng VRay:
Global Photon map. Khi đạt tới độ sâu cho trước ( số lần photon tương tác với các
bề mặt), sự dò của photon sẽ dừng lại. Trong các bản đồ photon của tất cả các mặt
mà photon đã tương tác, lưu trữ các thông tin về tọa độ va chạm, năng lượng
photon và hướng tới của nó. Photon map cho bề mặt được tạo khi và chỉ khi nó có
tính khuếch tán khác 0
Để sử dụng thành công photon map cần đặc biệt hiểu cặn kẽ một điều – một photon
riêng lẻ không thể xác định chính xác sự chiếu sáng của điểm. Để xác định chiếu
sáng của điểm cần một bộ số lượng nhất định photon, gần với các tọa độ điểm và
tổng năng lượng của chúng với những hệ số khối lượng xác định. Bán kính của bộ
đó được cho bởi tham Search distance trong bảng VRay: Global Photon map.
Các tham số xác lập cho Photon map
Càng nhiều photon được dùng càng đánh giá chính xác sự chiếu sáng của điểm.
Nhưng đó là “con dao 2 lưỡi” – nếu mật độ photon thấp, bộ chọn nhiều photon sẽ
dẫn tới ánh sáng bị mờ nhạt Theo mặc định Vray sử dụng Auto Search dist – tự tìm
bán kính tối ưu cho bộ photon, trong đó Search dist không được phép chỉnh sửa. Sử
dụng Auto Search dist không được khuyến cáo - nên tắt nó và dùng giá trị của mình
cho Search dist.
Thêm một phương tiện trong bộ với sự mờ nhạt của ánh sáng – thông số Max.
photons, xác định số photon được thu thập chứ không phải bán kính thu thập. Sự
khác nhau giữa Search dist. và Max. photons là ở chỗ khi có giá trị Search dist số
lượng thật các photon được thu thập phụ thuộc vào mật độ photon của bản đồ. Khi
thiết lập giá trị Max. photons số photon thu thập sẽ không đổi, mà bán kính thu thập
sẽ thay đổi. Khi dùng kết hợp các thông số sẽ tự cạnh tranh với nhau theo nguyên
tắc “ ai nhanh hơn”. Nếu tại điểm của bề mặt số photon được cho trong Max.
Photons được thu thập nhanh hơn thì giá trị của bán kính sẽ bị bỏ qua. Nếu trong
giới bán kính cho trước không thu thập đủ số photon đã định việc thu thập sẽ ngừng
lại và giá trị Max. Photons bị bỏ qua còn số photon sẽ được xác định bởi mật độ
trong bán kính cho trước bởi Search dist.
Trên thực tế thường chỉ sử dụng 1 trong các thông số đó - Search distance (Max.
Photons được cho giá trị 0 có nghĩa là Vray sẽ bỏ qua nó). Mặt khác nguyên tắc
cạnh tranh có thể được sử dụng để thiết lập cả 2 chế độ làm việc trong sự phụ thuộc
vào mật độ photon map. Nếu cho giá trị Max. photons bằng số photon thu thập
được trong giới hạn Search dist. ở vùng có mật độ photon thấp nhất của bản đồ thì
cho vùng có mật độ cao hơn giới hạn Max. Photons sẽ làm việc, còn cho vùng có
mật độ thấp – giới hạn Search distance sẽ có hiệu lực. Điều đó dẫn tới việc bán
kính thu thập photon sẽ thay đổi trong giới hạn của khung cảnh phụ thuộc vào mật
độ photon của bản đồ, điều sẽ làm giảm sự dàn trải của các mép bóng đặc biệt là
trong vùng có sắc độ trung bình
Mặc dù photon map cho ta kết quả vật lý chính xác về sự phân bố ánh sáng trong
khung cảnh, để đạt đượ