O3D

O3D er et JavaScript API laget av Google for å lage interaktive 3D-grafikkapplikasjoner. Biblioteket er åpen kildekode og distribueres under BSD-lisensen [2] .

Funksjoner

O3D distribueres i form av en plugin , som kan brukes av alle større nettlesere : Safari , Chrome , Firefox og Internet Explorer . Det er en plugin med en spesielt kraftig gjengivelsesakselerasjon , så systemkravene som er nødvendige for at pluginet skal fungere korrekt, er ganske høye. O3D er en plugin på høyt nivå, som Flash (foreldet fra 2020) eller Silverlight , og er først og fremst rettet mot 3D-spillutviklere.

Programvarearkitekturen til O3D er sammensatt av to forskjellige komponenter: en del laget i C og C++ for grensesnittet med maskinvaren og for anrop til OpenGL- eller Direct3D -bibliotekene . Den andre komponenten som representerer høynivåapplikasjonen er laget i JavaScript og er basert på konseptet scene-graf.

O3D blir sett på som å bygge bro mellom skrivebordsbaserte 3D-akselererte grafikkapplikasjoner og HTML-baserte nettlesere. Tilhengere sier at å lage en full 3D-grafikkmotor som kan lastes ned og kjøres via en nettleser kan eliminere behovet for å installere store applikasjoner på en lokal stasjonær datamaskin. Dette lar O3D maksimere gjenbrukbarhet på tvers av applikasjonsressurser samtidig som det gir et robust grensesnitt til klientens CPU og GPU ved hjelp av JavaScript.

Opprinnelig brukte O3D en plug-in-basert arkitektur som tillot tredjepartsutviklere å integrere tilpassede funksjoner som pre- og post-rendering-effekter, partikkelsystemer og/eller fysikkmotorer, for eksempel. Det er viktig å merke seg at pluginet ble skrevet i C som kommuniserte direkte med maskinvaren, så hastigheten på scenegjengivelsen var i stor grad avhengig av datamaskinens grafikkort som gjengav den. Mye av den samme funksjonaliteten er innebygd i WebGL .

Den største fordelen med O3D fremfor skrivebords- eller konsollbaserte alternative 3D-gjengivelsesmotorer er at O3D kan laste, gjengi og transformere modeller og deres teksturer dynamisk ved å bruke AJAX og/eller COMET i sanntid. Tradisjonell kompilering av kildekode, applikasjonsressurser og objektbiblioteker er ikke lenger nødvendig, siden alle disse aspektene lastes inn i sanntid. Disse eksterne ressursene kan designes, utvikles og vedlikeholdes utenfor hovedgjengivelses- eller visningsapplikasjonen i en typisk objektorientert MVC. Det direkte resultatet av dette forenkler eksplisitt utviklingen av rike 3D-applikasjoner, siden det ikke er behov for å rekompilere O3D-applikasjonen for ressursendringer. Dette gir mulighet for en mer robust og distributiv tilnærming ved utforming av 3D-applikasjoner [3] .

7. mai 2010 kunngjorde Google at O3D ville bytte fra en plugin til et JavaScript-bibliotek som kjører på WebGL [4] .

Merknader

  1. ^ O3D Beach Demo - YouTube , på youtube.com . Hentet 4. februar 2021 .
  2. ^ [chrome] Indeks for / trunk / o3d , på src.chromium.org . Hentet 4. februar 2021 .
  3. ^ code.google.com , https://code.google.com/archive/p/o3d/ . Hentet 4. februar 2021 .
  4. ^ O3D-prosjektside fra Google Code

Relaterte elementer

Eksterne lenker