2017-09-21 4 views
0

Welche Technik sollte in der Multi-View-App (mit CompositeViewer) verwendet werden, wenn einige Knoten in verschiedenen Ansichten unterschiedlich aussehen? Zum Beispiel, wenn einige Etikettenpositionen neu berechnet werden sollten, abhängig von den Kameraparametern der Ansicht? Oder wenn eine andere Art von Anmerkungen (rechteckiger Bereich mit einem Rahmen, etwas Text) je nach Ansichtsskala sichtbar oder verborgen ist?Wie lässt sich ein Knoten in verschiedenen Ansichten in OpenSceneGraph anders aussehen?

Antwort

0

osg hat Billboard- und Text-Klassen, die die Orientierung für jede Kamera auspacken (siehe zum Beispiel, wie der CullVisitor auf die Billboard-Klasse here angewendet wird).

Um andere Verhaltensweisen zu implementieren, die von der Kamera abhängen, ist der richtige Ort, um Dinge geschehen zu lassen, ein Cull Callback, der zu Ihren Knoten hinzugefügt wird: Ihr Callback wird mehrfach für jeden Frame und Sie aufgerufen kann entsprechend auf Ihre Bedürfnisse reagieren.

+0

Ist es möglich, den Knoten mit diesem Callback anzuzeigen/auszublenden? – Koban

+0

@Koban Ja, Sie haben mehrere Optionen (nur unter Berücksichtigung der Einschränkung pro Kamera), zum Beispiel: 1) Rückkehr vom Callback, ohne die Children zu durchlaufen, wodurch verhindert wird, dass Child-Geometrien gerendert werden 2) eine andere Cull-Traversierung verwenden maskieren Sie für jede Kamera und in Ihren Rückrufen die übereinstimmenden Bits auf den Knotenmasken des Knotens, die Sie für diese Kamera einschließen oder überspringen möchten. – rickyviking

Verwandte Themen