silicman
07-29-2011, 02:25 AM
Nói trước, tớ là người mới trong lĩnh vực 3D nói chung và các phần mềm 3D nói riêng và cụ thể hơn là trình hoạt hình 3D, Cinema4d, và công cụ kết xuất hình, Renderer, của phần mềm này và công cụ kết xuất hình V-Ray. Tớ không nghĩ là có người nào sau chừng 1 tuần lễ đọc vài quyển sách, xem vài video hướng dẫn thì có thể làm thầy và hướng dẫn người khác.
Thớt này tạo ra không nhằm mục đích hướng dẫn người khác, mà là tớ muốn ghi lại những gì mình thu thập được trong quá trình học và hiểu hay nắm bắt được từ các tài liệu. Tớ muốn được sửa nếu mình sai và được xác nhận lại nếu hiểu đúng. Chỉ vậy thôi. Với lại nếu có thể hỏi ngay khúc mắc lúc đọc sách với ông tác giả thì khỏi mất công vầy rồi.
Có quyển sách nào mà dạy đầy đủ mọi thứ mình còn thiếu đâu!
Chủ yếu là quyển "VRay the complete guide 2nd edition", vì thế những gì tui nói xuất phát từ quyển sách này và từ manual của Cinema4d nhá.
Có tranh luận hay bình luận thì mong bà con giữ thái độ ôn hòa nha. OK?! Gần đây tạo mấy thớt chỗ khác, toàn gặp cãi nhau thôi, còn không thì gặp spamer vô comment vài câu không rõ đầu đuôi giống thần long lúc ẩn lúc hiện làm hok hiểu nổi.
****************************************************
Filter, bộ lọc (theo nghĩa từ điển) hay theo tui nghĩ, chính xác hơn là bộ tạo nét cho hình khi kết xuất hình, render, từ đối tượng 3D sang ảnh 2D. Bọn nước ngoài, hay ít nhất là trong trình Vray thì tụi nó dùng chữ filter như một danh từ riêng, một công cụ tạo nét cho hình ảnh và Antialias hay khử răng cưa là danh từ chung ám chỉ việc lấy nét hình ảnh. Dĩ nhiên, hình không bị sọc dưa thì hình nét. :D
Có nhiều bộ tạo nét, filter, khác nhau trong một trình render. Mỗi filter được làm ra với một mục đích cụ thể.
- Mục đích của filter là gì?
- Tạo nét cho hình. Dĩ nhiên!
Dùng V-ray làm ví dụ. Trong quyển "VRay, the complete guide 2nd edition", trang 172 của quyển sách được tác giả kết luận sau khi làm nhiều kiểm tra khác nhau từ 3 bộ tạo nét, filter, có trong V-ray.
1. Fixed rate sampler.
2. Adaptive QMC sampler.
3. Adaptive subdivision sampler:
Bạn muốn biết tác giả nhận xét thế nào thì tìm quyển này mà đọc. Còn sau đây là nhận xét của tui:
1. Adaptive QMC sampler: dành cho bác nào ưa tốc độ, gần dead-line mà hình giao làm chưa xong. Kết quả chấp nhận được.
2. Adaptive subdivision sampler: dành cho bác nào thích hiệu quả (tốc độ kết xuất hình so với độ nét hình sau khi tạo ra) và chất lượng hình chấp nhận được và thường là được vừa ý nhiều hơn là chê xấu.
3. Fixed rate sampler: dành cho bác nào theo chủ nghĩa hoàn hảo. Cứ đặt các tham số vào mục lấy mẫu, sampler, để tạo nét cho hình từ nhỏ tới lớn cho tới khi nào vừa ý thì ngưng.
Nhận xét trên của tui về cả 3 bộ tạo nét, filter, cho hình 2D từ các đối tượng 3D của trình kết xuất hình Vray, render, này không phải ngẫu nhiên mà có. Nó có thuật toán của nó, và các thuật toán này sẽ cho ra kết quả mà tôi nhận xét chỉ áp dụng cho các đối tượng 3D đơn giản và không bị tác động bởi các yếu tố khác (DOF, Blur, bump, textures....). Và một khi các bộ tạo nét này bị tác động bởi các yếu tố khác, nó sẽ cho kết quả khác từ sự tác động bên ngoài đó. Và đó lại là một câu chuyện khác để chúng ta, người đang cố tạo một ảnh 2D từ các đối tượng 3D, có dịp tự trãi nghiệm, thí nghiệm, thử nghiệm, kinh nghiệm, tùm lum nghiệm với các tác động đó đến các yếu tố cơ bản trong một hoàn cảnh cụ thể đang làm việc, rằng thì là tham số nào sẽ cho ra kết quả mà ta mong muốn trong tình huống cụ thể, các đối tượng cụ thể, ánh sáng cụ thể của ta trong thời gian cụ thể cần phải đưa ra lựa chọn cụ thể.
Kết luận cuối cùng của tôi về 3 bộ tạo nét này của VRay là dùng để: tạo nét cho hình 2D. Dĩ nhiên cái nữa! :D Và nó ảnh hưởng lớn nhất tới tốc độ kết xuất hình.
************************************
Các thuật ngữ trong các ứng dụng 3D:
- Geometry: hình học.
- Displacement: làm hình nổi. Ví dụ: Ra đường nhìn bảng hiệu các cty. Displacement là động tác dán mấy cái miếng mê ca nhựa lên hộp đèn, nổi cộm lên. Bảng nào vẽ bằng sơn bình thường là bảng không được displacement. =))
- Shadow: đổ bóng (bóng đen, bóng mờ, bóng bóng,....)
- Hidden light: đèn được dùng trong cảnh 3D, nhưng không thấy trong cửa sổ đang xem hình, viewport.
- Reflection: phản xạ
- Refraction: khúc xạ
- Trasp. = transparent : độ trong suốt.
- Opacity: độ mờ đục.
- Glossy effect = the blurry reflection : làm mờ bề mặt phản xạ.
- Raytracing: lần theo đường đi của ánh sáng.
Nói một chút về Raytracing và lý do ta có nhiều trình kết xuất hình ảnh.
Nói một ít về thực tế một chút. Mọi thứ thắp sáng bởi ánh nắng mặt trời. Ánh sáng giống không khí hay nước hay bất kỳ một vật chất nào khác. Nó là vật chất. Vì thế nó có các đặc điểm chung của tất cả các vật chất khác. Tồn tại hay không tồn tại. Ánh sáng mất sau một góc khuất, và sáng ở bất kỳ chỗ nào không khuất. Anh sáng bị va chạm/ phản xạ, bẻ gãy/ khúc xạ. Ánh sáng có thể đém được, cân được, đo được, bởi nó tạo từ nhiều hạt nhỏ, phô-tông.
Nhưng, ánh sáng phát ra từ mặt trời thì nhiều, nhiều, nhiều lắm, vô cùng nhiều, nhiều vô kể. Máy nào giả lặp được mặt trời?! Và phải tính toán trong bao lâu mới tính ra được tất cả đường đi của tất cả các hạt photon của nó. Sau đó, chỉ lấy lại những photon nào đã trãi qua một hành trình dài từ mặt trời tới vật chất này, nhảy sang vật khác và nhảy vào vật khác rồi lộn qua lộn lại rồi cuối cùng mới nhảy vào ống kính máy quay? Sài một phần rất nhỏ và uổng công tính toán các phần khác.
Raytracing xuất hiện. Và thay vì tính toán đường đi của ánh sáng phát ra từ mặt trời, người ta dùng ống kính máy quay làm nguồn sáng. Thay vì chờ ánh sáng nảy vào mặt nó thì máy quay tự phát ánh sáng thắp sáng những thứ nó nhìn thấy. Việc tiếp cận, thu thập độ nảy/ phản xạ của vật liệu, thuật toán áp dụng, và sử dụng các điểm mốc phụ bổ sung vào giới hạn của thuật toán (các loại light khác nhau) tạo ra nhiều bộ kết xuất hình khác nhau với các ý đồ khác nhau. Từ việc dùng máy quay làm nguồn sáng để dò đường đi của ánh sáng, người ta tạo ra một tập nhỏ hơn. Kỹ thuật camera projection. Thay vì tính toán mức độ sáng và màu sắc phát ra của đối tượng 3D đã được áp dụng vật liệu, material, lên nó; người ta lại dùng ánh sáng đó tô màu đối tượng 3D chưa được áp dụng vật liệu, giống cái máy chiếu lên màn trắng.
- DOF = Depth of field : chiều sâu của ảnh.
Nói một chút về DOF. Chữ DOF là viết tắt của depth of field, là chiều sâu của hình. OK. Thế sâu thế nào? sâu vừa vừa, sâu hút, hơi hơi sâu, quá sâu,...? Nhìn một bức hình bạn có thể nói bức hình đó có độ sâu hay chiều sâu như thế nào?
Thực ra tớ cũng không biết trả lời thế nào. Nhưng có thể chỉ ra chỗ nào là vùng bị tác động bởi thuật toán hay tham số hay thiết lập DOF lên bức hình và chỗ nào thì không. Và trả lời được cho câu hỏi đơn giản hơn. Hình ta đang nhìn có chiều sâu hay không?
Trang 178, quyển V-Ray the complete guide 2nd Edition ghi vầy:
Có 3 vùng quan trọng trong bức hình:
1. Phần chuyển tiếp sau vùng bị tác động bởi DOF (các bình bị DOF ở tiền cảnh, Foreground) tới phần bầu trời hậu cảnh, Background sky.
2. Thân của 2 cái bình cận cảnh đang bị tác động bởi DOF và hiệu ứng Noise.
3. Phần tô nền, flooring texture.
Và tác giả đưa ra các đánh giá sau hàng chục test khác nhau với các tham số khác nhau của DOF và tác động của nó lên 3 thuật toán tạo nét cho hình của trình kết xuất hình ảnh (Fixed rate sampler; Adaptive QMC sampler và Adaptive subdivision sampler).
Tác giả nhận xét thế nào sau các test thì bạn phải đọc sách của ổng mới biết được, do vừa đọc vừa xem hình test mới hiểu nổi ổng nói cái gì với lại rất nhiều test khác nhau được thực hiện, mỗi test thế này mất từ năm ba phút tới hơn nữa tiếng cho 1 test.
Tui nhận xét nè. Giống giống phía trên, tác giả dùng ba thuật toán Fixed rate sampler; Adaptive QMC sampler và Adaptive subdivision sampler làm lõi và bổ sung tác động hay thuật toán DOF lên từng thuật toán một và bắt đầu test với từng tham số khác nhau trên bức ảnh cụ thể mà ông ta tạo ra. Sau hàng chục (dùng cho sách), tui nghĩ chắc nhiều hơn, và chắc mất không dưới 1 ngày làm việc (quyển sách mất gần 3 năm để viết !) chỉ để lấy ra được đâu là tham số cho ra ảnh đẹp nhất áp dụng chỉ với 1 bức ảnh đang làm này. Hic, một ảnh này trong cảnh 3D này thoy!
- Light : nguồn sáng trong trình 3D
- Shadow: đổ bóng cho đối tượng 3D. Có nhiều kiểu đổ bóng hay loại bóng cho các đối tượng 3D.
Trang 184, quyển V-Ray the complete guide 2nd Edition.
Tác giả lại dùng 3 thuật toán tạo nét hình làm cốt lõi và lần này không sử dụng DOF với chúng mà là thắp sáng_ lighting và đổ bóng_ shadowing. Và cái bóng ông ta chọn là Area Shadow. Sau nhiều test khác nhau, với các tham số khác nhau, ông ta rút ra được một tham số áp dụng tốt với bức ảnh được dùng trong test này.
Nhận xét của tui: Hình kh6ng bị áp dụng DOF thì nhìn cái gì cũng rõ, giống máy ảnh tự động. Hình bị áp dụng DOF có chỗ rõ chỗ mờ. Chỗ nào được đặt tiêu điểm ống kính, focus, vào thì chỗ đó rõ, các vị trí ngoài tiêu điểm thì mờ, out of focus.
- UVW Mapping: Là một thuật toán khác để ánh xạ một hình ảnh 2D lên một bề mặt của một đối tượng 3D PHỨC TẠP. Kiểu ánh xạ bề mặt đơn giản nhất đó là kỹ thuật phóng ảnh lên màn chiếu phẳng hoặc ánh xạ hình cho các hình 3D cơ bản, primitive geometry.
Link hướng dẫn thực hành UVW mapping trong 3Ds Max.
http://www.republicofcode.com/tutorials/3ds/texture_stealth/
Link giải thích về lý do tại sao phải sử dụng kỹ thuật UVW để tô màu cho đối tượng.
http://www.youtube.com/watch?v=iIvTUDgaXik&feature=related
Động tác mổ xẻ, một hình 3D, ví dụ như hình cầu 3D của trái đất, trãi nó dẹp lên mặt bàn 2D. Ta gọi đó là động tác tạo map UV hay bản đồ UV. Sau đó vứt cái bản đồ này vào photoshop, tô tô vẽ vẽ. Động tác “dán” lại cái hình đã tô đó cho nó tròn, ta gọi nó là ánh xạ, mapping, vật liệu cho bề mặt của một đối tượng 3D.
UV map của trái đất đã được tô màu.
Các bước chung khi thực hiện UVW Mapping:
1. SetID color. Xác định các mặt cần ánh xạ hình ảnh khác nhau bằng màu cơ bản (trắng xanh vàng đỏ). Đánh số, SetID, cho màu dùng cho mặt đó.
2. Tạo bản đồ ánh xạ bề mặt UVW từ các đối tượng 3D. Dùng các đối tượng 3D đã được tô các màu cơ bản và đã đã đánh số cho các màu đó tạo ra bản đồ ánh xạ bề mặt UVW ở dạng 2D.
3. Tạo các mẫu tô, texture, 2D (bằng photoshop) dựa vào bản đồ ánh xạ UVW.
4. Áp mẫu tô vừa tạo vào lại các đối tượng 3D.
Sự khác biệt giữa Wrap và UnWrap UVW mapping thì sao? Chưa biết.
- Tranclucence: sự mờ trong
- Caustic: tụ quang.
- Color bleeding: nhuộm màu (hắt màu sang vật khác)
- Global Illumination: Quang cảnh.
Có nhiều thuật toán được phát triển để tính toán độ phát quang của một cảnh. (từ cũ tới mới: Radiosity (1985. Chia nhỏ đối tượng 3D ra nhiều mảnh để tính toán mức độ sáng của nó trong bối cảnh chứa nó, không tính toán được phản xạ, khúc xạ của ánh sáng) > Ray-tracing > Path-tracing (1986, James T. Kaijya. Mở rộng Ray tracing. Bổ sung khả năng tính toán khúc xạ, nhuộm màu vật khác, sự tụ quang ) > quasi Monte-Carlo (Mở rộng Ray tracing. QMC sử dụng công thức của Kaijya như Path-tracing, nhưng tính toán theo hướng tiết kiệm tiền nhiều hơn) > photon mapping (1995-1996, Henrik Wann Jensen. Mở rộng Ray tracing. Tính toán đường đi của photon dựa vào nguồn sáng và góc va đập của photon với bề mặt đối tượng. Nâng việc tính toán phản xạ, khúc xạ lên một tầm cao hơn so thuật toán trước đó.) > Final gather (Dựa vào kỹ thuật photon mapping, bổ sung khả năng tính toán sự khuếch tán ánh sáng từ mật độ và cường độ của photon trong bối cảnh cụ thể) > Irradiance Map > light cache.
“…Hầu hết các engine render hiện nay chỉ sử dụng đẳng thức toán của James T. Kaijya. Công thức của Kaijya chỉ có một, có nghĩa là các engine khác nhau, xử lý công thức cho ra kết quả mức cao nhất gần với công thức sẽ cho ra các hình có chất lượng như nhau. Nhưng, máy móc có giới hạn, con người có quan điểm khác nhau, các lập trình viên khác nhau lựa chọn các khía cạnh bỏ bớt hoặc giữ lại trong quá trình xử lý công thức khác nhau nên các engine khác nhau sẽ cho hình ảnh khác nhau trong thực tế.”
Có 2 hướng ứng dụng công thức của Kaijya.
Chính xác, Unbias (QMC hay path-tracing, bi-directional path tracing, Metropolish light transport) và Tương đối, Bias (Radiosity, Photon-mapping). Chính xác sẽ mất thời gian và bị noise, còn tương đối sẽ cho hình bị lem luốc, nhưng nét.
*************************************
* Phương pháp chính xác, Unbias method. *
*************************************
++ Ưu điểm:
+++ Chất lượng cao, kết quả chính xác.
+++ Rất ít tham số thiết lập
+++ Dùng ít RAM
+++ Tạo một ít nhiễu màu thong thường trong cảnh, noise.
++ Khuyết điểm:
+++ Có tính chất non-adaptive (không tái sử dụng được), vì thế rất mất thời gian cho tính toán, đặc biệt nếu loại bỏ phần noise thì thời gian tính toán càng lâu hơn.
+++ Vài hiện tượng ánh sáng không tính được, như hiện tượng tụ sáng, caustic, khi chiếu qua thấu kính thủy tinh.
+++ Thông thường chỉ hoạt động ở bước tính toán ra hình cuối cùng, final render. Vì thế mà kết quả tính ra GI không dùng lại được.
Ví dụ:
+ Path – tracing (hay tên brute-force trong vài engine khác vray, hay QMC).
+ bi-directional path tracing.
+ Metropolish light transport.
*************************************
* Phương pháp tương đối, Bias method *
*************************************
++ Ưu điểm:
+++ Có tính adaptive (tái sử dụng), giúp dễ dàng hạ thấp hơn nữa phần chất lượng.
+++ Có thể tính toán các hiệu ứng mà việc tính toán trực tiếp không làm được.
+++ Trong vài phương pháp, GI loại này có thể save lại và dùng lại được.
++ Khuyết điểm:
+++ Ít chính xác hơn so với phương pháp trực tiếp. Có thể gây ra lỗi, nhưng có thể giảm thiểu việc này bằng cách đưa vào khu vực ít được chú ý của hình.
+++ Có thể xuất hiện lỗi bị đốm màu và lỗi tính GI không chính xác.
+++ Có rất nhiều tham số hay dòng lệnh cần phải học để điều khiển phương pháp này.
Ví dụ:
+ Photon Mapping.
+ Irradiance Map (Vray)
+ Radiosity
+ Light cache (Vray).
*************************************
* Phương pháp hỗn hợp, Hybrid method *
*************************************
Dùng cách tính chính xác cho vài hiệu ứng đặc biệt và dùng cách tương đối cho vài hiệu ứng khác.
+ Ưu điểm: Kết hợp ưu điểm của cả 2 phương pháp để cho ra hình chất lượng cao nhất với thời gian kết xuất tùy thuộc kết hợp đã được lựa chọn .
+ Khuyết điểm: Đôi khi quá khó để thiết lập tham số
+ Ví dụ:
++ Mental Ray: Final Gathering với giá trị Min/Max Radius = 0/0 + Photon mapping.
++ 3ds max: Light tracer với Min/Max rate 0/0 + Radiosity
++ Vray: Irradiance Map + QMC
++ VRay: QMC + Light cache.
++ VRay: QMC + Photon map.
++ Cinema4d: hố đen vũ trụ + bí mật hồ sơ X.
++ Cinema4d: QMC + Irradiance map
Tìm hiểu về các thuật toán này, đặc biệt phần Photon-mapping mới thấy tại sao quá trình render, kết xuất hình lại mất thời gian. Việc giả lập mật độ các photon tương tác với các đối tượng 3D rất tốn tài nguyên máy vì mật độ rất dầy. Có thể dùng phần mềm Realflow xem việc giả lập mật độ các phân tử nước sẽ hình dung được việc giả lập ảnh sáng nó tốn kém thế nào.
- Diffuse: ánh sáng khuyết tán.
- Diffraction: sự nhiễu xạ ánh sáng.
- Interference: giao thoa ánh sáng.
- Polarization: phân cực ánh sáng.
- Ambiance oclusion:
* Phương pháp giả lập nguồn sáng: Tỏa sáng (shooting) VS Thu thập ánh sáng (Gathering).
Có sự phân chia này bắt nguồn từ việc tính toán GI. Nếu ở phần tính toán GI, ánh sáng tính toán dựa trên nguồn sáng tỏa ra trong không gian, gọi nó là shooting method. Ngược lại, nếu tính toán GI dựa vào việc lấy camera làm nguồn phát sáng thì gọi đó là kiểu thu thập ánh sáng (Gathering).
(Ghi chú một chút, tiếng Anh khác tiếng Việt, với cách viết thế này thì trong tiếng Anh nó là chuyện dễ hiểu, nhưng trong tiếng Việt nghe nó ngược ngược, với lại cũng vì mấy bậc tiền bối phát minh ra mấy thứ này họ dùng ngược thế nên phải theo thế thôi. Vì thế bạn nên lưu ý là camera là vật thu thập ánh sáng một cách bị động, vì thế mà họ dùng chữ Gather, còn nguồn phát sáng, như bong đèn, là chủ động nên họ dùng chữ Shoot. Còn kiểu tôi ghi “dùng camera để thắp sáng” khung hình chỉ là một kiểu nói tượng hình để dễ hình dung hơn thôi, thực sự thì khi tính toán kết xuất hình, họ xem camera là một bóng đèn đặc biệt. Chú ý điều này để dễ theo dõi hơn. )
Và cho dù là shooting hay gathering thì phương pháp nào cũng có thể tính toán theo kiểu Chính xác, unbias hoặc tương đối, bias.
*************************************
* Phương pháp Shooting *
*************************************
+ Ưu điểm: Tính toán được việc tụ ánh sáng.
+ Khuyết điểm:
++ Bởi vì phương pháp này tính toán dựa vào ánh sáng phát ra từ nguồn ngoài con mắt camera, nên sẽ có trường hợp ống kính camera bị rơi vào góc khuất của cảnh mà ánh sáng phát từ nguồn đó không lọt vào được (uổng thời gian tính toán + tài nguyên).
++ Chất lượng ảnh cao hơn khi gần nguồn sáng, và bị lỗi nhiễu màu khi xa nguồn sáng, giống kiểu photon map.
++ Một vài nguồn sáng không giả lập được như là đối tượng tự phát sáng hoặc skylight. Bị các đối tượng có tính vật lý chói sáng làm ảnh hưởng tính toán.
Ví dụ:
++ Photon mapping. (tương đối)
++ Particle tracing (tương đối)
++ Light tracing (chính xác)
++ Radiosity (tương đối)
*************************************
* Phương pháp Gathering *
*************************************
+ Ưu điểm:
++ Chỉ mất công tính toán phần nào mà mắt camera nhìn thấy. Hiệu quả nhất với ảnh tĩnh.
++ Có thể cho ra ảnh rất chính xác với các đối tượng 3D đã được render.
++ Có thể giả lập được hiệu ứng đối tượng tự phát sáng và skylight và các hình không tính toán vật lý chính xác.
+ Khuyết điểm:
++ Các điểm tụ sáng và các vùng ánh sáng nhỏ, Area light, rất khó, đôi khi không thể giả lập được.
Ví dụ:
+ Path tracing (chính xác)
+ Irradiance Map (vray) hay Final gathering trong Mental ray ( tương đối)
+ QMC (vray).
*************************************
* Phương pháp Hybrid *
*************************************
Người ta kết hợp cả 2 phương pháp shoot và gather với nhau để thu hết các ưu điểm của chúng, giống như kiểu tương đối và chính xác ở phía trên.
+ Ưu điểm: Có thể tính toán giả lập được tất cả các loại hiệu ứng + kết xuất được bất kỳ nguồn sáng nào.
+ Khuyết điểm: Càng lúc càng khó thiết lập các tham số.
+ Ví dụ:
++ Mental Ray: Fianl Gathering + Photon mapping (tương đối)
++ VRAY: Irradiance Map/QMC GI + Photon Map (tương đối)
++ Bi-directional path tracing + Metropolish transport (chính xác).
*************************************************************************
* Phương pháp tương đối: phụ thuộc camera và không phụ thuộc camera *
* *
* ghi chú: camera tớ dùng với nghĩa là con mắt đang nhìn cảnh 3D ta đang dựng *
*************************************************************************
Phương pháp tương đối còn được chia ra 2 loại phụ thuộc camera và không phụ thuộc camera. Phụ thuộc vào camera xảy ra khi GI phụ thuộc camera và Không phụ thuộc camera khi GI không phụ thuộc camera.
*************************************
* kiểu Shooting, không phụ thuộc cam *
*************************************
+ Ưu điểm: Tính toán cả vùng GI mà camera đang không nhìn thấy. Có ích với cảnh hoạt hình bay xuyên tường.
+ Khuyết điểm:
++ Chất lượng GI thấp hơn các kiểu tính toán khác, xuất hiện đóm màu và mất chi tiết hình. Có tăng thời gian render + bộ nhớ thì cũng không cách nào tăng mức chính xác và chi tiết cho GI được với kiểu này.
++ Vùng xa nguồn phát sáng chất lượng thấp.
+ Ví dụ:
++ Photon Mapping
++ Radiosity.
*************************************
* kiểu Gathering *
*************************************
Kiểu Gathering và vài kiểu Hybrid điều có thể sài được với trường hợp phụ thuộc hay không phụ thuộc cam.
** Giải pháp phụ thuộc cam
+ Ưu điểm:
++ Chỉ render vùng đang nhìn thấy, tiết kiệm thời gian và tài nguyên máy.
++ Hình chất lượng cao, nhiều chi tiết.
+ Khuyết điểm: Phải tính toán lại GI cho mỗi lần dịch chuyển camera. Với ảnh tĩnh thì đôi khi vẫn có được tái sử dụng.
Ví dụ: Irradiance caching ( VRAY, Mental ray, fianlRender, Brazil r/s, 3ds max raytracer).
** Giải pháp không phụ thuộc cam
+ Ưu điểm: Chỉ tính toán mọi thứ 1 lần duy nhất.
+ Khuyết điểm:
++ Phần khuất mà camera không nhìn thấy cũng render luôn.
++ Các hình học, geometry, bị giảm xuống thành các đa giác, triangular hoặc các lưới hình vuông, square mesh. Nên không thể render các geometry.
++ Cảnh độ phân giải cao cần bộ nhớ lớn.
++ Chỉ tính được một phần ánh sáng khuyết tán, diffuse, của GI. Hiệu ứng mờ do phản xạ, glossy reflection, buộc phải tính toán riêng, không cách nào lưu tạm , Caching.
+ Ví dụ: Radiosity.
** Hybird method:
Trong vài trường hợp vẫn có thể phối hợp việc độc lập và không độc lập camera với nhau.
Ví dụ:
+ VRAY: Photon Mapping và Irradiance map.
+ Mental Ray: Photon Map và Final gather.
+ 3ds max: Radiosity + Light tracer
+ Cinema4d: bí mật chưa được giải đáp.
- Bump mapping: là kỹ thuật tô màu đánh lừa thị giác về bề mặt của đối tượng 3D. Khác với kỹ thuật Displcement mapping.
- Displacement mapping: là kỹ thuật cho phép tính toán để kết cấu nên bề mặt của một đối tượng 3D bằng một ảnh vẽ 2D thông thường, raster image. Kỹ thuật này tạo nên một đối tượng 3D mà các thành phần trên bề mặt của nó có vừa mới tạo do map có thể được : đổ bóng_ shadow, phản xạ_ reflection và phát quang môi trường_ Global Illumination.
- Diffuse : khuếch tán. Biểu diễn màu hay texture tô cho đối tượng 3D.
- Reflection : giả lập hiệu ứng phản chiếu của chrome.
- Refraction: Giả lập hiệu ứng thủy tinh hoặc các đối tượng trong suốt.
- Translucency hay SSS (Subsurface scattering): giả lập hiệu ứng ánh sáng đi xuyên qua cấu trúc của đối tượng.
Hình minh họa các hiện tượng ánh sáng mà VRAY tính toán được. Trang 532, VRAY the complete guide 2nd edition
- LDRI ( Low Dynamic Range Image): Một kênh màu là 8 bit (ảnh loại 8 bit x 3 kênh màu RGB = 24 bit). Các loại ảnh .jpg, .bmp.
- HDRI ( Hight Dynamic Range Image): Một kênh màu là 32 bit (ảnh loại 32 bit x 3 kênh màu RGB = 96 bit). Thường được lưu ở dạng tập tin .hdr hay .exr. Bức ảnh HDRI nó có thể mang thông tin về độ sáng nhất so với tối nhất hay gọi tắt là tương phản có thể lên đến 100.000:1 lx (ánh sáng mặt trời đat 100.000 lx, ánh sáng mặt trăng đạt 1 lx, ánh sáng ngôi sao đạt 0.001 lx).
Các máy ảnh kỹ thuật số thường chỉ lưu được một dãy sáng giới hạn (litmit dynamic range). Chính vì điều này, người ta phải chụp ảnh của cùng một cảnh ở nhiều mức độ phơi sáng, exposure, khác nhau để gôm lại và tạo một ảnh HDRI. Ví dụ: Có thể ra bãi biển 4 lần/ngày để chụp lúc 6h – 12h – 18h – 23h, gôm hình lại bằng một soft chỉnh hình như Photoshop hay HDRshop để tạo một bức ảnh HDRI.
Trong kỹ thuật đánh ánh sáng môi trường 3D, nếu dùng hình loại HDRI làm bản đồ ánh sáng để đánh sáng môi trường, sẽ đạt được mức độ ánh sáng thực nhất. Trình render biết mức độ sáng nhất và tối nhất mà nó nên áp dụng cho cảnh 3D đó. Có một điều bắt buộc khi dùng ảnh HDRI cho việc đánh sáng môi trường 3D là ảnh HDRI phải loại panorama, quả cầu bao toàn cảnh 3D 360 độ. HDRI giúp VRAY giả lập nguồn sáng gián tiếp, nhưng không thể tạo nguồn sáng trực tiếp như các loại light.
Đối tượng skylight được sử dụng HDRI này để giả lập ánh sáng môi trường, environment, của cảnh 3D.
Mẹo: Trước khi render hình với HDRI và kiểm tra lỗi sau, ta làm động tác kiểm tra trước. Dùng hình HDRI làm hình background và nhớ lật lại nó, flip horizontally , xoay HDRI 360 độ để preview kiểm tra đổ bóng của hình trước để đỡ mất thời gian render bằng phương pháp thử sai.
Hình minh họa và các bước xoay HDRI trang 643, VRAY the complete guide 2nd edition.
Map type của HDRI:
+ Angular (ánh xạ theo cung tròn): giống kiểu Mirror ball, nhưng cho chất lượng cao hơn ở phần chu vi tròn. Kiểu này tạo từ việc chụp quả cầu ở nhiều góc nhìn khác nhau. Phần giữa được chú ý nhiều hơn phần ngoài.
+ Cubic (Hình hộp mở ra): dạng hình hộp được mở 6 mặt của nó ra trên mặt phẳng.
+ Spherical (Hình cầu mở ra): kiểu ánh xạ panoramic truyền thống. Mở quả cầu tròn ra và ép nó dẹp lên mặt phẳng.
+ Mirrored ball (ánh xạ theo cung tròn): ảnh HDRI này tạo bằng cách dùng máy ảnh chụp một quả cầu tròn, bóng đang phản chiếu hình môi trường xung quanh.
+ Explicit map channel : cho phép người dùng điều chỉnh hệ tọa độ ánh xạ.
- Ambient Occlusion (VrayDirt): Tính toán bụi đóng lên các cạnh của đối tượng. Do việc tính toán GI rất tốn thời gian và tài nguyên máy, người ta phát minh ra thuật toán AO này để tạo ra hình có mức “thực” chấp nhận được nhưng ít tốn kém hơn. Đặc biệt đúng trong lĩnh vực hoạt hình, nếu dùng GI để thắp sáng quang cảnh thì công việc tính toán cực kỳ tốn kém, trong khi quả tim của hoạt hình là hoạt hình, còn độ thực của hình tạo ra chỉ xếp thứ 2.
- AO: thực sự là tỉ lệ giữa số lượng tia sáng mà môi trường của cảnh 3D nhận được từ một điểm trong cảnh đó so với tổng số ánh sáng đập vào chính điểm đó.
- Falloff : rơi mất. Giá trị càng lớn, một tia sáng bị tắt càng nhanh.
- Luminosity: Độ sáng. Dùng xác định mức độ sáng trong chụp hình.
Luminosity = focal length : diameter.
Ví dụ: Ống kính máy chụp hình ghi là f/3. Tức là tỉ lệ focal length so với đường kính, diameter, của ống kính là 3 lần. Luminosity của một object ở mức f/2 sáng hơn f/3. Ống kính có đường kính to hơn > thu được nhiều ánh sáng hơn > luminosity cao hơn ở cùng tỉ lệ so với ống kính đường kính nhỏ.
- Aperture: Công cụ nằm trong ống nhắm của máy chụp làm giảm lượng tia sáng đập vào sensor hoặc phim của máy.
-
- Shutter: Công cụ nằm trước sensor sau ống nhắm. Quyết định thời gian sensor hay phim phơi mặt ra ánh sáng. Đơn vị tính bằng giây hay một phần của giây. Ví dụ: 60 là 1/60 giây, 250 là 1/250 giây.
- ISO (đơn vị đo độ nhạy sáng của phim chụp hình) (film sensitivity): phim có độ nhạy cao cần phơi ra sáng ít hơn. Ví dụ: 50 ISO là phim có độ nhạy thấp, dùng tốt với cảnh có nhiều ánh sáng, 3200 ISO là phim có độ nhạy cực cao, tốt cho môi trường rất ít ánh sáng.
Lưu ý: Phim có độ nhạy sáng càng cao, càng có mức nhiễu màu (noise/grain) cao.
- Focal length : khoảng cách giữa thấu kính và tiêu cự (điểm tập trung ánh sáng sau khi qua thấu kính).
- Focal point: tiêu cự.
- DOF (Depth of field): Nếu tiêu cự nằm ngay vị trí của phim chụp hình. Ảnh tạo ra không có DOF, mọi điểm của ảnh đều rõ; điều này chỉ xảy ra khi ánh sáng phản chiếu vật được máy ảnh nhắm chụp đi vào ống kính và đập vào thấu kính là các tia sáng song song. Thực tế chỉ có các nguồn sáng loại “vô định, infinitive” thì mới phát nguồn sáng song song, như mặt trời, hoặc ngọn núi ở phía chân trời; còn lại mọi vật nào phát ánh sáng gần hơn loại vô định đều phát ra ánh sáng mà khi đi vào ống kính máy chụp hình đều tạo với trục xuyên tâm của ống kính một góc lệch nhất định. Điều này làm cho tiêu cự của thấu kính không còn nằm trên phim chụp hình hay sensor nữa, mà nó nằm hoặc trước hoặc sau phim chụp hình/ sensor. Và chính lý do này dẫn đến cái gọi là DOF.
- Focus area: Mở rộng khái niệm DOF dùng cho phần mềm 3D. Các đối tượng nào được focus sẽ thấy rõ và ngoài điểm focus sẽ bị mờ. Vùng focus trong phần mềm 3D có thể rất rộng so với thực tế.
Ghi chú:
+ Focal length của ống kính ở các khoảng cách khác nhau dẫn đến góc nhìn phối cảnh, perspective, của đối tượng khác nhau. Khi focal length tăng lên DOF sẽ giảm xuống, khi đó chỉ có đối tượng đang được focus là rõ.
+ Khẩu độ, Aperture, mở càng rộng DOF càng bị thu hẹp, khẩu độ càng nhỏ DOF càng rộng.
+ DOF ít, thì chỉ thấy vật ở gần, càng mở DOF, càng thấy được nhiều vật hơn và xa hơn.
Update 29/07/2001
- Bổ sung thông tin trình render của Cinema4D mục GI.
Thớt này tạo ra không nhằm mục đích hướng dẫn người khác, mà là tớ muốn ghi lại những gì mình thu thập được trong quá trình học và hiểu hay nắm bắt được từ các tài liệu. Tớ muốn được sửa nếu mình sai và được xác nhận lại nếu hiểu đúng. Chỉ vậy thôi. Với lại nếu có thể hỏi ngay khúc mắc lúc đọc sách với ông tác giả thì khỏi mất công vầy rồi.
Có quyển sách nào mà dạy đầy đủ mọi thứ mình còn thiếu đâu!
Chủ yếu là quyển "VRay the complete guide 2nd edition", vì thế những gì tui nói xuất phát từ quyển sách này và từ manual của Cinema4d nhá.
Có tranh luận hay bình luận thì mong bà con giữ thái độ ôn hòa nha. OK?! Gần đây tạo mấy thớt chỗ khác, toàn gặp cãi nhau thôi, còn không thì gặp spamer vô comment vài câu không rõ đầu đuôi giống thần long lúc ẩn lúc hiện làm hok hiểu nổi.
****************************************************
Filter, bộ lọc (theo nghĩa từ điển) hay theo tui nghĩ, chính xác hơn là bộ tạo nét cho hình khi kết xuất hình, render, từ đối tượng 3D sang ảnh 2D. Bọn nước ngoài, hay ít nhất là trong trình Vray thì tụi nó dùng chữ filter như một danh từ riêng, một công cụ tạo nét cho hình ảnh và Antialias hay khử răng cưa là danh từ chung ám chỉ việc lấy nét hình ảnh. Dĩ nhiên, hình không bị sọc dưa thì hình nét. :D
Có nhiều bộ tạo nét, filter, khác nhau trong một trình render. Mỗi filter được làm ra với một mục đích cụ thể.
- Mục đích của filter là gì?
- Tạo nét cho hình. Dĩ nhiên!
Dùng V-ray làm ví dụ. Trong quyển "VRay, the complete guide 2nd edition", trang 172 của quyển sách được tác giả kết luận sau khi làm nhiều kiểm tra khác nhau từ 3 bộ tạo nét, filter, có trong V-ray.
1. Fixed rate sampler.
2. Adaptive QMC sampler.
3. Adaptive subdivision sampler:
Bạn muốn biết tác giả nhận xét thế nào thì tìm quyển này mà đọc. Còn sau đây là nhận xét của tui:
1. Adaptive QMC sampler: dành cho bác nào ưa tốc độ, gần dead-line mà hình giao làm chưa xong. Kết quả chấp nhận được.
2. Adaptive subdivision sampler: dành cho bác nào thích hiệu quả (tốc độ kết xuất hình so với độ nét hình sau khi tạo ra) và chất lượng hình chấp nhận được và thường là được vừa ý nhiều hơn là chê xấu.
3. Fixed rate sampler: dành cho bác nào theo chủ nghĩa hoàn hảo. Cứ đặt các tham số vào mục lấy mẫu, sampler, để tạo nét cho hình từ nhỏ tới lớn cho tới khi nào vừa ý thì ngưng.
Nhận xét trên của tui về cả 3 bộ tạo nét, filter, cho hình 2D từ các đối tượng 3D của trình kết xuất hình Vray, render, này không phải ngẫu nhiên mà có. Nó có thuật toán của nó, và các thuật toán này sẽ cho ra kết quả mà tôi nhận xét chỉ áp dụng cho các đối tượng 3D đơn giản và không bị tác động bởi các yếu tố khác (DOF, Blur, bump, textures....). Và một khi các bộ tạo nét này bị tác động bởi các yếu tố khác, nó sẽ cho kết quả khác từ sự tác động bên ngoài đó. Và đó lại là một câu chuyện khác để chúng ta, người đang cố tạo một ảnh 2D từ các đối tượng 3D, có dịp tự trãi nghiệm, thí nghiệm, thử nghiệm, kinh nghiệm, tùm lum nghiệm với các tác động đó đến các yếu tố cơ bản trong một hoàn cảnh cụ thể đang làm việc, rằng thì là tham số nào sẽ cho ra kết quả mà ta mong muốn trong tình huống cụ thể, các đối tượng cụ thể, ánh sáng cụ thể của ta trong thời gian cụ thể cần phải đưa ra lựa chọn cụ thể.
Kết luận cuối cùng của tôi về 3 bộ tạo nét này của VRay là dùng để: tạo nét cho hình 2D. Dĩ nhiên cái nữa! :D Và nó ảnh hưởng lớn nhất tới tốc độ kết xuất hình.
************************************
Các thuật ngữ trong các ứng dụng 3D:
- Geometry: hình học.
- Displacement: làm hình nổi. Ví dụ: Ra đường nhìn bảng hiệu các cty. Displacement là động tác dán mấy cái miếng mê ca nhựa lên hộp đèn, nổi cộm lên. Bảng nào vẽ bằng sơn bình thường là bảng không được displacement. =))
- Shadow: đổ bóng (bóng đen, bóng mờ, bóng bóng,....)
- Hidden light: đèn được dùng trong cảnh 3D, nhưng không thấy trong cửa sổ đang xem hình, viewport.
- Reflection: phản xạ
- Refraction: khúc xạ
- Trasp. = transparent : độ trong suốt.
- Opacity: độ mờ đục.
- Glossy effect = the blurry reflection : làm mờ bề mặt phản xạ.
- Raytracing: lần theo đường đi của ánh sáng.
Nói một chút về Raytracing và lý do ta có nhiều trình kết xuất hình ảnh.
Nói một ít về thực tế một chút. Mọi thứ thắp sáng bởi ánh nắng mặt trời. Ánh sáng giống không khí hay nước hay bất kỳ một vật chất nào khác. Nó là vật chất. Vì thế nó có các đặc điểm chung của tất cả các vật chất khác. Tồn tại hay không tồn tại. Ánh sáng mất sau một góc khuất, và sáng ở bất kỳ chỗ nào không khuất. Anh sáng bị va chạm/ phản xạ, bẻ gãy/ khúc xạ. Ánh sáng có thể đém được, cân được, đo được, bởi nó tạo từ nhiều hạt nhỏ, phô-tông.
Nhưng, ánh sáng phát ra từ mặt trời thì nhiều, nhiều, nhiều lắm, vô cùng nhiều, nhiều vô kể. Máy nào giả lặp được mặt trời?! Và phải tính toán trong bao lâu mới tính ra được tất cả đường đi của tất cả các hạt photon của nó. Sau đó, chỉ lấy lại những photon nào đã trãi qua một hành trình dài từ mặt trời tới vật chất này, nhảy sang vật khác và nhảy vào vật khác rồi lộn qua lộn lại rồi cuối cùng mới nhảy vào ống kính máy quay? Sài một phần rất nhỏ và uổng công tính toán các phần khác.
Raytracing xuất hiện. Và thay vì tính toán đường đi của ánh sáng phát ra từ mặt trời, người ta dùng ống kính máy quay làm nguồn sáng. Thay vì chờ ánh sáng nảy vào mặt nó thì máy quay tự phát ánh sáng thắp sáng những thứ nó nhìn thấy. Việc tiếp cận, thu thập độ nảy/ phản xạ của vật liệu, thuật toán áp dụng, và sử dụng các điểm mốc phụ bổ sung vào giới hạn của thuật toán (các loại light khác nhau) tạo ra nhiều bộ kết xuất hình khác nhau với các ý đồ khác nhau. Từ việc dùng máy quay làm nguồn sáng để dò đường đi của ánh sáng, người ta tạo ra một tập nhỏ hơn. Kỹ thuật camera projection. Thay vì tính toán mức độ sáng và màu sắc phát ra của đối tượng 3D đã được áp dụng vật liệu, material, lên nó; người ta lại dùng ánh sáng đó tô màu đối tượng 3D chưa được áp dụng vật liệu, giống cái máy chiếu lên màn trắng.
- DOF = Depth of field : chiều sâu của ảnh.
Nói một chút về DOF. Chữ DOF là viết tắt của depth of field, là chiều sâu của hình. OK. Thế sâu thế nào? sâu vừa vừa, sâu hút, hơi hơi sâu, quá sâu,...? Nhìn một bức hình bạn có thể nói bức hình đó có độ sâu hay chiều sâu như thế nào?
Thực ra tớ cũng không biết trả lời thế nào. Nhưng có thể chỉ ra chỗ nào là vùng bị tác động bởi thuật toán hay tham số hay thiết lập DOF lên bức hình và chỗ nào thì không. Và trả lời được cho câu hỏi đơn giản hơn. Hình ta đang nhìn có chiều sâu hay không?
Trang 178, quyển V-Ray the complete guide 2nd Edition ghi vầy:
Có 3 vùng quan trọng trong bức hình:
1. Phần chuyển tiếp sau vùng bị tác động bởi DOF (các bình bị DOF ở tiền cảnh, Foreground) tới phần bầu trời hậu cảnh, Background sky.
2. Thân của 2 cái bình cận cảnh đang bị tác động bởi DOF và hiệu ứng Noise.
3. Phần tô nền, flooring texture.
Và tác giả đưa ra các đánh giá sau hàng chục test khác nhau với các tham số khác nhau của DOF và tác động của nó lên 3 thuật toán tạo nét cho hình của trình kết xuất hình ảnh (Fixed rate sampler; Adaptive QMC sampler và Adaptive subdivision sampler).
Tác giả nhận xét thế nào sau các test thì bạn phải đọc sách của ổng mới biết được, do vừa đọc vừa xem hình test mới hiểu nổi ổng nói cái gì với lại rất nhiều test khác nhau được thực hiện, mỗi test thế này mất từ năm ba phút tới hơn nữa tiếng cho 1 test.
Tui nhận xét nè. Giống giống phía trên, tác giả dùng ba thuật toán Fixed rate sampler; Adaptive QMC sampler và Adaptive subdivision sampler làm lõi và bổ sung tác động hay thuật toán DOF lên từng thuật toán một và bắt đầu test với từng tham số khác nhau trên bức ảnh cụ thể mà ông ta tạo ra. Sau hàng chục (dùng cho sách), tui nghĩ chắc nhiều hơn, và chắc mất không dưới 1 ngày làm việc (quyển sách mất gần 3 năm để viết !) chỉ để lấy ra được đâu là tham số cho ra ảnh đẹp nhất áp dụng chỉ với 1 bức ảnh đang làm này. Hic, một ảnh này trong cảnh 3D này thoy!
- Light : nguồn sáng trong trình 3D
- Shadow: đổ bóng cho đối tượng 3D. Có nhiều kiểu đổ bóng hay loại bóng cho các đối tượng 3D.
Trang 184, quyển V-Ray the complete guide 2nd Edition.
Tác giả lại dùng 3 thuật toán tạo nét hình làm cốt lõi và lần này không sử dụng DOF với chúng mà là thắp sáng_ lighting và đổ bóng_ shadowing. Và cái bóng ông ta chọn là Area Shadow. Sau nhiều test khác nhau, với các tham số khác nhau, ông ta rút ra được một tham số áp dụng tốt với bức ảnh được dùng trong test này.
Nhận xét của tui: Hình kh6ng bị áp dụng DOF thì nhìn cái gì cũng rõ, giống máy ảnh tự động. Hình bị áp dụng DOF có chỗ rõ chỗ mờ. Chỗ nào được đặt tiêu điểm ống kính, focus, vào thì chỗ đó rõ, các vị trí ngoài tiêu điểm thì mờ, out of focus.
- UVW Mapping: Là một thuật toán khác để ánh xạ một hình ảnh 2D lên một bề mặt của một đối tượng 3D PHỨC TẠP. Kiểu ánh xạ bề mặt đơn giản nhất đó là kỹ thuật phóng ảnh lên màn chiếu phẳng hoặc ánh xạ hình cho các hình 3D cơ bản, primitive geometry.
Link hướng dẫn thực hành UVW mapping trong 3Ds Max.
http://www.republicofcode.com/tutorials/3ds/texture_stealth/
Link giải thích về lý do tại sao phải sử dụng kỹ thuật UVW để tô màu cho đối tượng.
http://www.youtube.com/watch?v=iIvTUDgaXik&feature=related
Động tác mổ xẻ, một hình 3D, ví dụ như hình cầu 3D của trái đất, trãi nó dẹp lên mặt bàn 2D. Ta gọi đó là động tác tạo map UV hay bản đồ UV. Sau đó vứt cái bản đồ này vào photoshop, tô tô vẽ vẽ. Động tác “dán” lại cái hình đã tô đó cho nó tròn, ta gọi nó là ánh xạ, mapping, vật liệu cho bề mặt của một đối tượng 3D.
UV map của trái đất đã được tô màu.
Các bước chung khi thực hiện UVW Mapping:
1. SetID color. Xác định các mặt cần ánh xạ hình ảnh khác nhau bằng màu cơ bản (trắng xanh vàng đỏ). Đánh số, SetID, cho màu dùng cho mặt đó.
2. Tạo bản đồ ánh xạ bề mặt UVW từ các đối tượng 3D. Dùng các đối tượng 3D đã được tô các màu cơ bản và đã đã đánh số cho các màu đó tạo ra bản đồ ánh xạ bề mặt UVW ở dạng 2D.
3. Tạo các mẫu tô, texture, 2D (bằng photoshop) dựa vào bản đồ ánh xạ UVW.
4. Áp mẫu tô vừa tạo vào lại các đối tượng 3D.
Sự khác biệt giữa Wrap và UnWrap UVW mapping thì sao? Chưa biết.
- Tranclucence: sự mờ trong
- Caustic: tụ quang.
- Color bleeding: nhuộm màu (hắt màu sang vật khác)
- Global Illumination: Quang cảnh.
Có nhiều thuật toán được phát triển để tính toán độ phát quang của một cảnh. (từ cũ tới mới: Radiosity (1985. Chia nhỏ đối tượng 3D ra nhiều mảnh để tính toán mức độ sáng của nó trong bối cảnh chứa nó, không tính toán được phản xạ, khúc xạ của ánh sáng) > Ray-tracing > Path-tracing (1986, James T. Kaijya. Mở rộng Ray tracing. Bổ sung khả năng tính toán khúc xạ, nhuộm màu vật khác, sự tụ quang ) > quasi Monte-Carlo (Mở rộng Ray tracing. QMC sử dụng công thức của Kaijya như Path-tracing, nhưng tính toán theo hướng tiết kiệm tiền nhiều hơn) > photon mapping (1995-1996, Henrik Wann Jensen. Mở rộng Ray tracing. Tính toán đường đi của photon dựa vào nguồn sáng và góc va đập của photon với bề mặt đối tượng. Nâng việc tính toán phản xạ, khúc xạ lên một tầm cao hơn so thuật toán trước đó.) > Final gather (Dựa vào kỹ thuật photon mapping, bổ sung khả năng tính toán sự khuếch tán ánh sáng từ mật độ và cường độ của photon trong bối cảnh cụ thể) > Irradiance Map > light cache.
“…Hầu hết các engine render hiện nay chỉ sử dụng đẳng thức toán của James T. Kaijya. Công thức của Kaijya chỉ có một, có nghĩa là các engine khác nhau, xử lý công thức cho ra kết quả mức cao nhất gần với công thức sẽ cho ra các hình có chất lượng như nhau. Nhưng, máy móc có giới hạn, con người có quan điểm khác nhau, các lập trình viên khác nhau lựa chọn các khía cạnh bỏ bớt hoặc giữ lại trong quá trình xử lý công thức khác nhau nên các engine khác nhau sẽ cho hình ảnh khác nhau trong thực tế.”
Có 2 hướng ứng dụng công thức của Kaijya.
Chính xác, Unbias (QMC hay path-tracing, bi-directional path tracing, Metropolish light transport) và Tương đối, Bias (Radiosity, Photon-mapping). Chính xác sẽ mất thời gian và bị noise, còn tương đối sẽ cho hình bị lem luốc, nhưng nét.
*************************************
* Phương pháp chính xác, Unbias method. *
*************************************
++ Ưu điểm:
+++ Chất lượng cao, kết quả chính xác.
+++ Rất ít tham số thiết lập
+++ Dùng ít RAM
+++ Tạo một ít nhiễu màu thong thường trong cảnh, noise.
++ Khuyết điểm:
+++ Có tính chất non-adaptive (không tái sử dụng được), vì thế rất mất thời gian cho tính toán, đặc biệt nếu loại bỏ phần noise thì thời gian tính toán càng lâu hơn.
+++ Vài hiện tượng ánh sáng không tính được, như hiện tượng tụ sáng, caustic, khi chiếu qua thấu kính thủy tinh.
+++ Thông thường chỉ hoạt động ở bước tính toán ra hình cuối cùng, final render. Vì thế mà kết quả tính ra GI không dùng lại được.
Ví dụ:
+ Path – tracing (hay tên brute-force trong vài engine khác vray, hay QMC).
+ bi-directional path tracing.
+ Metropolish light transport.
*************************************
* Phương pháp tương đối, Bias method *
*************************************
++ Ưu điểm:
+++ Có tính adaptive (tái sử dụng), giúp dễ dàng hạ thấp hơn nữa phần chất lượng.
+++ Có thể tính toán các hiệu ứng mà việc tính toán trực tiếp không làm được.
+++ Trong vài phương pháp, GI loại này có thể save lại và dùng lại được.
++ Khuyết điểm:
+++ Ít chính xác hơn so với phương pháp trực tiếp. Có thể gây ra lỗi, nhưng có thể giảm thiểu việc này bằng cách đưa vào khu vực ít được chú ý của hình.
+++ Có thể xuất hiện lỗi bị đốm màu và lỗi tính GI không chính xác.
+++ Có rất nhiều tham số hay dòng lệnh cần phải học để điều khiển phương pháp này.
Ví dụ:
+ Photon Mapping.
+ Irradiance Map (Vray)
+ Radiosity
+ Light cache (Vray).
*************************************
* Phương pháp hỗn hợp, Hybrid method *
*************************************
Dùng cách tính chính xác cho vài hiệu ứng đặc biệt và dùng cách tương đối cho vài hiệu ứng khác.
+ Ưu điểm: Kết hợp ưu điểm của cả 2 phương pháp để cho ra hình chất lượng cao nhất với thời gian kết xuất tùy thuộc kết hợp đã được lựa chọn .
+ Khuyết điểm: Đôi khi quá khó để thiết lập tham số
+ Ví dụ:
++ Mental Ray: Final Gathering với giá trị Min/Max Radius = 0/0 + Photon mapping.
++ 3ds max: Light tracer với Min/Max rate 0/0 + Radiosity
++ Vray: Irradiance Map + QMC
++ VRay: QMC + Light cache.
++ VRay: QMC + Photon map.
++ Cinema4d: hố đen vũ trụ + bí mật hồ sơ X.
++ Cinema4d: QMC + Irradiance map
Tìm hiểu về các thuật toán này, đặc biệt phần Photon-mapping mới thấy tại sao quá trình render, kết xuất hình lại mất thời gian. Việc giả lập mật độ các photon tương tác với các đối tượng 3D rất tốn tài nguyên máy vì mật độ rất dầy. Có thể dùng phần mềm Realflow xem việc giả lập mật độ các phân tử nước sẽ hình dung được việc giả lập ảnh sáng nó tốn kém thế nào.
- Diffuse: ánh sáng khuyết tán.
- Diffraction: sự nhiễu xạ ánh sáng.
- Interference: giao thoa ánh sáng.
- Polarization: phân cực ánh sáng.
- Ambiance oclusion:
* Phương pháp giả lập nguồn sáng: Tỏa sáng (shooting) VS Thu thập ánh sáng (Gathering).
Có sự phân chia này bắt nguồn từ việc tính toán GI. Nếu ở phần tính toán GI, ánh sáng tính toán dựa trên nguồn sáng tỏa ra trong không gian, gọi nó là shooting method. Ngược lại, nếu tính toán GI dựa vào việc lấy camera làm nguồn phát sáng thì gọi đó là kiểu thu thập ánh sáng (Gathering).
(Ghi chú một chút, tiếng Anh khác tiếng Việt, với cách viết thế này thì trong tiếng Anh nó là chuyện dễ hiểu, nhưng trong tiếng Việt nghe nó ngược ngược, với lại cũng vì mấy bậc tiền bối phát minh ra mấy thứ này họ dùng ngược thế nên phải theo thế thôi. Vì thế bạn nên lưu ý là camera là vật thu thập ánh sáng một cách bị động, vì thế mà họ dùng chữ Gather, còn nguồn phát sáng, như bong đèn, là chủ động nên họ dùng chữ Shoot. Còn kiểu tôi ghi “dùng camera để thắp sáng” khung hình chỉ là một kiểu nói tượng hình để dễ hình dung hơn thôi, thực sự thì khi tính toán kết xuất hình, họ xem camera là một bóng đèn đặc biệt. Chú ý điều này để dễ theo dõi hơn. )
Và cho dù là shooting hay gathering thì phương pháp nào cũng có thể tính toán theo kiểu Chính xác, unbias hoặc tương đối, bias.
*************************************
* Phương pháp Shooting *
*************************************
+ Ưu điểm: Tính toán được việc tụ ánh sáng.
+ Khuyết điểm:
++ Bởi vì phương pháp này tính toán dựa vào ánh sáng phát ra từ nguồn ngoài con mắt camera, nên sẽ có trường hợp ống kính camera bị rơi vào góc khuất của cảnh mà ánh sáng phát từ nguồn đó không lọt vào được (uổng thời gian tính toán + tài nguyên).
++ Chất lượng ảnh cao hơn khi gần nguồn sáng, và bị lỗi nhiễu màu khi xa nguồn sáng, giống kiểu photon map.
++ Một vài nguồn sáng không giả lập được như là đối tượng tự phát sáng hoặc skylight. Bị các đối tượng có tính vật lý chói sáng làm ảnh hưởng tính toán.
Ví dụ:
++ Photon mapping. (tương đối)
++ Particle tracing (tương đối)
++ Light tracing (chính xác)
++ Radiosity (tương đối)
*************************************
* Phương pháp Gathering *
*************************************
+ Ưu điểm:
++ Chỉ mất công tính toán phần nào mà mắt camera nhìn thấy. Hiệu quả nhất với ảnh tĩnh.
++ Có thể cho ra ảnh rất chính xác với các đối tượng 3D đã được render.
++ Có thể giả lập được hiệu ứng đối tượng tự phát sáng và skylight và các hình không tính toán vật lý chính xác.
+ Khuyết điểm:
++ Các điểm tụ sáng và các vùng ánh sáng nhỏ, Area light, rất khó, đôi khi không thể giả lập được.
Ví dụ:
+ Path tracing (chính xác)
+ Irradiance Map (vray) hay Final gathering trong Mental ray ( tương đối)
+ QMC (vray).
*************************************
* Phương pháp Hybrid *
*************************************
Người ta kết hợp cả 2 phương pháp shoot và gather với nhau để thu hết các ưu điểm của chúng, giống như kiểu tương đối và chính xác ở phía trên.
+ Ưu điểm: Có thể tính toán giả lập được tất cả các loại hiệu ứng + kết xuất được bất kỳ nguồn sáng nào.
+ Khuyết điểm: Càng lúc càng khó thiết lập các tham số.
+ Ví dụ:
++ Mental Ray: Fianl Gathering + Photon mapping (tương đối)
++ VRAY: Irradiance Map/QMC GI + Photon Map (tương đối)
++ Bi-directional path tracing + Metropolish transport (chính xác).
*************************************************************************
* Phương pháp tương đối: phụ thuộc camera và không phụ thuộc camera *
* *
* ghi chú: camera tớ dùng với nghĩa là con mắt đang nhìn cảnh 3D ta đang dựng *
*************************************************************************
Phương pháp tương đối còn được chia ra 2 loại phụ thuộc camera và không phụ thuộc camera. Phụ thuộc vào camera xảy ra khi GI phụ thuộc camera và Không phụ thuộc camera khi GI không phụ thuộc camera.
*************************************
* kiểu Shooting, không phụ thuộc cam *
*************************************
+ Ưu điểm: Tính toán cả vùng GI mà camera đang không nhìn thấy. Có ích với cảnh hoạt hình bay xuyên tường.
+ Khuyết điểm:
++ Chất lượng GI thấp hơn các kiểu tính toán khác, xuất hiện đóm màu và mất chi tiết hình. Có tăng thời gian render + bộ nhớ thì cũng không cách nào tăng mức chính xác và chi tiết cho GI được với kiểu này.
++ Vùng xa nguồn phát sáng chất lượng thấp.
+ Ví dụ:
++ Photon Mapping
++ Radiosity.
*************************************
* kiểu Gathering *
*************************************
Kiểu Gathering và vài kiểu Hybrid điều có thể sài được với trường hợp phụ thuộc hay không phụ thuộc cam.
** Giải pháp phụ thuộc cam
+ Ưu điểm:
++ Chỉ render vùng đang nhìn thấy, tiết kiệm thời gian và tài nguyên máy.
++ Hình chất lượng cao, nhiều chi tiết.
+ Khuyết điểm: Phải tính toán lại GI cho mỗi lần dịch chuyển camera. Với ảnh tĩnh thì đôi khi vẫn có được tái sử dụng.
Ví dụ: Irradiance caching ( VRAY, Mental ray, fianlRender, Brazil r/s, 3ds max raytracer).
** Giải pháp không phụ thuộc cam
+ Ưu điểm: Chỉ tính toán mọi thứ 1 lần duy nhất.
+ Khuyết điểm:
++ Phần khuất mà camera không nhìn thấy cũng render luôn.
++ Các hình học, geometry, bị giảm xuống thành các đa giác, triangular hoặc các lưới hình vuông, square mesh. Nên không thể render các geometry.
++ Cảnh độ phân giải cao cần bộ nhớ lớn.
++ Chỉ tính được một phần ánh sáng khuyết tán, diffuse, của GI. Hiệu ứng mờ do phản xạ, glossy reflection, buộc phải tính toán riêng, không cách nào lưu tạm , Caching.
+ Ví dụ: Radiosity.
** Hybird method:
Trong vài trường hợp vẫn có thể phối hợp việc độc lập và không độc lập camera với nhau.
Ví dụ:
+ VRAY: Photon Mapping và Irradiance map.
+ Mental Ray: Photon Map và Final gather.
+ 3ds max: Radiosity + Light tracer
+ Cinema4d: bí mật chưa được giải đáp.
- Bump mapping: là kỹ thuật tô màu đánh lừa thị giác về bề mặt của đối tượng 3D. Khác với kỹ thuật Displcement mapping.
- Displacement mapping: là kỹ thuật cho phép tính toán để kết cấu nên bề mặt của một đối tượng 3D bằng một ảnh vẽ 2D thông thường, raster image. Kỹ thuật này tạo nên một đối tượng 3D mà các thành phần trên bề mặt của nó có vừa mới tạo do map có thể được : đổ bóng_ shadow, phản xạ_ reflection và phát quang môi trường_ Global Illumination.
- Diffuse : khuếch tán. Biểu diễn màu hay texture tô cho đối tượng 3D.
- Reflection : giả lập hiệu ứng phản chiếu của chrome.
- Refraction: Giả lập hiệu ứng thủy tinh hoặc các đối tượng trong suốt.
- Translucency hay SSS (Subsurface scattering): giả lập hiệu ứng ánh sáng đi xuyên qua cấu trúc của đối tượng.
Hình minh họa các hiện tượng ánh sáng mà VRAY tính toán được. Trang 532, VRAY the complete guide 2nd edition
- LDRI ( Low Dynamic Range Image): Một kênh màu là 8 bit (ảnh loại 8 bit x 3 kênh màu RGB = 24 bit). Các loại ảnh .jpg, .bmp.
- HDRI ( Hight Dynamic Range Image): Một kênh màu là 32 bit (ảnh loại 32 bit x 3 kênh màu RGB = 96 bit). Thường được lưu ở dạng tập tin .hdr hay .exr. Bức ảnh HDRI nó có thể mang thông tin về độ sáng nhất so với tối nhất hay gọi tắt là tương phản có thể lên đến 100.000:1 lx (ánh sáng mặt trời đat 100.000 lx, ánh sáng mặt trăng đạt 1 lx, ánh sáng ngôi sao đạt 0.001 lx).
Các máy ảnh kỹ thuật số thường chỉ lưu được một dãy sáng giới hạn (litmit dynamic range). Chính vì điều này, người ta phải chụp ảnh của cùng một cảnh ở nhiều mức độ phơi sáng, exposure, khác nhau để gôm lại và tạo một ảnh HDRI. Ví dụ: Có thể ra bãi biển 4 lần/ngày để chụp lúc 6h – 12h – 18h – 23h, gôm hình lại bằng một soft chỉnh hình như Photoshop hay HDRshop để tạo một bức ảnh HDRI.
Trong kỹ thuật đánh ánh sáng môi trường 3D, nếu dùng hình loại HDRI làm bản đồ ánh sáng để đánh sáng môi trường, sẽ đạt được mức độ ánh sáng thực nhất. Trình render biết mức độ sáng nhất và tối nhất mà nó nên áp dụng cho cảnh 3D đó. Có một điều bắt buộc khi dùng ảnh HDRI cho việc đánh sáng môi trường 3D là ảnh HDRI phải loại panorama, quả cầu bao toàn cảnh 3D 360 độ. HDRI giúp VRAY giả lập nguồn sáng gián tiếp, nhưng không thể tạo nguồn sáng trực tiếp như các loại light.
Đối tượng skylight được sử dụng HDRI này để giả lập ánh sáng môi trường, environment, của cảnh 3D.
Mẹo: Trước khi render hình với HDRI và kiểm tra lỗi sau, ta làm động tác kiểm tra trước. Dùng hình HDRI làm hình background và nhớ lật lại nó, flip horizontally , xoay HDRI 360 độ để preview kiểm tra đổ bóng của hình trước để đỡ mất thời gian render bằng phương pháp thử sai.
Hình minh họa và các bước xoay HDRI trang 643, VRAY the complete guide 2nd edition.
Map type của HDRI:
+ Angular (ánh xạ theo cung tròn): giống kiểu Mirror ball, nhưng cho chất lượng cao hơn ở phần chu vi tròn. Kiểu này tạo từ việc chụp quả cầu ở nhiều góc nhìn khác nhau. Phần giữa được chú ý nhiều hơn phần ngoài.
+ Cubic (Hình hộp mở ra): dạng hình hộp được mở 6 mặt của nó ra trên mặt phẳng.
+ Spherical (Hình cầu mở ra): kiểu ánh xạ panoramic truyền thống. Mở quả cầu tròn ra và ép nó dẹp lên mặt phẳng.
+ Mirrored ball (ánh xạ theo cung tròn): ảnh HDRI này tạo bằng cách dùng máy ảnh chụp một quả cầu tròn, bóng đang phản chiếu hình môi trường xung quanh.
+ Explicit map channel : cho phép người dùng điều chỉnh hệ tọa độ ánh xạ.
- Ambient Occlusion (VrayDirt): Tính toán bụi đóng lên các cạnh của đối tượng. Do việc tính toán GI rất tốn thời gian và tài nguyên máy, người ta phát minh ra thuật toán AO này để tạo ra hình có mức “thực” chấp nhận được nhưng ít tốn kém hơn. Đặc biệt đúng trong lĩnh vực hoạt hình, nếu dùng GI để thắp sáng quang cảnh thì công việc tính toán cực kỳ tốn kém, trong khi quả tim của hoạt hình là hoạt hình, còn độ thực của hình tạo ra chỉ xếp thứ 2.
- AO: thực sự là tỉ lệ giữa số lượng tia sáng mà môi trường của cảnh 3D nhận được từ một điểm trong cảnh đó so với tổng số ánh sáng đập vào chính điểm đó.
- Falloff : rơi mất. Giá trị càng lớn, một tia sáng bị tắt càng nhanh.
- Luminosity: Độ sáng. Dùng xác định mức độ sáng trong chụp hình.
Luminosity = focal length : diameter.
Ví dụ: Ống kính máy chụp hình ghi là f/3. Tức là tỉ lệ focal length so với đường kính, diameter, của ống kính là 3 lần. Luminosity của một object ở mức f/2 sáng hơn f/3. Ống kính có đường kính to hơn > thu được nhiều ánh sáng hơn > luminosity cao hơn ở cùng tỉ lệ so với ống kính đường kính nhỏ.
- Aperture: Công cụ nằm trong ống nhắm của máy chụp làm giảm lượng tia sáng đập vào sensor hoặc phim của máy.
-
- Shutter: Công cụ nằm trước sensor sau ống nhắm. Quyết định thời gian sensor hay phim phơi mặt ra ánh sáng. Đơn vị tính bằng giây hay một phần của giây. Ví dụ: 60 là 1/60 giây, 250 là 1/250 giây.
- ISO (đơn vị đo độ nhạy sáng của phim chụp hình) (film sensitivity): phim có độ nhạy cao cần phơi ra sáng ít hơn. Ví dụ: 50 ISO là phim có độ nhạy thấp, dùng tốt với cảnh có nhiều ánh sáng, 3200 ISO là phim có độ nhạy cực cao, tốt cho môi trường rất ít ánh sáng.
Lưu ý: Phim có độ nhạy sáng càng cao, càng có mức nhiễu màu (noise/grain) cao.
- Focal length : khoảng cách giữa thấu kính và tiêu cự (điểm tập trung ánh sáng sau khi qua thấu kính).
- Focal point: tiêu cự.
- DOF (Depth of field): Nếu tiêu cự nằm ngay vị trí của phim chụp hình. Ảnh tạo ra không có DOF, mọi điểm của ảnh đều rõ; điều này chỉ xảy ra khi ánh sáng phản chiếu vật được máy ảnh nhắm chụp đi vào ống kính và đập vào thấu kính là các tia sáng song song. Thực tế chỉ có các nguồn sáng loại “vô định, infinitive” thì mới phát nguồn sáng song song, như mặt trời, hoặc ngọn núi ở phía chân trời; còn lại mọi vật nào phát ánh sáng gần hơn loại vô định đều phát ra ánh sáng mà khi đi vào ống kính máy chụp hình đều tạo với trục xuyên tâm của ống kính một góc lệch nhất định. Điều này làm cho tiêu cự của thấu kính không còn nằm trên phim chụp hình hay sensor nữa, mà nó nằm hoặc trước hoặc sau phim chụp hình/ sensor. Và chính lý do này dẫn đến cái gọi là DOF.
- Focus area: Mở rộng khái niệm DOF dùng cho phần mềm 3D. Các đối tượng nào được focus sẽ thấy rõ và ngoài điểm focus sẽ bị mờ. Vùng focus trong phần mềm 3D có thể rất rộng so với thực tế.
Ghi chú:
+ Focal length của ống kính ở các khoảng cách khác nhau dẫn đến góc nhìn phối cảnh, perspective, của đối tượng khác nhau. Khi focal length tăng lên DOF sẽ giảm xuống, khi đó chỉ có đối tượng đang được focus là rõ.
+ Khẩu độ, Aperture, mở càng rộng DOF càng bị thu hẹp, khẩu độ càng nhỏ DOF càng rộng.
+ DOF ít, thì chỉ thấy vật ở gần, càng mở DOF, càng thấy được nhiều vật hơn và xa hơn.
Update 29/07/2001
- Bổ sung thông tin trình render của Cinema4D mục GI.