Cruise Membuka Kode Sumber Worldview

Dalam Cruise Automation, ratusan insinyur dan penguji bekerja dengan data yang dikumpulkan di jalan dan melalui simulator. Juga, perintah internal khusus AV Tools membuat aplikasi untuk memvisualisasikan, mencari, dan menganalisis data ini. Setelah semua, pengguna dan pengembang harus memahami apa yang "dilihat" mobil dan apa yang akan dilakukan, termasuk awan titik-titik dari lidar, ratusan objek yang diklasifikasikan dan dilacak, peta terperinci dan data lainnya untuk visualisasi.

Seperti banyak tim lain di Cruise , tim AV Tools menciptakan alat visualisasi di browser, dan di sini Bereaksi adalah standar dalam perusahaan. Untuk mengurangi kerumitan aplikasi perusahaan dan memfasilitasi proses pembuatan sistem visualisasi yang kompleks, tim menciptakan perpustakaan reaksi menyederhanakan rendering adegan 2D dan 3D, yang disebut Worldview (Uber sebelumnya merilis alat serupa yang disebut AVS ).

gambar

Webgl itu kejam


Pemrograman GPU menawarkan peluang besar, tetapi bisa membosankan untuk dipelajari. Peramban modern menyediakan API yang kuat untuk menyusun dan menautkan shader, memuat buffer titik dan tekstur, serta objek - tetapi semua ini sangat sulit untuk dikuasai, dikembangkan, dan didebug. Sepanjang pekerjaan, tim AV Tools bereksperimen dengan kerangka kerja yang berbeda di atas WebGL.

gambar Diputuskan untuk memikirkan regl , perpustakaan yang menyembunyikan kompleksitas bekerja dengan WebGL di belakang API sederhana dan ringan yang mengubah alat peraga menjadi primitif tingkat rendah dan menyederhanakan render - hampir seperti Bereaksi menggunakan alat peraga dan keadaan untuk abstrak dari DOM.

regl menyediakan antarmuka yang sangat mirip dengan React, tetapi pada saat yang sama menyediakan akses penuh ke fitur WebGL seperti tekstur, pembingkai bingkai, dan instantiasi. Alat ini memungkinkan kami untuk fokus pada pengembangan fungsionalitas, alih-alih menggali di dalam WebGL.

Cinta pelayaran bereaksi


Banyak tim pengembangan Cruise front-end yang mulai menggunakan regl rendering dalam proyek mereka dengan cepat menyadari bahwa beberapa pola reaksi sulit untuk didukung di API regl. Terlepas dari paradigma alat peraga yang serupa, beberapa aspek GL membutuhkan penciptaan visualisasi khusus dan integrasi efektif ke dalam sistem rendering kami.

gambar

Untuk lebih menyederhanakan proses pengembangan, pengembang diabstraksi dari kode templat yang menyediakan gambar bentuk standar dan tipe data dalam regl dengan membuat pustaka komponen reaksi. Ini memungkinkan tim lain untuk tidak menemukan kembali sepeda motor mereka, tetapi menggunakan batu bata yang sudah jadi.

Perpustakaan disebut Worldview . Ini memberikan kamera 2D dan 3D, kontrol mouse dan keyboard, dan alat untuk menggambar objek dan adegan. Berkat itu, para insinyur Cruise dapat dengan mudah membuat sistem visualisasi mereka sendiri, tanpa harus terjun ke studi API WebGL tingkat rendah dan menulis pembungkus mereka sendiri untuk mereka.

Membuka sumber Worldview


Awalnya, Worldview dikombinasikan erat dengan sistem visualisasi milik Cruise. Namun, ketika sistem bertambah tua, diputuskan untuk memisahkannya menjadi perpustakaan terpisah di bawah lisensi Apache 2.0. Cruise berharap Worldview akan menurunkan ambang entri WebGL untuk banyak orang dengan menyediakan pengembang web dengan alat sederhana untuk rendering adegan kompleks.

gambar

Apa selanjutnya


Cruise akan terus mengembangkan dan memperbarui kode untuk Worldview dan perpustakaan visualisasi lainnya. Pengembang senang dengan bantuan dari luar - permintaan tarik diterima.

Source: https://habr.com/ru/post/id441398/


All Articles