Tôi cần hiển thị rất nhiều (hàng chục nghìn) hình ảnh ngoài màn hình bằng OpenGL.
Tôi đang chạy trong Windows và sử dụng QT làm khung. giải pháp có thể là cửa sổ duy nhất, nó không thực sự quan trọng.OpenGL: Hiển thị nhanh trên màn hình
Từ những gì tôi đã tìm thấy sử dụng Google có một số tùy chọn để làm This article này mà dường như khá ngày đề nghị một vài cách khác nhau, trong đó những người liên quan là:
- Windows cụ thể - Sử dụng
CreateDIBSection
và bằng cách nào đó liên kết kết cấu với nó. - Sử dụng tiện ích mở rộng pbuffers mà tôi dường như được hỗ trợ trên thẻ của mình.
This thread (tin nhắn 6) cho thấy một cách cụ thể QT để làm điều này bằng QGLWidget::renderPixmap
Câu hỏi của tôi là - cái nào sẽ là cách nhanh nhất? pbuffers có vẻ là đặt cược an toàn nhất vì nó được đảm bảo được thực hiện trên phần cứng nhưng không sử dụng phương thức CreateDIB cũng đi qua phần cứng? Còn phương pháp QT thì sao? dường như có một số vấn đề tạo bối cảnh với vấn đề này. chắc chắn tôi sẽ không muốn tạo ra một bối cảnh mới cho mọi hình ảnh tôi tạo ra.
Có ai có kinh nghiệm tốt với điều này không?
EDIT: Trả lời nhận xét -
Tôi có một cảnh liên tục mà không thay đổi chút nào và tôi đang làm cho nó từ nhiều quan điểm khác nhau. Bây giờ các hình ảnh quay trở lại người dùng và sẽ được xử lý bởi CPU. Có thể trong tương lai chúng sẽ được xử lý trên GPU.
Các hình ảnh đến từ đâu? Bạn có dựng lại cùng một cảnh lặp đi lặp lại, có lẽ từ các quan điểm khác nhau không? Hay bạn đang tải kết cấu sau khi kết cấu từ đĩa? Và hình ảnh đi đâu? Vào một tính toán gpu? Vào đĩa? Câu trả lời của bạn tùy thuộc vào chi tiết. – ejgottl
Đã trả lời trong câu hỏi – shoosh
Có thể liên kết này có thể hữu ích, ở đây tôi đã sử dụng các đối tượng khung hình chữ nhật với 'QGLFrameBuffer' http://stackoverflow.com/questions/19934102/qglwidget-and-fast-offscreen-rendering/ – linello