Fandom

Thai Blender Wiki

Main Article/3D computer graphics/Rendering

< Main Article | 3D computer graphics

105pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

TODO
  • ใช้ Blender 2.5 อ้างอิงแทน การ upload screenshot ควรระบุเวอร์ชันให้ชัดเจน
  • ไว้เนื้อหานิ่งแล้วค่อยทำส่วน footer สำหรับหน้าก่อน/หน้าต่อไป
  • เพิ่มส่วนเกม
  • ยุบรวมส่วน Blender เข้ากับส่วน 3D computer graphics โดยเพิ่มส่วน User Interface แยกไว้เป็นบท Blender 101
จัดการเมนู

การเรนเดอร์ภาพ (Rendering) Edit

การเรนเดอร์ภาพคือกระบวนการที่ใช้สร้างภาพ 2 มิติจากข้อมูล 3 มิติ ซึ่งอาจใช้เทคนิควิธีต่างๆกันไปเพื่อให้ได้ผลลัพธ์ที่ต้องการ เช่นบางวิธีก็เน้นการให้แสงสีและเงาเพื่อสร้างภาพที่สมจริง หรือบางวิธีก็เน้นไปที่การคำนวณลายเส้นเพื่อสร้างภาพแบบการ์ตูนหรือภาพวาด ในบางครั้งโปรแกรมสำหรับขึ้นโมเดลก็อาจไม่สามารถเรนเดอร์ภาพได้ในตัว แต่ต้องอาศัยซอฟต์แวร์เสริมเพื่อช่วยเรนเดอร์ หรือผู้สร้างงานอาจต้องการคุณสมบัติที่แตกต่างกันไปก็สามารถเลือกใช้ซอฟต์แวร์อื่นในการเรนเดอร์


การเรนเดอร์แบบไบแอส (Biased) และ อันไบแอส (Unbiased) Edit

โดยทั่วไปซอฟต์แวร์ที่ใช้ในงานเรนเดอร์จะแบ่งเป็นสองกลุ่มหลัก ได้แก่กลุ่มที่ใช้เทคนิคการเรนเดอร์แบบไบแอส (biased) และแบบอันไบแอส (unbiased) โดยในกลุ่มที่เรียกว่า unbiased จะมีการคำนวณแสงที่ซับซ้อนและใช้เวลานานกว่ากลุ่ม biased และนิยมในการใช้เรนเดอร์ภาพนิ่ง ลักษณะของซอฟต์แวร์ในกลุ่มนี้คือยิ่งให้เวลามาก ภาพก็ยิ่งออกมาดูสมจริง ส่วนกลุ่ม biased นิยมใช้สำหรับการเรนเดอร์ภาพเคลื่อนไหวมากกว่าเพราะใช้เวลาน้อยกว่ามากในการเรนเดอร์แต่ละเฟรม และให้ผลที่ค่อนข้างดี เทคนิคที่สำคัญในกลุ่มนี้เช่น photon mapping นอกจากนี้ การเรนเดอร์แบบ biased ยังอาจเปิดช่องให้ผู้สร้างงานบิดเบือนความจริงเพื่อประโยชน์ในเชิงศิลปะได้ง่ายกว่าแบบ unbiased ที่กระบวนการต่าง ๆ ล้วนเป็นไปเพื่อการสร้างภาพให้สมจริงถึงที่สุด จะอย่างไรก็ดี ซอฟต์แวร์สำหรับเรนเดอร์บางตัวก็มีคุณลักษณะจากทั้งสองกลุ่มเทคนิค ดังนั้นการทำความเข้าใจลักษณะเฉพาะของเทคนิคต่าง ๆ จะช่วยให้ผู้สร้างงานสามารถเลือกปรับแต่งคุณลักษณะของซอฟต์แวร์ให้ทำงานตรงตามความต้องการและตรงต่อเวลาได้มากที่สุด และอยู่เหนือแนวคิดที่ว่าจะต้องเลือกใช้การเรนเดอร์ภาพแบบ biased หรือ unbiased

Global illumination Edit

