Computer >> Máy Tính >  >> Lập trình >> lập trình C

Phương thức A-Buffer trong C / C ++?

Kỹ thuật A-Buffer trong đồ họa máy tính là một cơ chế nhận diện khuôn mặt ẩn đơn giản được sử dụng cho các máy tính có bộ nhớ ảo quy mô trung bình. Kỹ thuật này còn được gọi là bộ đệm tích lũy hoặc bộ đệm chống răng cưa hoặc khu vực trung bình. Kỹ thuật này mở rộng thuật toán của kỹ thuật đệm sâu (hoặc Z Buffer). Vì kỹ thuật bộ đệm độ sâu chỉ có thể được thực hiện cho đối tượng không trong suốt nhưng không cho đối tượng trong suốt, nên kỹ thuật bộ đệm A mang lại lợi thế trong trường hợp này. Mặc dù kỹ thuật đệm A yêu cầu nhiều bộ nhớ hơn, nhưng các màu bề mặt khác nhau có thể được tạo ra một cách chính xác khi thực hiện nó. Là hậu duệ của thuật toán Z-buffer, mỗi vị trí trong bộ đệm có thể xác định vị trí hoặc tham chiếu đến danh sách liên kết của các bề mặt. Cấu trúc dữ liệu chính trong bộ đệm A được coi như bộ đệm tích lũy.

Mỗi vị trí trong bộ đệm A chứa 2 trường -

  • Trường cường độ hoặc trường dữ liệu bề mặt

  • Trường độ sâu

Trường độ sâu lưu trữ một số thực âm hoặc dương. Trường dữ liệu bề mặt có thể lưu trữ một con trỏ đến danh sách liên kết của các bề mặt đóng góp vào vị trí pixel đó hoặc thông tin cường độ bề mặt.

Nếu giá trị của độ sâu> =0, số được lưu tại vị trí đó là độ sâu của bề mặt đơn chồng lên vùng pixel tương ứng. Trường thứ hai, tức là trường cường độ sau đó lưu trữ các thành phần RGB của màu bề mặt tại điểm đó và phần trăm độ phủ pixel.

Theo độ sâu <0, đóng góp của nhiều bề mặt vào cường độ pixel được chỉ ra. Trường thứ hai, có nghĩa là, trường cường độ sau đó có thể lưu trữ một con trỏ đến danh sách dữ liệu bề mặt được liên kết.

Kỹ thuật đệm hơi tốn kém hơn kỹ thuật đệm Z vì nó cần nhiều bộ nhớ hơn so với kỹ thuật đệm Z. Ở đây, độ sâu và độ mờ được triển khai để xác định màu cuối cùng của pixel.

Bộ đệm bề mặt trong phương pháp đệm A bao gồm -

  • Số nhận dạng bề mặt

  • Độ sâu

  • Phần trăm phạm vi khu vực

  • Tham số Opacity

  • Trỏ tới bề mặt tiếp theo

  • Các thành phần cường độ RGB

Ưu điểm khác của kỹ thuật đệm A là nó cung cấp khả năng khử răng cưa ngoài những gì Z-đệm thực hiện.