Tutorial

▷ Opengl: apa itu dan apa untuknya

Isi kandungan:

Anonim

Pernahkah anda mendengar tentang OpenGL ? Ia dengan cepat menjadi API grafik masa nyata yang terkemuka di industri kerana ia pada asasnya satu-satunya yang tersedia di pelbagai platform. Hari ini, kami membawa anda artikel ini di mana kami menerangkan OpenGL dan apakah itu.

Indeks kandungan

Sejarah

Pada tahun 80 - an, perisian pembangunan yang serasi dengan pelbagai perkakasan yang berkaitan dengan dunia grafik adalah cabaran sebenar bagi pemaju. Anda perlu berurusan dengan antara muka yang sangat berbeza dan menulis pemacu khusus untuk setiap jenis perkakasan, yang sangat mahal, oleh itu, pasukan pengaturcara telah disumber luar untuk mempercepat pembangunan. Oleh kerana setiap pasukan bekerja secara berasingan di antara muka mereka, banyak kod berlebihan telah dihasilkan. Pada tahun 1992 SGI mengetuai pembentukan OpenGL Architecture Review Board (OpenGL ARB), sekumpulan syarikat yang akan mengekalkan dan memperluaskan spesifikasi pada tahun-tahun berikutnya. OpenGL berevolusi dari IRIS GL, mengatasi masalah pergantungan perkakasan dengan menawarkan emulasi perisian untuk ciri-ciri yang tidak disokong itu. Oleh itu, aplikasi boleh menggunakan grafik canggih pada sistem yang agak lemah.

Untuk memahami apa OpenGL adalah pertama kita perlu tahu API apa.

Memahami OpenGL, apakah API?

Antara Muka API atau Aplikasi Pemrograman adalah satu set kod yang boleh digunakan untuk pelbagai aplikasi untuk berkomunikasi antara satu sama lain. Ia adalah sesuatu yang melaksanakan tugas yang serupa dengan antara muka pengguna dalam mempromosikan interaksi antara orang dan program, hanya digunakan hanya dan secara eksklusif dalam persekitaran perisian. Ia digunakan untuk menyambungkan kod atau fungsi antara platform yang berlainan, supaya anda dapat memanfaatkan perkhidmatan satu laman web yang lain.

Apakah OpenGL?

Ini terutamanya dianggap sebagai API yang menyediakan kita dengan pelbagai fungsi yang boleh kita gunakan untuk memanipulasi grafik dan imej 3D dan 2D. Walau bagaimanapun, ia bukan semata-mata API, tetapi satu spesifikasi, dibangunkan dan dikekalkan oleh Kumpulan Khronos. Ia juga digunakan untuk pembangunan permainan video, di mana ia bersaing dengan Direct3D di platform Microsoft.

Menentukan dengan tepat apakah keluaran setiap fungsi dan bagaimana ia berfungsi. Oleh kerana spesifikasi OpenGL tidak memberikan butiran pelaksanaan, versi yang dibangunkan sebenarnya mungkin mempunyai pelaksanaan yang berlainan, asalkan hasilnya mematuhi spesifikasi (dan karenanya adalah sama bagi pengguna).

Pemaju perpustakaan OpenGL biasanya pengeluar kad grafik. Setiap GPU menyokong versi tertentu API ini, yang merupakan versi OpenGL yang dibangunkan khusus untuk kad grafik itu. Sebagai contoh, apabila menggunakan sistem dari syarikat seperti Apple, mereka mengekalkan pustaka OpenGL dan, di bawah Linux, terdapat kombinasi versi penyedia grafik dan penyesuaian untuk perpustakaan-perpustakaan ini. Ini mungkin bermaksud bahawa setiap kali OpenGL memaparkan tingkah laku aneh yang tidak seharusnya, kemungkinan besar kesalahan pengeluar kad grafik. Apabila terdapat ralat dalam pelaksanaannya, ia biasanya diselesaikan dengan mengemaskini pemacu kad grafik. Pemandu tersebut termasuk versi terkini yang menyokong GPU anda. Oleh sebab itu, selalu disyorkan untuk mengemas kini pemandu.

Matlamat OpenGL

Objektif utama adalah:

  • Kurangkan kerumitan antara muka dengan kad grafik yang berbeza , menyampaikan programmer dengan API unik dan seragam. Sembunyikan keupayaan yang berlainan dari berbagai platform perkakasan , yang memerlukan semua implementasi menyokong set lengkap ciri OpenGL (menggunakan emulasi perisian jika perlu).

Operasi asas OpenGL adalah untuk menerima tindakan - tindakan primitif seperti titik, garisan, dan poligon, dan mengubahnya menjadi piksel. Proses ini dilakukan oleh saluran paip grafik yang dikenali sebagai Mesin Negeri OpenGL. Kebanyakan arahan OpenGL mengeluarkan operasi primitif kepada segmen grafik. Sehingga pembebasan versi 2.0, setiap peringkat penyepaduan dijalankan dalam fungsi yang ditetapkan, yang menyebabkan sedikit konfigurasi. Sehingga versi ini, beberapa peringkat boleh diprogram sepenuhnya menggunakan GLSL.

Pelanjutan

Ciri hebat yang menarik adalah sokongan lanjutannya. Apabila sebuah syarikat GPU memperkenalkan teknologi baru atau cara pengoptimuman baru untuk menghasilkan imej 3D , ia adalah dalam lanjutan yang dilaksanakan dalam pemandu. Jika perkakasan di mana aplikasi berjalan menyokong sambungan ini, pemaju boleh menggunakan fungsi yang disediakan oleh pelanjutan untuk mendapatkan grafik yang lebih maju atau cekap. Dengan cara ini, pemaju permainan video boleh menggunakan teknik rendering baru ini tanpa perlu menunggu OpenGL untuk menyertakan fungsi dalam versi masa depan, hanya dengan memeriksa sama ada kad grafik menyokong pelanjutan. Sering kali, apabila pelanjutannya menjadi popular atau sangat berguna, ia akhirnya menjadi sebahagian daripada versi OpenGL yang akan datang.

KAMI MEREKOMENDASIKAN ANDA Mad Max melepaskan sokongan untuk Vulkan dalam beta awam barunya untuk Linux

Evolusi OpenGL

Pada bulan Mac 2015, API Vulkan diperkenalkan sebagai pengganti kepada OpenGL pada Persidangan Pemaju Permainan. Pada mulanya dikenali sebagai "Next Generation OpenGL" atau "glNext", antara muka pengaturcaraan adalah sumber terbuka dan cross-platform. Perbezaan dengan OpenGL ialah perhatian yang lebih banyak diberikan kepada perkakasan semasa pengaturcaraan, yang secara signifikan meningkatkan kuasa. Sesetengah permainan PC sudah menyokong Vulkan, tetapi kebanyakan menggunakan DirectX. Vulkan juga dibangunkan oleh Kumpulan Khronos.

Kami mengesyorkan membaca kad grafik terbaik di pasaran.

Setakat ini artikel kami mengenai OpenGL, mudah-mudahan anda telah memahami apa yang ada dan lebih. Bagaimanapun, anda boleh meninggalkan apa-apa soalan di dalam komen.

Tutorial

Pilihan Editor

Back to top button