
VXAO (Voxel Ambient Occlusion) ได้ถูกประกาศออกมาว่าจะมาพร้อมกับ Patch ปรับปรุงล่าสุดของเกม Rise of the Tomb Raider ที่มาควบคู่ไปกับการสนับสนุน DirectX 12 โดยฟีเจอร์ VXAO นี้มันเป็นส่วนหนึ่งของ GameWorks 3.1 ที่มีการเพิ่มคุณสมบัติการแสดงผลต่าง ๆ จาก DirectX 12 อย่าง Volumetric Lighting และ HFTS (Hyper Frustrum Traced Shadows)
*Ambient Occlusion เป็นระบบที่มีเป้าหมายเดียวกันกับ Tessellation คือทำให้ Model หรือวัตถุดูมีมิติโดยที่นักพัฒนาเกมไม่ต้องมานั่งปั้นโพลิกอนเยอะ ๆ แต่ Ambient Occlusion จะใช้วิธีที่ต่างออกไป แทนที่จะใช้หลักการทางคณิตศาสตร์ปั่นจำนวนโพลิกอนออกมาเยอะ ๆ Ambient Occlusion จะใช้ Texture ในการเก็บข้อมูลความนูนของพื้นผิวของ Model หรือวัตถุ (โดยรวม Ambient Occlusion กินสเปกน้อยกว่า Tessellation แต่ Ambient Occlusion จะใช้ RAM เยอะกว่า)
NVIDIA ได้เคยพูดเกี่ยวกับ VXAO ไว้ว่า ?มันคืออีกก้าวหนึ่งของเทคโนโลยี ambient occlusion ที่จะมาแทนที่ HBAO+? Alexey Panteleev, วิศวกรพัฒนาเทคโนโลยีอาวุโส แห่ง NVIDIA ซึ่งเป็นหัวหน้าผ่ายออกแบบและรับผิดชอบ VXGI (Voxel Global Illumination) และเขายังนำเสนอ VXAO (ซึ่งต่อยอดมาจาก VXGI) ในหัวข้อกระบวนการ Advanced Ambient Occlusion ในงาน GDC 2016 ที่ผ่านมา
ปัญหาที่เกิดกับอัลกอริทึม ambient occlusion รุ่นทั่วไปถ้าหากเราทำงานกับมันนั้น คือ
รัศมีความมืดหรือขาดการบิดที่ดูเป็นธรรมชาติเบื้องหน้าวัตถุต่าง
2. แสดงผลไม่เสถียรในบริเวณใกล้ขอบหน้าจอ
3. Locality, ซึ่งหมายความว่ามีเพียงปริมาณพื้นที่ขนาดเล็กทั่วพื้นผิวซึ่งก่อให้เกิด AO
4. ปัญหาเบลอ ซึ่งเป็นผลมาจากตัวกรองความเบลอ ซึ่งหลายคนอาจจะสงสัยว่าคุณสมบัตินี้จะมีไว้เพื่ออะไร เพราะว่า คอมพิวเตอร์โซลูชั่นที่สมบูรณ์สำหรับแสดงผลทุกพิกเซลจะมีราคาแพงเกินไป

