问题标签 [ogre3d]

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 投票
2 回答
695 浏览

c++ - Ogre3d 的 Fmod 包装器(soundManager)的问题

我对 ogre3d 引擎中 fmod 的 Soundmanager(类)(包装器)有疑问。这是以防万一的代码:

ISoundManager.h 如果有人想要我会上传它,但我现在不能上传超过 2 个超链接。

SoundManager.h http://codeviewer.org/view/code:18c9

SoundManager.cpp http://codeviewer.org/view/code:18ca

我有一个简单的代码片段来播放声音:

一切都很好,声音正在加载,但 PlaySound() 函数不会抛出任何错误,也不会播放声音。我在 ogre3d 论坛上询问,但还没有解决方案。

0 投票
2 回答
912 浏览

c++ - C++、Ogre3D、SFML、共享资源?

是否有可能以某种方式与程序的其他部分共享从 resources.cfg 加载到 Ogre::ResourceManager 中的 Ogre3D 资源?如果可能的话,使用 SFML 会很好。

例如,我知道 CEGUI 可以自动执行此操作。

0 投票
1 回答
671 浏览

qt4 - How to render Qt4 QPixmap to Ogre 3D Texture or Mesh? Please advise

First off, please forgive me if my question sounds primitive and stupid. I am mostly a C# .NET and database developer, but I am a newbie to Ogre3D, and my Qt4/C++ dev experience is also rather limited...

I have code which renders a custom Qt4 widget (a subclass of QWidget) onto a QPixmap, and I have to display it on an Ogre3D surface.

I've been reading the latest Ogre3D book and searching for a QWidget-to-Ogre3D code sample for several days now, but couldn't find how to do that.

I assume that I need to somehow create a Texture (or maybe, a Mesh) manually from the QPixmap (probably, saved as a byte array with a "PNG" or "BMP" option), but I'm having trouble trying to figure out how to do that.

Could someone point me in the right direction, please?

Thank you very much in advance.


Here's what I currently have:

m_currentGraph->setFixedSize(QSize(WIDTH, HEIGHT));

QPainter painter(this);

painter.end();

QPixmap pixmap(WIDTH, HEIGHT);

m_currentGraph->render(&pixmap);

QByteArray bytes;

QBuffer buffer(&bytes);

buffer.open(QIODevice::WriteOnly);

pixmap.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format

// How to render it onto Ogre3D ???

0 投票
3 回答
2295 浏览

android - 将旋转矩阵重新映射到不同的轴系

我在一个 c++ 程序中使用 android 的getRotationMatrix的改编版本,该程序通过网络读取手机的传感器数据并计算设备的矩阵。

该函数工作正常并计算设备的方向。不幸的是,Ogre3d 的轴系统与设备不同。因此,即使绕 x 轴旋转可以正常工作,但 y 和 z 轴是错误的。保持设备水平并指向北方(单位矩阵)。当我投球时,旋转是正确的。但是当我滚动和偏航时,旋转是交替的。在 Ogre3d 中滚动是偏航的,反之亦然。

快速浏览一下两轴系统,Ogre 的系统(左侧)本质上是设备系统绕 x 轴逆时针旋转 90 度。

当我在计算矩阵之前先分配传感器值时,我尝试尝试各种组合,但似乎没有组合正常工作。如何确保旋转矩阵 getRotationMatrix() 在 Ogre3D 上正确显示?

参考这里是计算矩阵的函数:

0 投票
2 回答
305 浏览

java - linux下如何编译ogre4j

我已经下载了源代码然后导入到 Eclipse 中。但是当我尝试运行它时,它会打印出找不到 ogre4j 的错误。我查看了应该是库二进制文件的文件夹,但什么也没有。我试图自己编译它,而不是用eclipse自动编译,但我没有找到任何makefile。

ogre4k 编译是否需要任何插件?

我在哪里可以找到任何用于 ogre4j 的 makefile?

0 投票
3 回答
978 浏览

linux - 在 Linux (Ubuntu) 上为 OGRE 设置 netbeans

我在 Ogre 教程中阅读了设置应用程序 - NetBeans - Linux 。但这指示使用 make && make install 在控制台上单独构建项目。似乎 Netbeans 仅用作编辑器。有没有办法让我使用 Netbeans 做所有事情?

我尝试将 Netbeans 设置为使用 OGRE 库,但没有成功。我在构建项目时遇到了一些错误。这就是我到目前为止所做的。

项目属性 > C++ 编译器:包含目录

/usr/include/OGRE:/usr/include/OIS:/usr/include

在 Linker 中:我将 /usr/lib 中的所有 libogre*.so 文件添加为库。

我使用 apt-get 安装 OGRE

链接仅提供在 Windows 上执行此操作的详细信息。有人能告诉我如何在 Linux 上为 OGRE 正确设置 Netbeans

更新
控制台输出

我尝试单独添加这些文件夹,但没有奏效。先感谢您。

0 投票
1 回答
976 浏览

3d - 如何在 Ogre3D 中创建交互式跟踪摄像机

如何创建跟随玩家的相机(如 MMORPG 游戏中),而无需每帧都进行翻译。但容易旋转。如果可能的话。

0 投票
2 回答
5428 浏览

c++ - 在 Mac OS-X 上编译 C++ 程序时“找不到框架”

我肯定需要一些帮助来解决这个问题。自 5 天以来,我一直在尝试解决此问题,并且当我尝试了几乎可以在 Internet 上找到的每一个想法时,我快疯了……


