Đây chủ yếu là một câu hỏi tài liệu. Tôi hy vọng đây là nơi thích hợp để hỏi và không, ví dụ, lập trình viên hoặc stackoverflow.
Tôi không đọc đặc tả OpenGL, nhưng từ sách (Sách đỏ) và hướng dẫn khác nhau, tôi không thể nắm bắt chính xác cách các đối tượng và các phần khác nhau của API tương tác và liên quan.
Ví dụ: tôi biết rằng nếu VAO bị ràng buộc, thì ràng buộc VBO và đặt thuộc tính sẽ dẫn đến việc VBO bị ràng buộc với VAO.
Nhưng có nhiều đối tượng, mối quan hệ của họ có thể khác nhau. Ví dụ, VAO hoàn toàn không liên quan đến chương trình tô bóng hiện tại, nhưng kết quả của các hoạt động vẽ có thể phụ thuộc vào cả hai.
Trong số tất cả các thành phần OpenGL khác nhau, tôi có thể thấy một số mối quan hệ như A-binds-to-B hoặc A-and-B-are-used-by-C. Tất cả các mối quan hệ này đồng ý trong việc xác định cách người ta có thể thay đổi trạng thái của bối cảnh, làm thế nào có thể thay đổi mọi thứ, làm thế nào có thể lưu mọi thứ lại với nhau và tối ưu hóa.
Tôi đang tìm kiếm các nguồn lực giải thích chỉ những mối quan hệ này. Giống như sơ đồ UML, biểu đồ hoặc thậm chí là tài liệu văn bản, không tập trung vào các cuộc gọi, nhưng mô tả một cách gọn nhẹ cách các thành phần OpenGL khác nhau tương tác và liên kết với nhau.
Bạn có biết nơi để tìm một tài nguyên như vậy?
glVertexAttribPointer()
. Sơ đồ cho các đối tượng OpenGL sẽ khá nông và đơn giản, thực tế không có nhiều hơn một số đối tượng khác nhau trong OpenGL. VAO sử dụng bộ đệm cho các thuộc tính. Kết cấu bộ đệm được hỗ trợ bởi bộ đệm. Framebuffers có đính kèm kết cấu. Các lệnh vẽ sử dụng VAO hiện tại, chương trình hiện tại, bộ đệm khung hiện tại, cài đặt bộ lấy mẫu hiện tại và bộ đệm chỉ mục hiện tại / bộ đệm gián tiếp. Bạn có thể có thể tự vẽ sơ đồ.
;)
(toàn bộ API là một mớ dữ liệu toàn cầu khổng lồ)