Sự khác biệt giữa một đỉnh và một mảnh trong đồ họa máy tính là gì?


Câu trả lời 1:

Một đỉnh là đơn vị hình học. Nó có thể có các thuộc tính như vị trí, màu sắc, tọa độ kết cấu, bình thường, tiếp tuyến, bitangent, v.v. Trong đường ống đồ họa, dữ liệu đỉnh được truyền vào, cùng với thông tin về cách xây dựng nguyên thủy từ chúng, chẳng hạn như điểm, đường hoặc hình tam giác.

Ví dụ, để tạo một bức tường phẳng, bạn có thể vượt qua sáu đỉnh tương ứng với các điểm trên hai hình tam giác. Tuy nhiên, một số dữ liệu này là dư thừa, vì các hình tam giác có chung một cạnh, vì vậy các điểm trên cạnh được truyền qua hai lần. Đó là một sự lãng phí và lãng phí là xấu.

Vì vậy, để hiệu quả hơn, bạn có thể thay thế dữ liệu cho bốn đỉnh (các điểm duy nhất của hình chữ nhật) và cũng truyền vào một mảng gồm sáu chỉ số để tạo hai hình tam giác, đó là tra cứu vào dữ liệu đỉnh. Có nhiều cách hơn để làm điều đó, chẳng hạn như dải tam giác và quạt tam giác, vì vậy nó có thể hơi phức tạp, nhưng đó là ý tưởng cơ bản.

Sau khi các nguyên thủy được tạo ra, chúng được biến đổi bởi shader đỉnh và sau đó được cắt vào màn hình. Chúng có thể được chia thành một số nguyên thủy hoặc thậm chí bị loại bỏ hoàn toàn, bằng cách hoàn toàn ngoài màn hình hoặc do không loại bỏ mặt sau.

Cuối cùng, đối với những người nguyên thủy đã vượt qua giai đoạn tiêu hủy, sau đó chúng được raster thành những mảnh vỡ. Đây là quá trình nói, lấy một hình tam giác và xử lý tất cả các pixel của màn hình mà nó bao phủ. Đây là những mảnh vỡ và rasteriser đã nội suy một cách hữu ích tất cả các tham số khác nhau từ các đỉnh nguyên thủy.

Và do đó, các mảnh này được xử lý bởi shader mảnh, để tìm ra màu cuối cùng của pixel, có thể có nghĩa là tìm màu từ một kết cấu (sử dụng tọa độ kết cấu bị phá hủy), áp dụng trực tiếp màu nguyên thủy (được nội suy từ đỉnh màu sắc cho bóng mờ Gouraud) hoặc tính toán ánh sáng cho mọi pixel, (chẳng hạn như bóng đổ Phong).

GPU hiện đại rất linh hoạt ở chỗ bạn có thể tạo bất kỳ loại dữ liệu nào bạn muốn thực sự. Bạn không bị hạn chế bởi phần cứng như trong quá khứ. Bạn có thể chuyển bất kỳ loại dữ liệu nào bạn muốn thông qua và thực hiện bất kỳ loại xử lý nào trên các đỉnh hoặc các mảnh. Nó thậm chí còn phức tạp hơn, bởi vì bạn có những thứ như shader hình học, shader tàu và shader tính toán, điều này cho phép tạo ra nhiều hình học trực tiếp hơn và xử lý song song mục đích chung trên GPU.

Lưu ý: Một đoạn không hoàn toàn giống với pixel. Họ vẫn chưa trải qua một số thử nghiệm như kiểm tra độ sâu, stprint hoặc alpha để trở thành các pixel có thể xem được và khử răng cưa tạo ra nhiều mảnh hơn pixel và tính trung bình chúng với nhau. Tuy nhiên, đối với hầu hết các trường hợp đơn giản, chúng có thể được coi là tương đương. Chỉ cần lưu ý rằng chúng không hoàn toàn giống nhau.