Global illumination (GI) คือ การคำนวณแสงที่ไม่ได้เกิดจากตัวกำเนิดแสงโดยตรง แต่ GI จะคำนวณแสงที่เกิดจากการตกกระทบของพื้นผิววัตถุ แล้วสะท้อนไปตามสภาพแวดล้อม ซึ่งอาจจะมีการสะท้อนหลายครั้งหรือจะสะท้อนครั้งเดียวก็ได้ ทั้งนี้ขึ้นอยู่กับพื้นผิวของวัตถุแต่ละชนิดด้วย โดย GI นั้น จะอยู่ภายใต้ระบบของการเรนเดอร์ชนิดต่าง ๆ เช่น ray-tracing , radiosity ฯลฯ


เทคนิคคำนวณแสงต่างๆ Edit

Ray tracing Edit

Ray tracing เป็นการคำนวณแสงเงาชนิดหนึ่งที่มีคุณสมบัติในการสร้างภาพแบบเหมือนจริง ซึ่งมีลักษณะเฉพาะในการคำนวณแสงเงาประเภท Direct Illumination, Shadow,Specular Reflecttion ได้อย่างแม่นยำ โดย Ray tracing จะใช้หลักการของ Photon ที่กระจายอยู่โดยทั่ว เมื่อ Photon ไปกระทบกับพื้นผิวของวัตถุ และ Photon ดังกล่าวได้สะท้อนเข้ามาในตาของเรา Ray tracing นั้น ก็จะทำการคำนวณแสงโดยการย้อนเส้นทางของ Photon เหล่านั้นกลับไปจนถึงแหล่งกำเนิดแสง

Path tracing Edit

Photon mapping Edit

Radiosity Edit

radiosity เป็นระบบการเรนเดอร์ชนิดหนึ่ง ที่ใช้หลักการคำนวณด้วยการแบ่งพื้นผิวเป็นชิ้นเล็ก ๆ โดยจะมีการคำนวณแล้วเก็บข้อมูลไว้ที่วัตถุเอง ซึ่งจะไม่มีผลต่อมุมมองของภาพ จึงทำให้ผู้ใช้สามารถ ปรับเปลี่ยนมุมมอง หรือย้ายมุมกล้องได้โดยไม่ต้องทำการคำนวณแสงใหม่อีกครั้ง โดย radiosity นั้นจะมีความแม่นยำในการคำนวณการจำลองสภาพของแสงแบบ direct light, soft shadow, color bleed ซึ่งจะเป็นการสะท้อนแสงแบบ diffuse ที่ทำให้สีของวัตถุจะมีอิทธิพลต่อแสงที่สะท้อนออกไป เช่น ถ้าห้องสีแดง มีผ้าปูโต๊ะสีขาว วัตถุทั้งสองแบบมีการสะท้อนแบบ diffuse ก็จะทำให้ผ้าปูโต๊ะได้รับแสงสะท้อนจากผนัง จึงทำให้ผ้าปูโต๊ะถูกเจือสีแดงเข้ามาผสมอยู่ด้วย

Ambient occlusion Edit

Volume rendering Edit

ไปป์ไลน์ของการเรนเดอร์ (Rendering pipeline) Edit

TODO
อย่าลืมพูดเรื่อง render pass ด้วย

เรนเดอร์ฟาร์ม (Render farm) Edit

การเรนเดอร์ภาพที่ซับซ้อนมาก ๆ จะกินเวลานานกว่าภาพที่มีองค์ประกอบง่าย ๆ ซอฟต์แวร์ที่ใช้ในการเรนเดอร์จึงอาจได้รับการออกแบบเพิ่มเติมมาเพื่อให้สามารถแบ่งงานให้กับคอมพิวเตอร์หลายเครื่องหรือเครื่องเดียวแต่หลายหน่วยประมวลผลกลาง (CPU) ช่วยกันเรนเดอร์เพื่อให้งานเสร็จเร็วยิ่งขึ้น การแบ่งงานนี้อาจเป็นการแบ่งภาพเดียวออกเป็นภาพเล็ก ๆ แล้วกระจายงานให้แต่ละหน่วยประมวลผล (ที่เรียกว่าการเรนเดอร์แบบ bucket หรือ tiled) ซึ่งเหมาะกับการเรนเดอร์ภาพนิ่ง หรืออาจแบ่งออกเป็นช่วงเวลาหรือเฟรมสำหรับงานแอนิเมชัน โดยเราจะเรียกกลุ่มของคอมพิวเตอร์หลาย ๆ เครื่องที่ช่วยกันเรนเดอร์ภาพว่าเรนเดอร์ฟาร์ม (render farm)

Also on Fandom

Random Wiki