Bu çoğunlukla bir dokümantasyon sorusudur. Umarım burası sormak için uygun bir yerdir, örneğin programcılar veya yığın akışı.
OpenGL spesifikasyonunu okumadım, ancak kitaplardan (Kırmızı Kitap) ve çeşitli öğreticilerden, API'nin farklı nesnelerinin ve bölümlerinin nasıl etkileşime girdiğini ve ilişkisini doğru bir şekilde kavrayamıyorum.
Örneğin, bir VAO bağlıysa, bir VBO'nun bağlanması ve bir özniteliğin ayarlanmasının VBO'nun VAO'ya bağlı olmasına neden olacağını biliyorum.
Ancak birçok nesne var, ilişkileri değişebilir. Örneğin, VAO mevcut gölgeleme programı ile tamamen ilgisizdir, ancak çizim işlemlerinin sonucu her ikisine de bağlı olabilir.
Tüm çeşitli OpenGL bileşenleri arasında, A-B'ye-B veya A-ve-B-C-tarafından-kullanılan-bazı-ilişkiler görebiliyorum. Tüm bu ilişkiler, kişinin bağlamın durumunu nasıl değiştirebileceğini, şeyleri nasıl değiştirebileceğini, işleri birlikte nasıl kaydedebileceğini ve optimize edebileceğini belirlemeye katılıyor.
Sadece bu ilişkileri açıklayan kaynaklar arıyorum . Çağrılara odaklanmayan, ancak çeşitli OpenGL bileşenlerinin birbirleriyle nasıl etkileşime girdiklerini ve birbirleriyle nasıl ilişkili olduklarını anlatan bir UML diyagramı, bir grafik veya hatta bir metin belgesi gibi.
Böyle bir kaynağı nerede bulacağınızı biliyor musunuz?
glVertexAttribPointer()
. OpenGL nesneleri için diyagram oldukça sığ ve basit olacaktır, aslında OpenGL'de bir avuç farklı nesneden daha fazlası yoktur. VAO'lar öznitelikler için tamponlar kullanır. Tampon dokuları tamponlarla desteklenir. Çerçeve tamponlarının doku ekleri vardır. Çizim komutları geçerli VAO'yu, geçerli programı, geçerli çerçeve arabelleğini, geçerli örnekleyici ayarlarını ve geçerli dizin arabelleğini / dolaylı arabelleği kullanır. Diyagramı muhtemelen kendiniz çizebilirsiniz.
;)