Tôi có phải lo lắng về kết xuất dựa trên quad trong các kịch bản trong thế giới thực không?


9

Hầu hết thời gian trong các chương đầu tiên của một cuốn sách ngẫu nhiên về kỹ thuật rasterization và render, tôi tìm thấy một số cụm từ về hệ thống kết xuất dựa trên hình tam giác và một hệ thống dựa trên hình tứ giác.

Tôi chưa bao giờ gặp phải GPU hoặc đường ống dựa trên bốn. Tôi có phải lo lắng về điều đó khi giao dịch với OpenGL 3.0+ hay đó chỉ là công cụ kế thừa?

Câu trả lời:


9

Không, bạn không. Tất cả các GPU hàng hóa thế hệ hiện tại chỉ sử dụng (và đã sử dụng một thời gian) các phương pháp rasterization dựa trên tam giác độc quyền. Mặc dù phiên bản OpenGL cũ hơn hỗ trợ GL_QUADSchế độ kết xuất, những phiên bản này đã được chuyển đổi thành hình tam giác bằng GPU hàng hóa. Có vẻ như điều đó GL_QUADSchỉ dẫn đến việc rasterization dựa trên tứ giác thực tế trên phần cứng hoặc phần cứng học thuật bí truyền được sử dụng để kết xuất 3D ngoại tuyến cao cấp vào đầu những năm 80 hoặc 90 (Tôi không có bằng chứng để hỗ trợ cho tuyên bố này, tôi chỉ đang đăng bài).

Điều đó nói rằng, nhìn vào tứ giác (và nói chung, rasterization đa giác khác với rasterization tam giác) vẫn có thể mang tính giáo dục, và do đó hữu ích, chỉ đơn giản bằng cách cung cấp một quan điểm khác về mọi thứ. Các thuật toán liên quan đến việc thực hiện một cách hiệu quả rất thú vị và đôi khi vẫn có các ứng dụng ngoài lập trình đồ họa. Tôi đã từng sử dụng một kỹ thuật rasterization đa giác đi bộ cạnh như một phương tiện để thực hiện một mô phỏng nước 2D giả đơn giản, ví dụ.

Nó cũng có thể giúp bạn hiểu lý do tại sao rasterization tam giác là tốt hơn, một phần là do tính chất không phẳng của các đa giác khác với tam giác và do một số tối ưu hóa kết quả bạn có thể thực hiện với các tam giác.


7

Nếu bạn đang sử dụng API kết xuất, thì bạn chỉ cần lo lắng về những gì API đó bảo bạn lo lắng. OpenGL không nói gì về hệ thống kết xuất dựa trên hình tứ giác hoặc hình tam giác. Vì vậy, bạn không cần phải quan tâm đến nó với nó.

Trong mọi trường hợp, tất cả các GPU cấp độ người tiêu dùng đều sử dụng hình tam giác, không phải hình tứ giác.


Tôi đang bối rối, vậy tại sao lại nói về điều này trong một cuốn sách OpenGL nếu API OpenGL dựa trên giả định rằng mô hình được hình thành bởi các hình tam giác?
dùng827992

4
@ user827992: Đừng hỏi tôi; rất nhiều sách có thông tin thừa trong đó. Bạn thậm chí chưa bao giờ nói "cuốn sách ngẫu nhiên" nào bạn đã tìm thấy nó. Đây thực sự là một cuốn sách về OpenGL hay đó là một cuốn sách về đồ họa sử dụng OpenGL?
Nicol Bolas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.