Tehnologii New Media
WebXR
Claudia Chiriță . 2025/2026
- cine este X? mixed reality (MR) / cross reality (XR) / extended reality
- standarde folosite pentru randarea de scene 3D pentru hardware specializat pentru prezentarea de lumi virtuale (virtual reality – VR), sau pentru adăugarea de elemente grafice lumii reale (augmented reality – AR).
- WebXR Device API implementează feature-urile WebXR de bază, administrează selecția dispozitivelor de output, randează scena 3D în dispozitivul ales la un frame ret corespunzător, administrează vectorii de mișcare creați folosind controllere pentru input
permite aplicațiilor web XR să facă următoarele:
- detecteze dacă sunt disponibile elemente de XR
- să ceară accesul la feature-urile de XR ale dispozitivului
- interoghează dispozitivul XR și starea dispozitivului de input asociat
- afișeze elemente grafice pe dispozitivul XR la un frame rate corespunzător
- definească cum un browser VR sau AR ar trebui să funcționeze
- expună fiecare feature al fiecărui dispozitiv hardware VR/AR
- construiască Metaversul
- găsește dispozitive de output VR sau AR compatibile
- randează o scenă 3D pe dispozitiv ținând cont de frame rate
- (opțional) copiază outputul pe un ecran 2D
- creează vectori ce reprezintă mișcarea controalelor de input
- o scenă e prezentată 3D calculând perspectiva ce îi trebuie aplicată pentru a o randa din punctul de vedere al fiecărui ochi al utilizatorului, prin calcularea poziției fiecărui ochi și randând scena din acea poziție, orientată către direcția spre care e îndreptat utilizatorul
- fiecare din cele două imagini este randată într-un singur framebuffer: imaginea randată pentru ochiul stâng în stânga, pentru cel drept, în dreapta
- apoi framebufferul este livrat dispozitivului WebXR
- XR hardware
- pe scurt: un dispozitiv XR cu 3 sau 6 grade de libertate ce ar pute avea un senzor extern pentru detecția poziției
- poate include un accelerometru, barometru, sau alți senzori folosiți pentru a detecta atunci când un utilizator se mișcă prin spațiu, își rotește capul etc.
- 1. se verifică dacă modul XR dorit este supported
- 2. dacă da, se anunță funcționalitatea XR utilizatorului
- 3. un eveniment activat de utilizator indică faptul că își dorește să folosească XR
- 4. se cere dispozitivului o sesiune imersivă
- 5. se folosește sesiunea pentru a rula o buclă de randare care actualizează date de la senzori și produce frame-uri grafice pentru a fi afișate pe dispozitivul XR
- 6. se continuă producția cadrelor până când utilizator anunță că vrea să iasă din modul XR
- 7. se încheie sesiunea XR
(\ /)
( . .)
C(")(")
întrebări?