2017-07-28 2 views
0

J'écris un programme basé sur OpenSceneGraph qui utilise deux caméras, une pour rendre l'aperçu pour l'utilisateur et une qui utilise un rappel pour faire des captures d'écran avec MRT. La caméra exportatrice utilise une projection orthographique et toujours de la même position avec la même vue et le même vecteur, alors que la caméra de prévisualisation peut être déplacée par l'usere. Au démarrage du programme, je crée la caméra de prévisualisation, ajoute les shaders, puis configure la visionneuse et y ajoute la caméra de prévisualisation. Ensuite, je crée la caméra d'exportation, ajoute ses shaders, textures et rappel, puis j'ajoute la caméra d'exportation en tant qu'enfant à la caméra de prévisualisation. Jusqu'à présent, rien n'a été rendu (c'est-à-dire qu'aucun appel frame n'a été effectué).Pourquoi l'appareil photo ne reste-t-il pas enfant de l'autre appareil photo après l'avoir ajouté dans osg?

L'appel addChild est émis (c'est-à-dire que le point de rupture est atteint dans VS, et plus loin je peux voir que la caméra exportatrice est maintenant une enfant de la caméra de prévisualisation). Cependant, une fois que je lance une commande pour faire une capture d'écran, la caméra de l'exportateur n'est plus l'enfant de la caméra de prévisualisation (à présent, quelques appels de rendu ont été effectués).

Pourquoi est-ce, et comment puis-je le réparer en dehors de l'ajout de l'appareil photo exportateur?


Sur un Sidenote: Je commencé à utiliser computergraphics.stackexchange.com, cette question serait être adapté à ce côté ou est-il destiné à des algorithmes plutôt que les mises en œuvre?

Répondre

1

Si vous utilisez osg :: Voir, il a sa propre mise en œuvre pour les caméras maître et esclave - voir le osg :: Voir les en-têtes des informations ou ce vieux tutoriel pour un exemple: http://thermalpixel.github.io/osg/2014/02/15/rtt-with-slave-cameras.html

+0

Merci, cela répond la question de savoir comment le réparer. Malheureusement, ma caméra de prévisualisation et d'exportation n'utilise pas la même position, elle tourne toujours à 90 ° autour de la scène pour une raison quelconque, ce qui rend sa configuration correctement douloureuse. – Tare