问题标签 [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.

0 投票
1 回答
2555 浏览

c++ - Using OSG's osgViewerQt example with Qt signals/slots

I have already posted this in the OSG mailing list, but the mailing list seems to be a bit slow.

Anyway, I'm trying to modify the osgViewerQt example by adding a new class of my own that will contain the viewer. The design is:

  • wrapper.h: Defines class Wrapper. It inherits from QMainWindow and has a QDockWidget where the ViewerWidget will be attached.
  • viewer.h: Defines ViewerWidget class. It's the class from the example, with a few mods by me.
  • prueba_qt.cpp: Main function and where a QApplication is created. A Wrapper object is created here.

The project compiles, but when I execute it, I get an error:

If I remove the Q_OBJECT line, the signal and the slot from wrapper.h and compile the files from the terminal using

I can execute the app.

Can you please tell me what can I do to make this work? I've struggling all morning but couldn't find the solution.

Thanks for your time!

PS: SO is Windows 7 64 bits # MingW compiler # Qt 4.8 # OSG 3.0.1

PS2: Here're the files I used in this project, including the pro file from qmake:

wrapper.h

wrapper.cpp

(This exists only because I read in the Qt forum that moc can only parse cpp files and thus one is needed for the signal/slot mechanism.)

prueba_qt.cpp

prueba_qt.pro

viewer.h: This is quite big, so I uploaded it to pastebin

EDIT #1

I have set OSG_NOTIFY_LEVEL to DEBUG_INFO and got this humongous output. The line with the error is:

EDIT #2

The signal and slot were missing in the code. I have just added them to wrapper.h along with the call to Q_OBJECT.

0 投票
1 回答
1290 浏览

c++ - 带有 QWidget 的 OSG 显示额外的边框

我已经修改了osgViewerQt 示例,以便加载点云并在 Qt 应用程序中将其可视化。正如您在所附图像中看到的那样,显示了云点云,但窗口中有一个额外的边框(见箭头)。

窗口中的额外边框

我整个周末都在试图弄清楚如何“扩展”窗口以删除该边框,但它一直在显示。

你知道我能做些什么来删除它吗?我将发布修改后的代码osgViewerQt和我使用它的代码段。

viewer_widget.h

osg_viewer.cpp

现在,使用此小部件的位置(稍微简化以仅显示相关部分):

云.h

在指定尺寸策略时,我也尝试过Minimum,MinimumExpandingIgnored,但效果相同。我试图直接在内部指定大小策略ViewerWidget(因为它继承自QWidget)并将其指定为它的小部件属性,但没有成功。

0 投票
1 回答
2422 浏览

openscenegraph - OpenSG 和 OpenSceneGraph 的区别

首先,我阅读了OpenSGOpenSceneGraph的官方比较。我目前的目标是创建一个用于学习目的的小型游戏引擎。我从纯 OpenGL 开始,但后来我发现那些看起来相当不错的场景图形库。

我想知道这两个场景图之间的区别。他们的比较非常模糊。例如,OSG 表示 OpenSG 在多线程方面可能更好。

OpenSG 声明并引用

OpenScenegraph 一开始就非常倾向于表演者方面……OpenSG 更倾向于华氏方面……如今,为了您的利益,您应该使用像 OpenSG 这样的开源系统。

我想知道 OpenSG 和 OpenSceneGraph 之间的区别。

0 投票
1 回答
1210 浏览

opengl - OpenSceneGraph 是否使用核心配置文件?

..以及扩展我们对桌面/工作站 OpenGL 的支持,支持 OpenGL 3.x 和 OpenGL 4.x 以及相关的前沿扩展

我想知道是否可以使用核心配置文件,或者它们是否依赖于兼容性配置文件?

使用 OpenGL 核心配置文件编写的应用程序将比相同的应用程序运行得更快,但修改为使用兼容性配置文件,即使它只使用核心配置文件 OpenGL 中可用的功能。第六名

0 投票
1 回答
3212 浏览

c++ - 使用 std c++11 智能指针转换为非标量类型

我目前正在玩openscenegraph,它使用自己的智能指针。但我想使用 std c++11 智能指针。

现在这是工作示例代码

但是当我做这样的事情时

然后我收到以下错误消息

错误:请求从“osg::Uniform*”转换为非标量类型“std::unique_ptr”

知道发生了什么吗?对智能指针有一些要求吗?

0 投票
1 回答
909 浏览

cmake - 使用 cmake 构建时,如果 CMake 已经带有一个,请防止第三方库使用它自己的 find 模块实现

改写的问题

如何控制 CMake 使用 FindXXX.cmake 模块的顺序?

我的确切问题

比如OpenSceneGraph自带的FindZLIB,不如Cmake自带的FindZLIB。OSG自带的FindZLIB模块找不到我安装的ZLIB。我在 CMAKE_INSTALL_PREFIX 路径中安装了 ZLIB。

在构建期间,cmake 会警告我这一点。

OSG 将模块路径设置为它自己的目录,因此 FindPNG(来自 CMake)不正确地使用了 FindZLIB OpenSceneGraph 附带的。因此,它无法找到 ZLIB。

我怎样才能防止这种情况发生?我正在通过调用 ExternalProject_Add 来构建 OpenSceneGraph。我已经阅读了设置 cmake 策略(准确地说是 CMP0017)可能会解决它吗?我不知道如何通过 ExternalProject_Add 做到这一点。

更多细节

这是当 cmake(从生成的 Visual Studio 解决方案调用)尝试配置和构建 OSG 时的相关警告: 4> CMake 警告(dev)在 C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules /FindPNG.cmake:34 (find_package):

0 投票
0 回答
105 浏览

c++ - 二元运算和简单求解器

我正在制作一个小型演示,以在我的公司推荐 Qt 和 OSG,以使与我一起工作的每个人都更容易做一些事情。但我需要尽快完成。我需要一个用于 2D 和 3D 几何图形上的 2D 和 3D 二元运算的库,它会给出一个可以在输出时在 OSG 中绘制的结果网格。我还需要一个简单的求解器和网格器,我可以使用它来定义网格内的四面体或几何内的节点上的温度,并使用 OSG 查看解决方案。我不制作求解器,我使用 UI 和一些内部例程,因此我需要这些库或者我可以制作基于 Qt 和 OSG 的简单 CAE 软件演示的东西。你能提出一些建议吗?

0 投票
1 回答
4248 浏览

c++ - 如何将纹理应用于openscenegraph中的模型?

我有一个引用 *tga 纹理文件的 flt 模型。我使用 Nvidia 纹理实用工具 (nvdxt.exe) 将这些 *.tga 文件转换为 *.dds 文件。

我知道如何读取单个 .dds 纹理文件并将其应用于我的模型(terrain.flt):-

但我不知道如何阅读所有这些纹理 *.dds 并将其应用到我的模型(terrain.flt)。

我的尝试:-

但是,它不起作用。帮我。

0 投票
1 回答
910 浏览

windows - 将 OpenSceneGraph 与 Code::Blocks 一起使用

我必须在代码块上将 osg 集成到我的项目中。在 osg 网站上,只有一篇未回复的帖子。

有没有人一起使用过osg和codeblocks?

0 投票
1 回答
1012 浏览

collada - 有没有快速将 .ive 文件转换为 .dae 文件的方法?

我正在寻找一种将.ive文件转换为.dae. 我已经尝试osgconv在 3.0.1 中使用但失败了。