2011-09-28 16 views
14

sự khác biệt giữa các chức năng glGenBuffers()/glBufferData()/etc, và các chức năng với ARB nối vào tên hàm glGenBuffersARB()/glBufferDataARB()/etc là gì. Tôi đã thử tìm kiếm xung quanh nhưng không ai chỉ ra sự khác biệt, chỉ đơn thuần là họ chỉ sử dụng một hoặc khác.OpenGL: glGenBuffer vs glGenBuffersARB

Ngoài ra, có thường xảy ra cho một trong hai chức năng không khả dụng trên một số máy tính không? Cách phổ biến nhất để vượt qua tình huống như thế mà không rơi trở lại chế độ ngay lập tức là gì?

Trả lời

20

glGenBuffers() là chức năng OpenGL cốt lõi trong OpenGL 1.5 trở lên; glGenBuffersARB() là một tiện ích mở rộng triển khai cùng chức năng trong các phiên bản trước đó.

Trừ khi bạn đang phát triển cho một hệ thống cổ xưa, không còn lý do nào để sử dụng phần mở rộng ARB.

+2

glGetString (GL_VERSION) có thể hỗ trợ phiên bản OGL. Bạn không nên lo lắng về khả năng tương thích 1,5 và 2,0 - các phiên bản OpenGL, 3.0 và 4.0 mới hơn, gây ra các vấn đề lớn hơn nhiều. – Pubby

+0

@ Pubby8, Duskwuff - cảm ơn bạn! –

Các vấn đề liên quan