如何使节点在 OpenSceneGraph 的不同视图中看起来不同?

How to make a node look differently in different views in OpenSceneGraph?

如果某些节点在不同视图中的外观不同,应该在多视图应用程序(使用 CompositeViewer)中使用什么技术?例如,是否应根据视图的相机参数重新计算某些标签位置?或者,如果某些其他类型的注释(带有一些文本边框的矩形区域)根据视图比例可见或隐藏?

osg 有 Billboard 和 Text classes 来处理开箱即用的每个相机的方向(例如,参见 CullVisitor 如何应用于 Billboard class here)。

要实现依赖于相机的其他行为,让事情发生的正确位置是将 Cull Callback 添加到您的节点:您的回调将在每一帧上多次调用(每个不同的相机调用一次),并且您可以根据自己的需要做出相应的反应。