CameraPipelineModule
les applications de caméra 8th Wall sont construites à l'aide d'un module de pipeline de caméra. Les applications installent des modules qui contrôlent ensuite le comportement de l'application au moment de l'exécution.
Reportez-vous à XR8.addCameraPipelineModule()
pour en savoir plus sur l'ajout de modules de pipeline de caméras à votre application.
Un objet de module de pipeline de caméra doit avoir une chaîne .name qui est unique dans l'application. Il doit mettre en œuvre une ou plusieurs des méthodes de cycle de la caméra suivantes. Ces méthodes seront exécutées au moment approprié dans la boucle d'exécution.
Au cours de l'exécution principale d'une application, chaque image de la caméra suit le cycle suivant :
onBeforeRun
-> onCameraStatusChange
(requesting
-> hasStream
-> hasVideo
| failed
) -> onStart
-> onAttach
-> onProcessGpu
-> onProcessCpu
-> onUpdate
-> onRender
Les modules de caméra doivent mettre en œuvre une ou plusieurs des méthodes de cycle de la caméra suivantes :
Fonction | Description |
---|---|
onAppResourcesLoaded | Appelé lorsque nous avons reçu du serveur les ressources attachées à une application. |
onAttach | Appelé avant la première fois qu'un module reçoit des mises à jour de trames. Il est appelé sur les modules qui ont été ajoutés avant ou après l'exécution du pipeline. |
onBeforeRun | Appelé immédiatement après XR8.run() . Si des promesses sont renvoyées, XR attendra toutes les promesses avant de continuer. |
onCameraStatusChange | Appelé lorsqu'un changement survient lors de la demande d'autorisation de la caméra. |
onCanvasSizeChange | Appelé lorsque le support change de taille. |
onDetach | est appelé après la dernière fois qu'un module reçoit des mises à jour de trames. Cette opération a lieu soit après l'arrêt du moteur, soit après le retrait manuel du module de pipeline, selon ce qui se produit en premier. |
onDeviceOrientationChange | Appelé lorsque l'appareil change d'orientation paysage/portrait. |
onException | Appelé lorsqu'une erreur se produit dans le XR. Appelé avec l'objet d'erreur. |
onPaused | Appelé lorsque XR8.pause() est appelé. |
onProcessCpu | Appelé pour lire les résultats du traitement GPU et renvoyer des données utilisables. |
onProcessGpu | Appelé pour démarrer le traitement GPU. |
onRemove | est appelée lorsqu'un module est retiré du pipeline. |
onRender | Appelé après onUpdate. C'est le moment pour le moteur de rendu d'émettre des commandes de dessin WebGL. Si une application fournit sa propre boucle d'exécution et s'appuie sur XR8.runPreRender() et XR8.runPostRender() , cette méthode n'est pas appelée et tous les rendus doivent être coordonnés par la boucle d'exécution externe. |
onResume | Appelé lorsque XR8.resume() est appelé. |
onStart | Appelé au démarrage du XR. Premier rappel après l'appel de XR8.run() . |
onUpdate | Appelé pour mettre à jour la scène avant le rendu. Les données renvoyées par les modules dans onProcessGpu et onProcessCpu seront présentes en tant que processGpu.modulename et processCpu.modulename où le nom est donné par module.name = "modulename". |
onVideoSizeChange | Appelé lorsque le support change de taille. |
autorisations requises | Les modules peuvent indiquer les fonctionnalités du navigateur dont ils ont besoin et qui peuvent nécessiter des demandes d'autorisation. Elles peuvent être utilisées par le cadre pour demander les autorisations appropriées en cas d'absence, ou pour créer des composants qui demandent les autorisations appropriées avant d'exécuter XR. |
Remarque : les modules de caméra qui implémentent onProcessGpu
ou onProcessCpu
peuvent fournir des données à des étapes ultérieures du pipeline. Cela se fait par le nom du module.