ฉันเรียนรู้ไปป์ไลน์เรนเดอร์ที่สามารถตั้งโปรแกรมได้โดยการใช้เรนเดอร์ซอฟต์แวร์ตัวเล็ก ๆ ฉันพยายามใช้มันในรูปแบบ 'ฮาร์ดแวร์' อย่างไรก็ตามฉันไม่คุ้นเคยกับขั้นตอนการทำงานของ GPU และมีปัญหาในการตัดเป็นเนื้อเดียวกัน
พื้นที่การตัดที่เป็นเนื้อเดียวกันประกอบด้วยตัวแปรwซึ่งมีความหลากหลายในแต่ละจุดยอด พิกัดจุดที่เป็นเนื้อเดียวกันของวัตถุแต่ละอัน (ระหว่างเมทริกซ์การฉายและการหารแบบเอกพันธ์ด้วย w) ที่พื้นที่การตัดของมันหรือไม่? ถ้าเป็นเช่นนั้นวิธีการตัดเส้นและสามเหลี่ยมใกล้กว่า Frustum หรือยืดตัวกล้อง (เช่น w <= frustum_znear)?
ปรับปรุง : กระทู้นี้บอกว่าการตัดในพื้นที่ที่เป็นเนื้อเดียวกันนั้นเป็นปัญหาการแยกโดยตรงในพื้นที่ที่เป็นเนื้อเดียวกัน 4D p_vec4 = t * point1_vec4 + (1 - t) * point2_vec4
ซึ่งหมายความว่าจุดตัดคือ บอกว่าฉันมีP0(-70, -70, 118, 120)
และP1(-32, -99, -13, -11)
ในพื้นที่ที่เป็นเนื้อเดียวกัน 4D และจุดตัดกับplane w = -z
(ซึ่งใน NDC คือ z = -1) คือ(-35, -96, -1, 0.9) t = 0.99
ทำอย่างไรถึงจะได้รับวัตถุจุดสุดยอดที่สอดคล้องกันในพื้นที่ NDC?
และเมื่อฉันได้รับจุดตัดที่ถูกต้องฉันควรทำการแก้ไขระหว่างวัตถุจุดยอดที่สร้างโดยจุดยอด shader เพื่อรับวัตถุจุดสุดยอดใหม่หรือไม่