当我使用 Cmake 生成的 makefile 编译我的 C++ 项目时,代码编译高达 100% 但随后无法链接 OGRE 框架并以Error 1退出。

由于我无法使用自己的项目进行编译,并且我的程序无法找到的框架是 OGRE 框架,我尝试使用Ogre3D 安装教程提供的文件来最大限度地简化问题。但是问题和错误仍然完全相同,并且编译过程停止:

ld:找不到框架OGRE

我试图复制在系统的默认 /Library/Framework 中的OgreSDK /lib/release中找到的Ogre.framework以及这台计算机上的几乎所有地方,包括项目文件夹(对 OgreFindFrameWork.cmake 文件进行了修改),尤其是所有文件夹由 OgreFindFrameWork.cmake 文件定位,但此错误仍然存​​在。

我也尝试了很多 Cmake 修改或使用 Xcode 编译,但由于它总是以相同的错误消息结束,我决定使用最简单的一个来说明这个问题。因此,以下信息与上述 OGRETutorialFramework 调试项目相关。

有谁可以解释我需要更改什么以使链接器能够找到定义的框架(我想这不是 Ogre 框架特有的问题,我可能会在另一个框架中遇到相同的错误)?

谢谢你。


以下部分的索引:
- 1/ make log
- 2/ OGRETutorialFramework的CMakeFile.txt
- 3/ 使用的软件版本



- 1/ make 生成和构建日志

下面是生成过程的日志:

如您所见,找到了框架(-- Found OGRE: -framework OGRE)。

这是构建过程的日志:

如您所见,它无法找到 OGRE 框架(ld: framework not found OGRE



- 2/ OGRETutorialFramework 调试项目的CMakeFile.txt

我的Ogre SDK在我的第二个名为“Data”的硬盘上,所以我使用路径:/Volumes/Data/OgreSDK

这是我当前的 OGRETutorialFramework 的 CMakeList.txt(Ogre 设置教程中提供的,稍作修改以匹配我的文件夹路径)。



- 3/ 使用的软件版本

OSX 版本:10.6.7(雪豹)
Xcode 版本:3.2.6
GCC 版本:4.6(4.5.3 不能编译到 100%,旧版本不支持我需要的 C++0x) Ogre 版本:1.7 .3
Cmake 版本:2.8.3或 2.8.4(我都试过了)

0 投票
0 回答
343 浏览

c++ - 我的论点是如何被破坏的?

所以我最近开始为我正在开发的游戏项目学习 Lua(使用 Visual Studio 2010 和 Ogre3D 引擎针对 Windows 7),同时我开始为我们的 GUI 系统实现选择的库,快速图形界面。我决定将字体加载外包给 lua 作为学习经验,并开始遇到错误。认为这是我对 lua 的缺乏经验,我花了几天时间研究问题可能是什么,但是在用纯 C++ 重现错误时,我遇到了同样的问题。

要启动 QuickGUI 的 FontManager,我首先创建皮肤效果管理器和资源管理器的实例,然后使用它们创建 QuickGUI::Core 对象,然后调用静态单例函数来获取指向 FontManager 对象的指针。然后,我通过向它传递一个带有请求的字体名称的字符串、一个表示 *.png 中呈现的字体的 Image 对象、一个用于确定基线的 int 以及描述个人的关联 XML 文件的名称来创建一个可用的字体人物。如下:

下面是 QuickGUI::FontManager 类的相关函数:

QuickGUI 库使用 TinyXML 进行解析。我的程序在 xmlDoc.LastChild()->ToElement() 调用上崩溃,因为 xml 无效。经过调查,我在调试中发现了一些奇怪的东西:我的字符串不知何故没有进入 createFont() 函数。这些是我在上述函数开头设置断点后的参数值:

一旦我注意到这一点,我首先认为它可能试图将指针解释为文字字符串数据;这两个值从运行时更改为运行时,但它们始终仅由单个字符相互关闭。这样做有两个问题,首先,Visual Studio 表明它们是带有“”标记的字符串,其次,正在创建的 Image 对象字符串很好,并且它接受了相同的 const std::string& 类型作为论据。然后我认为这可能是我的项目和 Ogre 在多字节字符集打开的情况下编译的问题,而 QuickGUI 具有 Unicode。我重新编译,重新运行 - 同样的问题。

在这一点上,我不知道该怎么办。这不是我的调用语法可以看到的问题,我查看了 QuickGUI 代码(可在此处获得),我已经双重、三重、四重检查了我的编译设置,调查了 std 实现的潜在编译器特定问题: :string,总体上在这个问题上打了我近一周的大脑,但无济于事。如果有人能够提供关于为什么在上帝的绿色地球上我的弦的价值会像这样不规律地变化的见解,我将不胜感激。

0 投票
2 回答
1768 浏览

c++ - 带有 C++ 图形引擎的 Android NDK

我想使用我熟悉的 C++ 图形引擎 (Ogre3D) 为 Droid 编写一些游戏(我就是不习惯 Java),并且有很多关于如何构建应用程序的文章。但是,我根本无法得到有关输入的答案。

NDK 是否提供用于输入的 Droid 功能,例如 Touch/Slide/Swipe/Zoom/等?我过去只将 OIS 与 Ogre3D 一起使用,并且对于手机输入处理的情况感到非常困惑。