จากรูปด้านบนเรานำ VXAO มาเทียบกับ HBAO+ โดยนาย Alexey Panteleev สรุปใจความไว้ดังนี้คือ
พื้นดินใต้ถังน้ำมัน: ไม่มีการแสดงผล occlusion จาก HBAO+ , แต่ใน VXAO มี
พื้นดินบริเวณใต้รถถัง: ไม่มีการแสดงผล occlusion จาก HBAO+ แต่มีการแสดงผลเป็นจำนวนมากใน VXAO
ขาตั้งโลหะที่ด้านซ้าย: มีการแสดงผล occlusion จาก HBAO+ เป็นจำนวนมาก , มีพอประมาณใน VXAO
โดยรวมแล้วมีกระบวนการสามส่วนที่สำคัญทำงานในขั้นตอนวิธีการทำงานของ VXAO นั่นก็คือ voxelization, voxel post-processing, และ cone tracing เริ่มจาก
Voxelization จะดำเนินการโดยการแสดงผลรูปสามเหลี่ยมตาข่ายที่เป็น 3D texture, อย่างเช่นการเพิ่มประสิทธิภาพการทำงานระดับสูงที่ขึ้นอยู่กับจำนวนรวมของรูปสามเหลี่ยมและขนาดของรูปสามเหลี่ยมเหล่านี้และจำนวนของการวาดที่จำเป็นในการทำให้เรนเดอร์
Post-processing เป็นกระบวนการกรองและลดขนาดของ voxels, และเพิ่มประสิทธิภาพการทำงานโดยรวมของจำนวน voxels ที่ผลิตในระหว่างกระบวนการ voxelization โดยกระบวนการนี้โดยทั่วไปใช้เวลาเพียง 0.5?1.5 ms
cone tracing จะดำเนินการในพื้นที่หน้าจอเพื่อประสิทธิภาพการทำงานขึ้นอยู่กับขนาดรายละเอียดของหน้าจอ ในเรื่องการแรเงาพื้นผิวส่วนต่างๆ
ผู้พัฒนาสามารถจัดการบริหารการใช้หน่วยความจำได้ง่ายกว่าเดิมอีกด้วย โดยความต้องการในด้านทรัพยากรนั่นนับว่าค่อนข้องต่ำเมื่อเทียบกับ VXGI ซึ่งสามารถใช้งานตั้งแต่ 500 MB ไปจนถึง 7 GB สำหรับการตั้งค่าระดับสูง กลับกัน VXAO โดยทั่วไปต้องการเพียง 6 ถึง 100MB เท่านั้น ทั้งนี้ Alexey Panteleev ยังจี้แจงเพิ่มเติมว่ากระบวนการ VXGI และ VXAO จะไม่ได้เป็นเพียงคุณสมบัติเฉพาะที่ทำงานร่วมกับ GPU ในสถาปัตยกรรม Maxwell หรือ NVIDIA GPUs เท่านั้น
?หลายคนอาจจะคิดว่า VXGI ถูกกำเนิดว่าให้ทำงานร่วมกับเฉพาะ GPU Maxwell เท่านั้น ซึ่งมันไม่เป็นความจริง เพียงแต่ Maxwell จะมีฮาร์ดแวร์บางส่วนที่เอื้อประโยชน์กับฟีเจอร์นี้เพียงเล็กน้อยเท่านั้น โดยเฉพาะในส่วนจอง VXAO ที่ช่วยให้การทะลุผ่านของ Geometry Shaders ในกระบวนการ voxelization มีประสิทธิภาพเพิ่มขึ้นถึง 30% ทั้งนี้ VXGI และ VXAO ยังทำงานร่วมกับ GPU ทุกรุ่นที่สนันสนุน DX11 ซึ่งรวมไปถึงการ์ดของ AMD Radeon อีกด้วย (โดย GPU Maxwell จะส่งมอบประสิทธิภาพที่ดีที่สุด )โดยมันจะไม่จำกัดเพียงใน DX11 เท่านั้น แต่ยังสามารถทำงานร่วมกับ GPU ที่รองรับ DX12 และ OpenGL 4.5?
VXAO ถูกใช้ครั้งแรกในเกม Rise of the Tomb Raider เอาเป็นว่า เชิญชมความแตกต่างของการแสดงผลของ VXAO เมื่อถูกใช้งานร่วมกับ HBAO+ กับ การแสดงผล HBAO+ เพียวๆได้เลยด้านล่างนี้ครับ

VXAO สามารถเปิดใช้งานได้อย่างง่ายดายโดยนักพัฒนา เมื่อใช้ง่านร่วมกับ Unreal Engine 4 ในกรณีที่คุณเพียงแค่ต้องตั้งค่าตัวแปรคอนโซล ?r.VXGI.AmbientOcclusionMode? เป็น 1 เพื่อเปิดการใช้งานของมัน และสำหรับผู้ที่สนใจชมความสวยงามของ Unreal Engine 4 ที่ทำงานร่วมกับ VXGI และ VXAO ว่าจะสวยงามขั้นเทพขนาดไหน เชิญชมที่บทความ Unreal Engine 4 สภาพแวดล้อมที่สวยงามของป่าฝนเขตร้านได้เลยครับ
AoTKnighT Say : ส่วนตัวแล้วยังไม่มีโอกาสได้สัมผัส VXAO ด้วยตัวเองเพราะเนื่องจากเกมที่ใช้งานฟีเจอร์ดังกล่าวอย่าง Rise of the Tomb Raider ยังไม่ใช่แนวของผม และด้วยสภาพฮาร์ดแวร์ที่ใช้อยู่ไม่เอื้ออำนวย (อันนี้ปัญหาใหญ่) เลยไม่มีประสบการณ์จะมาเล่าในบทความนี้ได้
แต่จะวิดีโอจะเห็นว่าการเปิดใช้งาน VXAO จะส่งผลให้เฟรมเรทในเกมนั้นลดลงไปเกือบ 10 เฟรมเลยทีเดียว มันอาจจะดูไม่คุ้มค่าและไร้สาระสำหรับใครบางคน(โดยเฉพาะผู้ที่ใช้การ์ดรุ่นล่างๆ ที่่ปั่นเฟรมได้น้อยอยู่แล้วยิ่งไม่ควรจะไปยุ่งเกี่ยวกับ VXAO นี้เลย ) แต่สำหรับคนที่ชอบเสพความงามของกราฟฟิคในเกมเฟรมที่เสียไปมันอาจจะคุ้มค่าสำหรับเขาก็ได้ อันนี้มันแล้วแต่มุมมองของแต่ละคน เพราะไม่มีสิ่งใดในโลกที่ได้มาแบบฟรีๆ.
Credit : Zolkorn



Comment