问题标签 [ogre]
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.
direct3d - 如何判断 HLSL 着色器代码对于给定的着色器版本是否有效?
在 Ogre 中,当加载 HLSL 着色器时,您指定一个目标 PS/VS,例如 SM2.0、SM 3.0。是否有用于 HLSL 的工具(我猜是其他着色器语言)会告诉我给定 HLSL 函数/文件的哪些着色器模型版本有效?例如,我们默认为 SM3.0 编写着色器,但据我所知,它们作为 SM2.0 是有效的。
windows - 将 Ogre 嵌入到 windows 平台上的 qt 应用程序中
将 Ogre 嵌入 qt 应用程序 链接:QtOgre
但是是mac和linux平台,我尝试迁移到windows平台,但是失败了。我的应用程序运行如下:
/////////////////////////////////
c++ - 如何使用 std::_Rb_tree_insert_and_rebalance 修复 Ogre3d 段错误?
我正在使用 Ogre3d 开发 3d 音乐可视化器,基本上它是一个频谱分析器,很像旧的 xmms 插件:
它运行良好,绘制和更新了条形图,没有帧率问题,但它随机崩溃。有时它可以毫无问题地运行,完成歌曲,有时它会立即崩溃,有时音乐只是停止,没有崩溃。
这是主类的源代码:
https://github.com/balazsbela/OgreVisualizer/blob/master/src/VisualizerApplication.cpp#L221
当我显示来自 Ogre 样本的帧速率叠加时,崩溃似乎也不太经常发生。限制帧率有帮助吗?
崩溃似乎是随机的。是性能问题吗?
请帮帮我,我对这个很迷茫,我也在 Ogre3d 论坛上发帖,但没有收到任何回复。
(http)://www.ogre3d.org/forums/viewtopic.php?f=2&t=63207
谢谢你。
回溯:
食人魔日志: http ://pastie.org/1581790
python - py2exe 后与 Twisted 不一致的连接失败
我在这里的第一个问题,所以放轻松。
这是我的情况:
我正在使用 Twisted 框架在 Python 中创建一个网络游戏。游戏通过一个端口上的 TCP 连接到主服务器(连接保持活动状态以进行身份验证),然后您可以在另一个端口上加入网络服务器。目前,网络和主服务器程序都在同一台远程机器上运行。
到目前为止,几乎所有东西都运行良好,至少在通过 Python 解释器运行游戏时。在这种情况下,连接到两台服务器总是可以正常工作。问题仅在使用 py2exe 为客户端创建独立可执行文件后才开始。
在我的开发机器上,运行可执行文件将允许我启动游戏,连接到主服务器并对其进行身份验证。Wireshark 告诉我连接保持活动状态,并且定期轮询正在被确认。到现在为止还挺好。但是当我尝试连接到网络游戏服务器时(相邻端口上的第二个 TCP 连接),结果不一致。大约一百分之一的时候它会起作用。其余时间大约是 50/50 之间什么都不做(Twisted 不会触发任何回调),或者返回“用户超时导致连接失败”。半秒内出错。
有趣的是,Wireshark 甚至没有为这些失败的连接“尝试”显示任何传出的 TCP 数据包,无论它们是返回错误还是什么都不做。
然后它变得更奇怪了,因为当我在另一台测试机器上运行完全相同的游戏客户端可执行文件时,一切正常。那里没有任何连接问题,它每次都能正常工作。两台机器都运行原始的 Windows 7,开发机器是专业版,另一个是家庭版。
我还应该指出,在本地运行游戏服务器,即使在与客户端相同的机器上(连接到“localhost”)对这个问题没有影响 - 症状保持不变。
那么这里可能发生了什么?
3d - Ogre、Irrlicht 和 OpenSceneGraph 之间哪个 C++ 3D 引擎更好的建议
我对 3d 图形非常熟悉(我为一个学术项目开发了一个小而简单的 3d 游戏引擎)。但是现在我必须用 C++ 开发一个音频/视频工具,其中还需要一些 3d 功能,所以我不能依赖我的小程序,但我需要一个具有高性能标准和功能的 3d 引擎框架。
我想知道您对我听说的这 3 种产品之间 3d 引擎的最佳选择的看法:
- 食人魔
- 伊尔利赫特
- 开放场景图
我需要的要求如下:
- 跨平台支持
- 高性能
- 支持视频编解码器
- 许可证(可能可以选择发布使用所选框架编写的我的产品的开源和闭源版本)
- 可用图形效果的质量和数量
回答请记住,我不是在开发视频游戏,我对最佳框架的选择并不取决于它的使用难度。我只对框架提供的功能感兴趣。
我想更好地了解使用一个框架而不是另一个框架的区别和优势。
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 论坛上询问,但还没有解决方案。
unity3d - 我应该选择 ogre 3d 还是 unity 3d?
我是游戏开发的新手。我擅长 c++、c、python,所以编程不是我的问题。但我对食人魔 3d 和统一 3d(免费版)感到困惑。我知道两者是不同的食人魔就像 API,统一是游戏引擎。但我真的很困惑为我的项目使用哪个。我的项目有 1 个月的时间,我需要在短时间内开发一款具有良好图形的游戏。谁能指引我走向正确的道路。?谁能给我团结和食人魔的利弊......?
简而言之,哪个更适合游戏开发..?..ogre 还是 unity(免费版)..?
c++ - 如何检查传递给 Lua 的参数是否属于用户定义类型?
我正在使用 Lua 为基于 Ogre3d 的应用程序实现脚本,但在检查输入函数的参数是否为特定类型时遇到了问题 - Ogre::SceneNode*。有人知道我该怎么做吗?
有一些基本的 Lua 函数可以为 int 或 string 等内置类型执行此操作,例如
if(lua_isnumber(L,1))
{...}
但我不知道如何使用用户定义的类型来做到这一点。
c++ - 几乎相同的函数工作时的 C++ OIS Segfault
请参阅下面的重要编辑!
大家好,我无法弄清楚为什么会发生这种段错误。我正在使用 Ogre 和 OIS 库。这是导致它的代码:
和 key_pressed 功能:
因为段错误发生在 key_pressed 但 key_pressed 的第一行没有被执行,我只能猜测它正在传递const OIS::KeyEvent&
导致它的原因。
奇怪的是我还有其他三个几乎相同的功能(但对于鼠标),它们可以完美运行。
我正在创建一个基本状态系统,因此我可以开始使用 OIS 库为 Ogre3D 编写应用程序作为输入。我有一个 Application 类,它充当鼠标和键盘的输入侦听器。这是它的设置方式...
应用程序类将鼠标移动、按下按钮和击键传递给位于 Troll::StateManager 内部的状态堆栈顶部的 Troll::State(我正在制作的框架称为 Troll)(这仅仅是一个带有内存分配和 startup() 和 shutdown() 调用的 std::stack 包装器)
抱歉,由于某种原因,命名约定的差异导致了任何混淆,我决定使用_underscores_for_some_reason,但我还没有来得及改变它。提前谢谢,嗯。希望你能解决我的问题,如果我没有提供足够的细节,请告诉我。
编辑:最近升级到 Ubuntu Natty Narwhal 后,我无法让调试器正常工作,它只会让计算机崩溃。我使用 Code::Blocks,但我不知道如何在 IDE 之外使用调试器或编译器(我知道很遗憾,但总有一天我会开始学习)。很抱歉,我不能使用调试器。
编辑:响应 GMan 的评论,即使我检查 null,我仍然会遇到段错误
虽然我不确定那是检查空值的正确方法吗?此外,使用 peek() 的其他方法也可以正常工作。再次感谢!:)
重要编辑:
似乎实际上是 peek 函数引起了麻烦,但仅在从该keyPressed
函数调用时。我通过向 peek() 添加一个参数来发现这一点,以便它打印返回的状态对象的地址以及消息。通过将消息参数设置为调用 peek() 函数的函数,我得到了这些结果。
请注意,当 keyPressed 函数调用 peek 方法时,会显示不同的地址。我看不出为什么只有在 keyPress 函数调用 peek 时才返回不同的地址?有人请帮我解决这个问题!
c++ - C++ 代码仅在程序从终端运行时执行
我有一个奇怪的错误,似乎只有当程序没有从终端执行时才会发生。这是我的项目: https ://github.com/elliotpotts/Troll/ https://github.com/elliotpotts/Troll/issues/2
查看Troll::State::keyPressed()函数。出于某种原因,当我从终端运行程序时,一切都很好并且应用程序存在,但是当我将它作为 GUI 程序运行时,应用程序不会退出。我想不出为什么。提前谢谢,嗯。
编辑:很抱歉没有添加 Ogre 标签,也没有发布 keyPressed 函数,这里是:
我也尝试添加文件输出来测试它:
从终端运行时,此方法有效,否则无效。补充说明一下,我目前还没有正在尝试修复的调试器。埃尔。