Tôi biết rằng hầu hết các GPU hiện đại, mặc dù được thiết kế cho điểm nổi, ít nhiều tương đương với hiệu suất số nguyên ngày nay, với một vài cảnh báo như thiếu phần bổ sung nhân được hợp nhất. Tôi không chắc làm thế nào điều này áp dụng cho các hoạt động thay đổi mặc dù. Tôi đang thực hiện Marching Cubes trên GPU, ban đầu viết ra một vị trí đóng gói 32 bit cho mỗi khối bề mặt sau đó giải nén chúng trong một lần sau để chuyển đến các đỉnh thực tế trong khối đó, như sau:
ivec3 unpackedPos = ivec3( packedPos >> 20 & 0x3FF,
packedPos >> 10 & 0x3FF,
packedPos & 0x3FF);
Nó chỉ xảy ra với tôi để tự hỏi nếu các đơn vị shader có người thay đổi thùng trong những ngày này? Tôi đang làm 2 ca ở đây hay 30?
EDIT >> Tôi là một thằng ngốc ... Cảm ơn những người trả lời, rất hữu ích khi biết, nhưng tôi đã sai về điều này. Tôi chỉ nên sử dụng định dạng kết cấu RGB10_A2UI sau đó đóng gói / giải nén với một lệnh tải / lưu trữ hình ảnh duy nhất thay vì tự loay hoay với bithifts.
RE_EDIT >> Hoặc không ... Phương pháp này rõ ràng hoạt động trên các hộp màu đỏ nhưng không phải trên các hộp màu xanh lá cây, vì vậy nó trở lại với dịch chuyển bit.