![]() |
ภาพจาก http://renderman.pixar.com/view/denoiser |
ปกติ เราสามารถสั่งเปิด Denoise ได้จาก Render Globals ใน Maya ซึ่งมี 2 โหมดหลักๆ คือ single frame ซึ่งแก้ noise ในภาพเดียว และ cross frame ซึ่งจะดูเฟรมหน้าและหลัง ด้วย
แต่ว่าการสั่ง denoise ใน render globals เลยนั้นผมว่าไม่สะดวกนัก เพราะคำสั่งนี้จะไม่ทำงานเลย จนกว่าการเรนเดอร์จะสิ้นสุดถึงเฟรมสุดท้าย ซึ่งถ้าเรา cancel batch render กลางคัน คำสั่งก็จะไม่รันเลย
ดังนั้นวิธีที่ดีกว่า คือการสั่งจาก command line ซึ่งเราจะพบตัว denoise.exe ได้ ใน folder ของ Pixar
ซึ่งวิธีการใส่คำสั่ง ผมแนะนำให้ทำเป็น bat ไฟล์ ซึ่งทำเพียงไฟล์เดียวแล้วก็อปวางใน folder ที่ต้องการใช้งานได้ สะดวกมาก
PATH "C:\Program Files\Pixar\RenderManProServer-20.5\bin"; %PATH%;
dir /b *.exr > files.txt
denoise.exe -b --crossframe -v variance files.txt
dir = เพื่อเซฟรายชื่อไฟล์ exr ใน folder นั้นๆ ลง files.txt
และบรรทัดสุดท้ายคือรัน denoise โดยใช้ variance เพื่อใช้รายชื่อไฟล์ที่เซฟเอาไว้
![]() |
ก่อนรัน denoise.bat |
![]() | ||||
หลังรัน denoise.bat |
โดย default โปรแกรม denoise จะสร้างไฟล์ด้วยชื่อ _filtered และวางไว้ที่เดียวกับไฟล์ต้นแบบเลย
ถ้าต้องการตั้งชื่อใหม่ หรือเซฟไปที่อื่น ทาง Pixar มี flag อื่นๆ ให้เราทำได้ อันนี้ลองหาข้อมูลใน doc ดูนะครับ
https://renderman.pixar.com/resources/current/RenderMan/risDenoiseTool.html
ถามว่า จะสามารถ denoise ภาพที่เรนเดอร์จากโปรแกรมอื่นได้มั้ย... denoise tool จำเป็นต้องใช้ albedo pass ในไฟล์ exr ซึ่งหาก render engine ที่เราเลือกใช้สามารถเรนเดอร์ pass นี้ได้ ก็คงได้ละมังครับ อันนี้ผมไม่แน่ใจเพราะ V-Ray ผมยังหาวิธีเรน albedo pass ไม่ได้เลย
ถึงจะดูคล้ายๆ diffuse แต่มันเป็นคนละอย่างกัน
เดี๋ยว entry ต่อไปผมจะเอาผลการ denoise animation ต้นไม้มาลงให้ดูนะครับ
No comments:
Post a Comment