Tôi cần nối tiếp một đối tượng kết cấu OpenGL tùy ý để có thể khôi phục lại sau đó với trạng thái và dữ liệu giống hệt nhau .Làm cách nào để lấy dữ liệu kết cấu thô (không được chuyển đổi) trong OpenGL?
Tôi đang tìm cách lấy dữ liệu hình ảnh kết cấu. Dưới đây là những gì tôi đã tìm thấy cho đến thời điểm này:
Có
glGetTexImage
.Nó cho phép để nhận được hình ảnh kết cấu, nhưng nó đòi hỏi một cặp dạng/loại cụ thể (như (
GL_RGB
,GL_HALF_FLOAT
) mà nó thực hiện chuyển đổi.Các định dạng cho phép và các loại bản đồ không 1 : Mặc dù vậy, các định dạng hình ảnh 1 sẽ không cho phép nhận các định dạng tối nghĩa hơn như
GL_R3_G3_B2
mà không cần chuyển đổi bổ sung. .Có
ARB_internalformat_query2
cho phép yêu cầuGL_GET_TEXTURE_IMAGE_FORMAT
vàGL_GET_TEXTURE_IMAGE_TYPE
đại diện cho các lựa chọn tốt nhất choglGetTexImage
cho một kết cấu nhất định.Tốt, nhưng bị hạn chế giống như
glGetTexImage
và không có sẵn rộng rãi.Cótuyệt vời trả về dữ liệu của kết cấu nén một cách thanh lịch, nhưng nó không hoạt động đối với hình ảnh không nén cũng như không có đối tác.
Không ai trong số này cho phép nhận hoặc đặt dữ liệu thô cho kết cấu không bị nén. Là có một cách?
Danke schön! Bây giờ tôi biết những gì tôi đang đối phó với. Tôi đã [đặt một số nỗ lực để đưa * điều này * lại với nhau] (https://gist.github.com/Kos/4739337) và tôi, er, mong được thử nghiệm nó. Và tôi không thể tìm thấy các kết quả phù hợp nhất cho một số định dạng như RGB10 hoặc RGBA2. Tôi ước tôi đã có 'ARB_internalformat_query2' để xác minh tất cả điều đó một cách dễ dàng ... – Kos