问题标签 [irrlicht]
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++ - 实时对象绘画
我正在尝试对对象纹理执行实时绘画。现在使用 Irrlicht,但这并不重要。
到目前为止,我已经使用这个算法得到了正确的 UV 坐标:
找出用户选择了哪个对象的三角形(光线投射,没什么难的)
找出该三角形上交点的 UV(重心)坐标
找出每个三角形顶点的 UV(纹理)坐标
找出交点的UV(纹理)坐标
计算交点的纹理图像坐标
但不知何故,当我在纹理图像的第 5 步中绘制点时,我得到了完全错误的结果。因此,当在光标点绘制一个矩形时,它的 X(或 Z)坐标是反转的:
这是我用来获取纹理坐标的代码:
我只想让我的对象可以实时绘制。我当前的问题是:错误的纹理坐标计算和非唯一的顶点 UV 坐标(因此,在矮人斧头的一侧绘制一些东西会在斧头的另一侧绘制相同的东西)。
我该怎么做?
android - 使用 Cygwin 构建 Android NDK 应用程序失败“参数列表太长”
我正在尝试在 cygwin 上使用 android NDK r5 在 windows xp sp3 上构建 irrlicht android 端口,但因错误“参数列表太长”而失败。
我用谷歌搜索,并从这篇文章中得到了一些解决方案,它试图添加一些额外的 makefile 脚本来为链接器使用单独的 .linkargs 文件。我按照说明进行了操作,但仍然失败(我在帖子中回复了错误信息)。
那么,处理这个问题的有效方法是什么?
c++ - Eclipse中的Irrlicht,环境不工作
我正在尝试将 Eclipse C++ 和 Irrlicht 用于学校的一个项目。我的问题是设置操作环境。
我用过这个http://irrlicht3d.org/wiki/index.php?n=Main.Macintosh
我正在使用新的 MacBook Pro。
我认为错误在这个标志中。
android - 使用 python regex 自动生成 android jni 方法签名
我使用 SWIG 为 Irrlicht C/C++ 3D 引擎生成了一些本机 JNI 函数接口,我得到了一堆 java 代理类和一个中间 c/c++ 文件,它们实现了 java 本机函数来粘合 java 代理类和 Irrlicht C/ C++ 3d 引擎。
所有 java 代理类都在包 net.sf.jirr 中生成。并且生成的 java 原生方法定义在 net.sf.jirr.JirrJNI 类中。
由于 SWIG 生成的 c/c++ jni 函数的名称不符合默认的 android jni 函数调用约定,我需要手动将这些 java 本机方法注册到相应的 C/C++ jni 函数中。
即以生成的java native方法net.sf.jirr.JirrJNI.SColor_setRed为例: 生成的java native方法定义为:
生成的c/c++ jni函数定义为:
由于c/c++ jni函数不符合android c/c++ jni函数调用约定(在这种情况下生成的c/c++ jni函数名称应该是Java_net_sf_jirr_JirrJNI_SColor_setRed,如果它需要在JNI_OnLoad函数中不注册本机函数的情况下调用.)
因此,我正在尝试手动注册本机方法,例如:
其中 JNI_REG_CLASS、JNI_METHODS、JNI_METHODS_COUNT 定义为:
因此,我需要解析 net.sf.jirr.JirrJNI 类并为所有 Java 本地方法生成一堆 SET_A_JNI_METHOD(......) 宏。
在这个 SET_A_JNI_METHOD 宏中,名称部分只是 java 原生函数名称;签名部分符合java jni方法签名标准(在官方java jni JNINativeMethod参考中有解释);func_ptr部分是添加Java_$(PackageName)_作为前缀,在java原生方法名的每一部分(不包括类名部分)后面加上一些索引号(这里用“_”隔开)。IE:
有关如何使用 Python 正则表达式完成此操作的任何提示?
ios - 如何在 Xcode 中设置 Irrlicht 游戏引擎以进行 ios 部署
我知道有些人已经做到了这一点,因为应用商店中有许多由 irrlicht 提供支持的应用程序。我试图建立一个包含所有 irrlicht 源的 xcode 项目,并为 ios 编译和运行,但无法让它工作。我正在使用 irrlicht 1.7.3。有没有人愿意分享他们是如何做到这一点的?
c++ - C ++:围绕平面法线旋转矢量
我试图以一定的角度围绕平面的法线旋转平面上的一个点(因此它保持在平面上)。
例如:
- 点 = (0,0,1)(在平面上)
- 正常 = (0,1,0)
- 角度 = 33 度
但似乎无法弄清楚如何做到这一点
编辑:
旋转轴始终通过原点 (0,0,0)
android - 为 Android 编译 Irrlicht 时出错
在编译 Irrlicht 3d 引擎的 android 端口时:
https
://gitorious.org/irrlichtandroid
我收到以下错误:
有谁知道如何解决这个冲突?
c++ - 将 irr::c8 转换为 wchar_t*
我正在制作一个 3D 环境,并且我想制作它,以便当您将十字准线通过对象时,会弹出一些带有其描述的文本。但是我遇到了这个非常烦人的字符串格式。
info 是文本对象,而 getSceneNodeblahblah->getName 是我想要的描述。
这不起作用,因为 setText 需要 wchar_t* 而 getName() 提供了 irr::c8。.c_str() 似乎没有任何帮助。
我怎样才能让这两个玩得很好?
android - Android Irrlicht Bullet 随机内存管理崩溃
我一直在努力修复我们游戏中的一些最终错误。游戏使用 Irrlicht 和 Bullet 物理的 Android 端口。
在 OS X 和 Windows 上尝试了相同的代码,没有任何问题。但是,当我们将代码移植到 Android NDK 时,现在出现随机崩溃。大多数崩溃都libc.so
可能是空指针异常。我们不在scenenode->remove()
我们的代码中使用,而是使用smgr->addToDeletionQueue
.
崩溃是如此随机,以至于它发生在以下语句中。
libc.so
smgr->drawall()
stepsimulation
在子弹中。
当我们卸载一个关卡并加载下一个关卡或重新加载一个关卡时,90% 的时间都会发生错误。我们首先怀疑编译器并使用了stlport。应该提升图书馆的帮助吗?
我敢肯定,我提供的信息很少能猜出问题所在。但是由于相同的游戏代码在其他平台上运行良好,我只是想清除我对编译器相关差异的怀疑。
一个简单malloc
的然后delete
在 android ndk 中在删除时崩溃。因此,我想更好地了解我们正在努力解决的问题是否是与编译器相关的愚蠢问题。