Untuk melatih algoritma pembelajaran mesin, kita perlu membuat beberapa geometri dalam OpenGL tanpa dukungan render perangkat keras (tidak ada kartu grafis). Jadi kami berpikir untuk merender dalam perangkat lunak murni, dan kami telah melihat Mesa. Sepertinya ia mampu merender dalam perangkat lunak murni, tetapi sejauh ini, kami hanya mendapatkan OpenGL 2.x, sedangkan kami membutuhkan OpenGL 3.3.
Adakah yang tahu kalau itu mungkin? dan jika demikian, bagaimana? Kami tampaknya mengalami hambatan sepanjang waktu.
(Latar belakang, mengapa kami ingin melakukan itu: untuk melatih algoritma pembelajaran, kami perlu melakukan banyak menjalankan perangkat lunak kami pada PC cluster, yang tidak memungkinkan rendering dalam perangkat keras.)
Petunjuk, ide, dan petunjuk apa pun akan dihargai.
sumber
Jawaban:
Saya bingung dengan kebutuhan Anda. Apakah Anda menjalankan kode pada PC atau sistem tertanam? Jika Anda menjalankan apa pun yang tampak seperti PC, "semua dukungan render perangkat keras" pada dasarnya tidak benar. Minimal Anda memiliki beberapa barang terintegrasi Intel. Saya belum melihat sistem tanpa kepala yang secara fisik tidak memiliki chip video.
Pada sistem tanpa kepala Anda dapat membuat tanpa jendela, bagaimana melakukan ini dengan GLX Anda dapat melihat detailnya di OpenGL Tanpa Jendela . Bagaimanapun perangkat keras yang paling jelek pun akan lebih efisien daripada penyaji perangkat lunak.
Jika Anda benar-benar dalam keadaan darurat dan sama sekali tidak memiliki perangkat keras grafis, Anda dapat menggunakan sesuatu seperti VirtualGL .
Tetapi jika Anda mensintesis gambar dalam perangkat lunak menggunakan OpenGL adalah semacam mundur. OpenGL dirancang di sekitar batasan keras perangkat keras grafis. Hasilnya adalah bahwa ada batasan build yang signifikan yang sengaja dapat diabaikan ketika rendering dalam perangkat lunak. Selain itu algoritma raster tidak terlalu efisien saat menggunakan perangkat keras saat ini. Pelacakan sinar orde pertama bisa lebih efisien dan mudah melumpuhkan banyak inti. Mungkin Anda bisa melihat sesuatu seperti PovRay .
sumber
Tampaknya hanya OpenGL 2.x yang didukung sepenuhnya oleh perender perangkat lunak di Mesa.
Namun, jawaban ini menunjukkan, bahwa sebagian besar fungsi OpenGL 3.x didukung melalui ekstensi. Jadi, Anda mungkin ingin mencobanya.
sumber