Első lépések a webgl - web interfészekkel api, mdn

Felkészülés a 3D megjelenítésre

Az elsõ dolog, amellyel a WebGL-t a 3D-ben való megjelenítéshez kell használni, a vászonelem. Az alábbi HTML töredék tartalmazza a vászonelemet és meghatározza az onload eseménykezelőt. amely inicializálja WebGL kontextust.

A WebGL kontextus előkészítése

Az első dolog, amit itt csinálunk, kap egy kapcsolatot a vászonelemhez, tedd a vászon változóba. Nyilvánvalóan, ha nem kell többször hivatkozni a vászonra, akkor ne tárolja ezt az értéket globálisan, hanem csak egy helyi változóba vagy az objektummezőbe mentse.

Miután kaptunk egy linket a vászonhoz, hívjuk az initWebGL () függvényt; Ezt a funkciót azonnal meghatározzuk, munkája a WebGL kontextusának inicializálására szolgál.

A fentiek mindegyikét csak a kezdeti inicializáláshoz kell elvégezni. Később látni fogjuk a háromdimenziós tárgyak vizualizálásának munkáját.

WebGL-környezet létrehozása

Az initWebGL () függvény így néz ki:

A vászon WebGL-kontextusának lekérdezéséhez a "webgl" néven ismert kontextusban a vászonelemet lekérdezzük. Ha ez a kísérlet meghiúsul, kísérletet kapunk egy "experimental-webgl" nevű kontextus létrehozására. Ha ez a kísérlet is sikertelen, megjelenítünk egy figyelmeztető ablakot, amely lehetővé teszi a felhasználó számára annak megértését, hogy böngészője nem támogatja a WebGL-t. Ez mindent meg kell tenni. Ebben a szakaszban, mi lesz a változó gl, vagy az érték nulla (ez azt jelenti, hogy a WebGL összefüggésben áll), vagy utalás arra a WebGL kontextust, amelyben fogunk termelni a rajzot.

Megjegyzés: Az "experimental-webgl" néven említett kontextus a specifikáció-fejlesztési folyamat idején használt környezet ideiglenes neve. A specifikáció teljes kifejlesztése után csak a "webgl" kontextus nevét kell használni.

Ezen a ponton ez a kód elegendő ahhoz, hogy sikeresen inicializálja a WebGL környezetet, és megjelenik egy üres fekete blokk, amely készen áll a tartalom betöltésére.

Ha a böngésző támogatja a WebGL-t, akkor a fenti kódra kattintva láthatja a linket.

Módosítsa a WebGL-környezet méretét

Az új WebGL kontextus képes lesz beállítani a megjelenítési terület méretét, ha a kontextust a vászonelem magasságának és szélességének beállítása nélkül, a CSS használata nélkül állíthatja be. A vászonelem stílusának szerkesztése megváltoztatja a megjelenítési méretét anélkül, hogy megváltoztatta volna a rajzterület méretét. A vászon szélesség- és magasság-attribútumainak szerkesztése a kontextus létrehozása után sem változtatja meg a rajzolni kívánt képpontok számát. Méretének megváltoztatásához a rajz, amely WebGL működik, például ha a felhasználó átméretezi az ablakot teljes képernyő, vagy ha meg kell változtatni a grafikai beállítások az alkalmazáson belül, fel kell hívnia a kontextus függvényében WebGL nézetablak (). a változtatások megerősítéséhez.

A WebGL-környezet rajzterületének méretének módosítása a gl és a vászon változókkal. a fenti példában használt:

A vászonelem átméretezhető, ha a rajzterület más méretével rajzolódik fel, mint amit a CSS-stílusok tartalmaznak, amely szerint helyet foglal a képernyőn. A CSS-vel történő átméretezés leghasznosabb az erőforrások megőrzéséhez, alacsony felbontású megjelenítéshez, és lehetővé teszi a böngésző számára az eredményt; A szuperminta antialiasing (SSAA) hatásával lehet tömöríteni (kevesebb elfogadható eredményt és komoly teljesítményveszteséget eredményez). A legtöbb esetben ez jobb támaszkodni több minta simítás (MSAA) és implementációs textúraszűrés algoritmusok által támogatott felhasználó böngészőjének, mint, hogy nem ugyanaz a nyers erő, és reméljük, hogy a kép méretezés által használt algoritmus a böngésző, ad egy szép eredmény.

Lásd még