Rumah >hujung hadapan web >Tutorial H5 >Gambaran keseluruhan WebGL 3D dalam HTML5 (Bahagian 1)—Pembangunan asli WebGL membuka era baharu kemahiran tutorial rendering_html5 halaman web
WebGL membuka era baharu pemaparan 3D pada halaman web, yang membolehkan kandungan 3D dipaparkan terus dalam kanvas tanpa sebarang pemalam. WebGL adalah sama dengan API kanvas 2D Ia memanipulasi objek melalui skrip, jadi langkah-langkahnya pada asasnya serupa: sediakan konteks kerja, sediakan data, lukis objek dalam kanvas dan buatkannya. Perbezaan daripada 2D ialah 3D melibatkan lebih banyak pengetahuan, seperti dunia, cahaya, tekstur, kamera, matriks dan pengetahuan profesional yang lain. Terdapat tutorial bahasa Cina yang bagus tentang WebGL, yang merupakan pautan pertama dalam rujukan penggunaan di bawah, jadi saya tidak akan berbuat apa-apa mengenainya di sini Kandungan berikut hanyalah ringkasan ringkas kandungan pembelajaran.
Sokongan penyemak imbas
Memandangkan Microsoft mempunyai rancangan pembangunan grafiknya sendiri dan tidak menyokong WebGL, IE pada masa ini tidak dapat menjalankan WebGL kecuali untuk memasang pemalam. Untuk penyemak imbas arus perdana lain seperti Chrome, FireFox, Safari, Opera, dsb., cuma pasang versi terkini. Selain memasang pelayar terkini, anda juga perlu memastikan pemacu kad grafik juga dikemas kini.
Selepas memasang ini, anda boleh membuka penyemak imbas dan masukkan URL berikut untuk mengesahkan sokongan penyemak imbas untuk WebGL: http://webglreport.sourceforge.net/.
Jika anda masih tidak dapat menjalankan WebGL selepas memasang penyemak imbas di atas seperti biasa, anda boleh cuba memaksa sokongan WebGL untuk dihidupkan. Kaedah pembukaan adalah seperti berikut:
Pelayar Chrome
Kami perlu menambah beberapa parameter permulaan pada Chrome Langkah khusus berikut mengambil sistem pengendalian Windows sebagai contoh: Cari pintasan Chrome pelayar, klik kanan Kaedah pintasan, pilih sifat dalam kotak sasaran, selepas tanda petikan di belakang chrome.exe, tambah kandungan berikut:
Tutup Chrome selepas mengklik OK, kemudian gunakan pintasan ini untuk melancarkan penyemak imbas Chrome.
Maksud beberapa parameter adalah seperti berikut:
--enable-webgl bermaksud untuk mendayakan sokongan WebGL
--ignore-gpu-blacklist bermaksud mengabaikan senarai hitam GPU, yang bermaksud terdapat beberapa grafik; kad dan GPU Kerana ia terlalu lama dan sebab lain, tidak disyorkan untuk menjalankan WebGL Parameter ini membenarkan penyemak imbas mengabaikan senarai hitam ini dan memaksa WebGL untuk dijalankan
--benarkan-fail-akses-dari-fail untuk membenarkan sumber dimuatkan secara setempat Jika anda bukan pembangun WebGL dan tidak perlu membangunkan dan menyahpepijat WebGL, tetapi hanya ingin melihat Demo WebGL, maka anda tidak perlu menambah parameter ini.
Pelayar Firefox
Pengguna Firefox sila masukkan "about:config" dalam bar alamat penyemak imbas, tekan Enter, dan kemudian cari "webgl" dalam penapis (penapis) dan gantikan webgl Tetapkan .force-enabled kepada true; tetapkan webgl.disabled kepada false; cari "security.fileuri.strict_origin_policy" dalam penapis dan tetapkan security.fileuri.strict_origin_policy kepada false, kemudian tutup semua tetingkap Firefox yang sedang dibuka , mulakan semula Firefox.
Dua tetapan pertama adalah untuk memaksa sokongan WebGL dihidupkan, dan tetapan security.fileuri.strict_origin_policy yang terakhir adalah untuk membenarkan sumber dimuatkan daripada sumber tempatan Jika anda bukan pembangun WebGL, anda tidak perlu melakukannya membangun dan menyahpepijat WebGL, tetapi hanya ingin melihat Demo WebGL, maka anda tidak perlu menetapkan item ini.
Pelayar Safari
Cari "Properties" → "Advanced" dalam menu, pilih "Show Development Menu", kemudian pergi ke menu "Develop" dan pilih "Hidupkan WebGL".
Langkah Pembangunan
Kod berikut hanya meringkaskan konsep yang berkaitan Ia datang daripada tutorial bahasa Cina dalam rujukan dan melibatkan lebih banyak pengetahuan 3D. Pelajar yang berminat boleh melompat terus ke tutorial Bahasa Cina dalam Rujukan Praktikal, yang jauh lebih terperinci dan tepat daripada apa yang saya terangkan di sini. Pelajar yang menyertai keseronokan hanya boleh melihatnya tanpa menyelidiki maksud setiap baris kod.
Persediaan
Tidak perlu dikatakan, ini adalah untuk menambahkan elemen kanvas pada halaman sebagai bekas rendering. Contohnya:
Langkah 2: Mulakan Shaders - initShaders
Konsep shader adalah agak mudah, ini adalah arahan operasi kad grafik. Membina pemandangan 3D memerlukan sejumlah besar pengiraan warna, kedudukan dan maklumat lain Jika pengiraan ini dilakukan oleh perisian, kelajuannya akan menjadi sangat perlahan. Oleh itu, membiarkan kad grafik mengira operasi ini adalah sangat pantas; cara melakukan pengiraan ini ditentukan oleh shader. Kod shader ditulis dalam bahasa shader yang dipanggil GLSL, yang tidak akan kami terangkan di sini.
Shaders boleh ditakrifkan dalam html dan digunakan dalam kod. Sudah tentu, perkara yang sama berlaku jika anda menggunakan rentetan untuk menentukan shader dalam program anda.
Mari kita lihat bahagian definisi dahulu:
Bagaimana pula? Bagaimanakah rasanya membangun menggunakan WebGL asli? Bukan sahaja anda perlu mempunyai pengetahuan 3D yang mendalam, anda juga perlu mengetahui pelbagai butiran pelaksanaan. WebGL melakukan ini untuk menyesuaikan diri secara fleksibel kepada pelbagai senario aplikasi, tetapi bagi kebanyakan bukan profesional seperti saya, banyak butiran tidak perlu diketahui. Ini telah menimbulkan pelbagai perpustakaan kelas yang membantu pembangunan, seperti perpustakaan Oak3D yang digunakan dalam bahagian ini (untuk menunjukkan pembangunan WebGL, hanya kaedah tambahan matriks digunakan dalam contoh). Bahagian seterusnya akan memperkenalkan perpustakaan grafik Three.js yang biasa digunakan.
Rujukan praktikal:
Tutorial bahasa Cina: http://www.hiwebgl.com/?p=42
Pusat Pembangunan: https://developer.mozilla.org/en/WebGL