คอมพิวเตอร์แสดงวัตถุบนหน้าจออย่างไร


18

กราฟิกคอมพิวเตอร์ทั้งหมดแสดงผลโดยใช้รูปหลายเหลี่ยมหรือไม่ สิ่งที่ฉันหมายถึงคือรูปทรงเรขาคณิตของคอมพิวเตอร์บางส่วนมีการแสดงทางคณิตศาสตร์ในรูปแบบของสมการ (ตัวอย่างเช่นซอฟต์แวร์ CAD)

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

แก้ไข: ฉันเดาว่าจะเน้นไปที่ GPU เป็นพิเศษ GPU ทำปริมาณเท่าไหร่? อินพุตชนิดใดที่จำเป็นต้องใช้เช่นรูปแบบของขนาดที่ GPU ใช้ร่วมกับอะไร มันสามารถใช้การแสดงทางคณิตศาสตร์ที่สมบูรณ์แบบโดยตรงหรือลดขนาดแบบจำลองของตัวเองก่อนที่จะเรนเดอร์ไปที่หน้าจอหรือขนาด GPU ที่ต้องการแบบจำลอง tessellated

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


4
คำถามที่น่าสนใจเช่นนี้!
r0ca

คำตอบ:


2

นี่คือการติดตามความคิดเห็นของคุณในคำตอบของ @ nik:

ระบบ CAD ส่วนใหญ่ใช้รูปหลายเหลี่ยม (สามเหลี่ยมดี) เพื่อสร้างแบบจำลองของพวกเขา

พวกเขาจะจัดเก็บแบบจำลองในหลากหลายวิธีโดยยึดตามโมเดลCSG (Constructive Solid Geometry)หรือB-rep (Boundary Representation)แต่เมื่อพูดถึงการแสดงสิ่งเหล่านี้จะมีเหลี่ยมมุมและสามเหลี่ยมที่ส่งไปยัง GPU สำหรับการวาด .

แต่ละระบบจะมีทางออกของตัวเองสำหรับการแบ่งโมเดลเป็นสามเหลี่ยม


7

ฉันไม่แน่ใจว่าคุณกำลังถามคำถามนี้อยู่ในระดับใด
แต่โดยทั่วไปฉันจะแนะนำคุณไปยังหน้า กราฟิกคอมพิวเตอร์ Wikipedia

นอกจากนี้ยังมีประวัติที่สำคัญของกราฟิกคอมพิวเตอร์และลิงค์แอนิเมชัน
คุณสามารถข้ามไปยังส่วนที่สนใจได้จากหน้าเนื้อหาของพวกเขา


อัปเดต: ฉันสงสัยว่าคำถามของคุณขึ้นอยู่กับแนวคิดที่เกี่ยวข้องกับเว็บไซต์UnlimitedDetailนี้หรือไม่

กราฟิก 3D ส่วนใหญ่ในวันนี้มาจากสิ่งที่เรียกว่าระบบรูปหลายเหลี่ยม มันเป็นระบบที่สร้างสิ่งต่าง ๆ จากรูปทรงแบน ๆ เล็ก ๆ ที่เรียกว่ารูปหลายเหลี่ยม

...

ระบบปัจจุบันสามระบบที่ใช้ในกราฟิก 3 มิติคือการติดตามเรย์รูปหลายเหลี่ยมและคลาวด์พอยต์ / voxels ซึ่งทั้งหมดล้วนมีจุดแข็งและจุดอ่อน รูปหลายเหลี่ยมวิ่งเร็ว แต่มีรูปทรงเรขาคณิตไม่ดี Ray-trace และ voxels มีรูปทรงที่สมบูรณ์แบบ แต่วิ่งช้ามาก

ฯลฯ ...


+1 สำหรับการกล่าวถึงประวัติที่สำคัญของกราฟิกคอมพิวเตอร์และแอนิเมชั่น อ่านมาก แต่ก็น่าสนใจมาก ;-)
Diskilla

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

2

หากคุณต้องการเจาะลึกลงไปในกลไกของ GPU และเทคนิคการเรนเดอร์หนังสือเล่มต่อไปนี้สามารถพบได้ทางออนไลน์:

GPU Gems 3, Addison-Wesley Professional (12 สิงหาคม 2550)

GPU Gems 3 ได้รับการแก้ไขโดย Hubert Nguyen ผู้จัดการฝ่ายการศึกษาผู้พัฒนาของ NVIDIA ฮิวเบิร์ตเป็นวิศวกรกราฟิกที่ทำงานในทีมสาธิตของ NVIDIA ก่อนที่จะย้ายไปยังตำแหน่งปัจจุบันของเขา งานของเขาได้รับการแนะนำบนหน้าปกของ GPU Gems (Addison-Wesley, 2004) และ GPU Gems 2

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

รุ่นก่อนหน้านี้ยังออนไลน์อยู่และยังมีคุณค่าอย่างมากในการอ่าน:

GPU Gems: เทคนิคการเขียนโปรแกรมเคล็ดลับและเทคนิคสำหรับกราฟิกแบบเรียลไทม์แก้ไขโดย Randima Fernando, มีนาคม 2004

GPU Gems 2: เทคนิคสำหรับกราฟิกและการเขียนโปรแกรมแบบเร่งรัด, แก้ไขโดย Matt Pharr, มีนาคม 2005

Programming Vertex, Geometry, Pixel Shaders, Second Edition โดย Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni และ Jason Zink, ธันวาคม 2551

สุดท้ายคือร่างหนังสือที่ไม่สม่ำเสมอ แต่มีคุณค่าอย่างยิ่งในสถานที่ต่างๆ บทแสงโดยแจ็ค Hoxley ให้คำอธิบายรายละเอียดของรูปแบบแสงต่างๆพร้อมกับรหัสการทำงาน


1

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

เพื่อให้เข้าใจขั้นตอนนี้คุณควรอ่านnik บทความวิกิพีเดียกล่าวแล้ว

แก้ไข: ฉันไม่แน่ใจอีกต่อไปเกี่ยวกับการตีความในสิ่งที่คุณหมายถึงโดย "tesselate วัตถุ" ถ้าเป็นไปได้คุณช่วยอธิบายรายละเอียดได้มั้ย


สิ่งที่ฉันหมายถึงโดย tessellation คือวัตถุที่เป็นของแข็งได้รับการแบ่งออกเป็นชุดของรูปหลายเหลี่ยมแบน (เกือบทุกรูปสามเหลี่ยม) ที่ประมาณพื้นผิวของวัตถุ ยิ่งจำนวนของสามเหลี่ยมมากเท่าไหร่การแสดงใกล้กับพื้นผิวของวัตถุก็จะยิ่งใกล้มากขึ้นเท่านั้น
Faken

1

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

ตัวอย่างเช่น GPU บางตัวมีอินเทอร์เฟซการแสดงมุมมอง 3 มิติเต็มรูปแบบในขณะที่บางรุ่นนั้นมีความสามารถน้อยกว่า

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

หวังว่านี่จะช่วยได้!
-pbr

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.