Ini sebagian besar merupakan pertanyaan dokumentasi. Saya harap ini adalah tempat yang tepat untuk bertanya dan tidak, misalnya, programmer atau stackoverflow.
Saya tidak membaca spesifikasi OpenGL, tetapi dari buku (Buku Merah) dan berbagai tutorial, saya tidak dapat memahami dengan benar bagaimana berbagai objek dan bagian API berinteraksi dan berhubungan.
Misalnya, saya tahu bahwa jika VAO terikat, maka mengikat VBO dan mengatur atribut akan menghasilkan VBO terikat ke VAO.
Tetapi ada banyak objek, hubungannya mungkin berbeda. Misalnya, VAO sama sekali tidak terkait dengan program naungan saat ini, tetapi hasil dari operasi menggambar mungkin tergantung pada keduanya.
Di antara semua berbagai komponen OpenGL, saya bisa melihat beberapa hubungan seperti A-binds-to-B atau A-dan-B-digunakan-oleh-C. Semua hubungan ini sepakat dalam menentukan bagaimana seseorang dapat mengubah keadaan konteks, bagaimana dapat mengubah hal-hal, bagaimana cara menyelamatkan hal-hal bersama dan mengoptimalkan.
Saya mencari sumber daya yang menjelaskan hubungan ini saja . Seperti diagram UML, grafik, atau bahkan dokumen teks, yang tidak fokus tentang panggilan, tetapi menjelaskan secara ringkas bagaimana berbagai komponen OpenGL berinteraksi dan saling berhubungan satu sama lain.
Apakah Anda tahu di mana menemukan sumber daya seperti itu?
sumber
glVertexAttribPointer()
. Diagram untuk objek OpenGL akan cukup dangkal dan sederhana, sebenarnya tidak ada lebih dari beberapa objek berbeda di OpenGL. VAO menggunakan buffer untuk atribut. Tekstur penyangga didukung oleh buffer. Framebuffer memiliki lampiran tekstur. Perintah menggambar menggunakan VAO saat ini, program saat ini, framebuffer saat ini, pengaturan sampler saat ini, dan buffer indeks saat ini / buffer tidak langsung. Anda mungkin bisa menggambar diagram sendiri.;)
(seluruh API adalah satu kekacauan besar data global)Jawaban:
Jadi, saya mencoba melukis diagram saya sendiri. Ini tidak komprehensif, sebagian besar karena saya tidak menarik dalam beberapa hal sekarang, tetapi juga karena saya ingin itu dapat dibaca (bahkan jika itu bukan grafik yang ditentukan secara formal, saya pikir itu harus mudah dibaca).
Juga, karena tampaknya menarik bagi sebagian orang, saya ingin membagikannya di sini untuk mendapatkan umpan balik dan memeriksanya. Saya menggunakan wiki OpenGL sebagai referensi untuk memeriksa kebenarannya, tetapi saya mungkin telah melakukan kesalahan.
Juga, jika informasi yang diberikan tidak cukup untuk Anda, atau saya meninggalkan hubungan penting yang layak untuk dimasukkan dalam diagram, jangan ragu untuk menyarankannya, dan saya akan mencoba untuk tetap memperbaruinya.
Sekali lagi, silakan melaporkan kesalahan, masalah, atau saran, mereka disambut dengan hangat.
EDIT
sumber