ScholarGate
ผู้ช่วย

การแรสเตอร์และการประมวลผลกราฟิก

การแรสเตอร์ (Rasterization) คือกระบวนการแปลงรูปทรงเรขาคณิตพื้นฐาน เช่น รูปสามเหลี่ยม ให้กลายเป็นพิกเซลที่ครอบคลุมบนหน้าจอ และเป็นขั้นตอนสำคัญของการประมวลผลกราฟิกที่เปลี่ยนฉาก 3 มิติให้เป็นภาพ 2 มิติ

ค้นหาหัวข้อด้วย PaperMindเร็ว ๆ นี้Find papers & topics
Tools & resources
ดาวน์โหลดสไลด์
Learn & explore
วิดีโอเร็ว ๆ นี้

Definition

การแรสเตอร์คือกระบวนการกำหนดว่าพิกเซลใดที่รูปทรงเรขาคณิตพื้นฐานที่ฉายภาพครอบคลุม และการประมาณค่าปริมาณต่อจุดยอด เช่น ความลึก สี และพิกัดพื้นผิว (texture coordinates) ทั่วทั้งพิกเซลเหล่านั้น

Scope

หัวข้อนี้ครอบคลุมขั้นตอนของการประมวลผลการเรนเดอร์มาตรฐาน ได้แก่ การแปลงจุดยอด (vertex transformation), การตัด (clipping), การฉายภาพ (projection), การประกอบรูปทรงพื้นฐาน (primitive assembly), การแปลงสแกน (scan conversion) และการประมวลผลแฟรกเมนต์ (fragment processing) พร้อมด้วยการใช้บัฟเฟอร์ความลึก (depth buffering) สำหรับการมองเห็น, การประมาณค่าแบบเปอร์สเปคทีฟที่ถูกต้องของแอตทริบิวต์จุดยอด และการลดรอยหยัก (antialiasing) ของตัวอย่างที่ได้

Core questions

  • พิกัด 3 มิติถูกแปลงเป็นตำแหน่งหน้าจอ 2 มิติได้อย่างไร?
  • รูปสามเหลี่ยมที่ฉายภาพครอบคลุมพิกเซลใดบ้าง?
  • จะแก้ไขการมองเห็นได้อย่างไรเมื่อรูปทรงพื้นฐานทับซ้อนกัน?
  • จะลดสิ่งแปลกปลอมที่เกิดจากรอยหยัก (aliasing artifacts) ตามขอบได้อย่างไร?

Key concepts

  • ขั้นตอนจุดยอดและแฟรกเมนต์
  • การตัดและการฉายภาพ
  • การแปลงสแกน
  • การทดสอบความลึกด้วย Z-buffer
  • การประมาณค่าแบบเปอร์สเปคทีฟที่ถูกต้อง
  • การลดรอยหยัก

Key theories

การประมวลผลแบบ transform-and-rasterize
รูปทรงเรขาคณิตจะผ่านลำดับการแปลงพิกัดที่กำหนดไว้จาก object space ไปยัง screen space หลังจากนั้นรูปทรงพื้นฐานจะถูกแปลงสแกนเป็นแฟรกเมนต์ ซึ่งให้โครงสร้างที่สามารถแมปกับฮาร์ดแวร์แบบขนานได้อย่างมีประสิทธิภาพ
การใช้บัฟเฟอร์ความลึกสำหรับการมองเห็น
Z-buffer จะเก็บความลึกที่ใกล้ที่สุดที่เห็นมาแล้วในแต่ละพิกเซล และทิ้งแฟรกเมนต์ที่อยู่ด้านหลัง ซึ่งช่วยแก้ไขการซ่อนพื้นผิวที่ซ่อนอยู่ทีละน้อยโดยไม่ต้องจัดเรียงรูปทรงเรขาคณิต

Clinical relevance

การประมวลผลการแรสเตอร์เป็นรากฐานของกราฟิกแบบเรียลไทม์เกือบทั้งหมด ซึ่งขับเคลื่อนวิดีโอเกม การจัดองค์ประกอบส่วนต่อประสานผู้ใช้ (user-interface compositing) โปรแกรมดู CAD และกราฟิก 3 มิติแบบโต้ตอบที่พบในเบราว์เซอร์และอุปกรณ์เคลื่อนที่

History

วิธีการ Z-buffer และ scan-conversion ในช่วงต้นทศวรรษ 1970 ได้ถูกกำหนดเป็น fixed-function pipeline ของฮาร์ดแวร์กราฟิกยุคแรก จากนั้นจึงถูกพัฒนาให้เป็น programmable shader pipelines ของ GPU สมัยใหม่

Key figures

  • Edwin Catmull
  • Bui Tuong Phong

Related topics

Seminal works

  • catmull1974
  • hughes2013

Frequently asked questions

เหตุใดการแรสเตอร์จึงรวดเร็วมาก?
รูปสามเหลี่ยมแต่ละรูปจะถูกประมวลผลอย่างอิสระ และแต่ละพิกเซลจะถูกเติมด้วยการคำนวณแบบเพิ่มขึ้นอย่างง่าย ซึ่งแมปโดยตรงกับสถาปัตยกรรมแบบขนานขนาดใหญ่ของฮาร์ดแวร์กราฟิก
Z-buffer มีไว้เพื่ออะไร?
Z-buffer จะบันทึกว่าพื้นผิวที่ใกล้ที่สุดที่วาดไปแล้วอยู่ห่างออกไปเท่าใดในแต่ละพิกเซล เพื่อให้พื้นผิวที่ใกล้กว่าเขียนทับพื้นผิวที่ไกลกว่า และส่วนที่ซ่อนอยู่ของฉากจะถูกลบออกโดยอัตโนมัติ

Methods for this concept

Related concepts