问题标签 [openscenegraph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - dynamic_cast 中的类型必须是指向完整类类型的指针或引用,或者 void *
我希望有人能理解为什么下面的代码会失败。我正在尝试从 osg::Node* 节点对象获取 PositionAttitudeTransform (Openscenegraph 类)的实例。但是下面以粗体显示编译器错误。
IntelliSense:dynamic_cast 中的类型必须是指向完整类类型的指针或引用,或 void *
请帮助我以正确的方式访问我的对象,我希望能帮助我理解这里的问题,因为我相信演员应该是可能的。
http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00529.html
c++ - 在 OSG 中创建动态球体
我想在 OSG 中创建一个动态球体,通过鼠标左键单击该位置(中心)和鼠标指针当前位置到中心的距离的动态半径来创建(移动)......
我知道出于这个原因,我需要创建一个 osgGA::GUIEventHandler 对象并实现虚拟句柄功能,但我错过了其他细节,例如从场景中找到它自己的球体对象并更改其属性。
我还尝试更改A Picking 示例,但未能检测到 nodePath 中的球体或创建新球体
qt - OSG +QT 切换全屏并返回
我在 Qframe 中集成了一个 osgQt::GLWidget 并在此处使用该模式:http ://trac.osgeo.org/ossim/browser/trunk/ossimPlanetQt/src/gui/ossimPlanetQtMainWindow.cpp 在全屏模式之间切换然后回来。基本上消耗小部件中的击键并从那里设置全屏。
我在 osgViewer::Viewer - osgViewer::WindowSizeHandler 中也有一个事件使用者,它处理查看器大小切换。
有没有更好的模式来实现这个?
c++ - 用于 OpenSceneGraph 的 MiniMap/PIP
所以我正在尝试创建一个迷你地图/PIP。我有一个在 Qt Widget 中运行的现有程序。我有一个类 NetworkViewer,它扩展了 CompositeViewer。在 NetworkViewer 的构造函数中,我调用了以下函数。请注意,根是在其他地方填充的场景。
创建相机功能如下:
我一直在查看几个相机示例并寻找解决方案一段时间但无济于事。我真正想要的是作为我的主摄像头的背景,它占据了大部分屏幕并显示场景图,而我的小地图出现在右下角。它具有与主摄像机相同的场景,但覆盖在其之上,并且具有自己的一组用于选择等的控件,因为它具有不同的功能。
我在想,也许通过添加另一台相机作为奴隶我可以做到这一点:
但这似乎不起作用。如果我禁用另一台相机,我确实会看到一个清晰的区域,表明该相机应该在(其视口)中渲染,但这无济于事。我玩过渲染顺序,认为这可能无济于事。
有任何想法吗?制作这种小地图的最佳方法是什么?我究竟做错了什么?无论如何也要使小地图的渲染为圆形而不是矩形?
c++ - OpenSceneGraph C++ 访问冲突读取位置 0x00421000
使用 OpenSceneGraph,我一直遇到这个违规问题,我希望能得到一些帮助。问题在于下面的特定行恰好是我的主要功能中的第一行。
我的目录中有我的模型文件夹。错误如下。
OSG3D.exe 中 0x68630A6C (msvcr100.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00421000。
这就是问题似乎出现的地方。
我将不胜感激有关将来如何最好地处理此类异常消息的详细信息。是否有工具可以使调试变得容易,或者有没有办法捕获确切的问题并修复它们?我将不胜感激。
我的最终目标是学习如何更好地调试 C++ 相关问题。有了这个,这意味着阅读编译器错误列表http://msdn.microsoft.com/en-us/library/850cstw1(v=vs.71).aspx是不够的
c++ - OpenSceneGraph 第一人称步行相机
我是 OpenSceneGraph 的新手,希望能帮助我找出哪些现有的 CameraManipulator 类,甚至任何其他类,我需要将其用于步行/跑步/慢跑模拟。到目前为止,我已经检查了大约 10 个机械手,但它们似乎都没有做我需要的,即轻松模拟步行/慢跑/跑步。
提前致谢。
android - 如何从 Android NDK 获取资产中的文件
我正在尝试从本机端访问资产文件夹中的图像文件。现在,我可以成功搜索 assets 文件夹及其子目录,找到我要查找的特定文件:
我也在使用 OSG。我使用以下代码将图像设置为我的着色器的纹理:
但该文件名也必须包含绝对路径,因为它不在同一目录中。但是我发现我无法获得资产目录的绝对路径,因为它是与 APK 一起压缩的。
由于我无法访问绝对路径,我还能用什么其他方式来获取图像?另请注意,我确实希望将资产文件夹中的文件与 sd 卡保持一致。
c++ - OpenSceneGraph 3D 编程切换鼠标灵敏度
我需要输入代码来切换鼠标的灵敏度 - 增加或减少我的相机在场景中的行走速度。目前,我有一个连接事件处理程序来拦截键盘命令,并相应地处理它们。缺少的是按选定数量减慢/提高速度的正确代码。我有下面的枚举来描述可接受的增加/减少值。
我尝试像这样覆盖 CameraManipulator 的基类的 bool performMovement() 方法,但仔细检查后,这似乎不是我需要覆盖或用于此目的的代码。我会很感激一些帮助,不仅可以找到正确的方法,还可以修改它,以便我可以更好地控制灵敏度。
python - 为 Python 工作的 OpenSceneGraph 绑定?
为了好玩,我正在用 Python 构建一个渲染引擎。我需要加载 3D 场景。任何标准的现代格式,如 DAE、3DS 或 MAX 都可以使用:我可以轻松地在标准格式之间转换我的文件。
OpenSceneGraph 似乎是最全面且维护良好的解决方案。能够毫不费力地在 Python 中使用它是理想的选择。是否有适用于 OSG 的 Python 绑定,它们易于安装、可在 Mac OS X(我使用的是 10.8)上运行并且与最新版本的 OSG 兼容?
我四处搜寻,发现了 osgswig (http://code.google.com/p/osgswig/) 和 PyOSG (http://sourceforge.net/projects/pyosg/),但它们似乎没有得到积极维护. 我没有看到任何与这些软件包相关的近期活动,而且似乎人们在 OSX 上运行 osgswig 时遇到了麻烦。理想情况下,我想找到一些“正常工作”的东西,而没有主要的编译麻烦。我只想安装一个包并能够导入一个可以让我加载 COLLADA 或 3DS 文件的模块。
我还遇到了 pycollada(https://github.com/pycollada/pycollada)。它似乎很活跃,但还处于早期阶段。理想情况下,我想要一个相当全面的包,它支持高光贴图、法线贴图和其他相当高级的功能。动画也会很好。
总之,我需要在 Python 中加载 3D 场景。OSG 的绑定可能是理想的,因为 OSG 是如此全面。但我需要一些适用于 OSX 的东西。我也更喜欢可以相当容易安装的东西。这样的事情存在吗?
谢谢!
c++ - C++ OpenSceneGraph 改变相机眼睛高度
编写一个小的openscenegraph 应用程序,并且需要一种方法来改变Camera 的高度。本质上,眼睛是直视空间中的球。我想要做的是能够降低相机高度,这样我就可以从下方击球,如果需要,还可以提高相机高度。如何使用 oPengl 代码或 OpenScenegraph 实现这一目标?