问题标签 [assimp]

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 回答
2331 浏览

vector - 如果您还使用它来生成法线,是否可以使用 assimp 来生成切线?

我引入的模型通常没有法线和切线。在aiProcess_CalcTangentSpace的评论中看到这一行,我感到很失望:

“如果网格没有法线,则什么都不做。”</p>

这里的问题是,我的网格确实有法线,但它们只是由 aiProcess_GenSmoothNormals 计算的。

有没有办法在生成法线后进行额外的后期处理?我绝对可以自己编写代码来生成切线,但我比我更信任 assimp 团队的切线生成技能。

更新:我发现您可以通过使用导入器的成员函数“ApplyPostProcessing(UINT flags)”来应用额外的后期处理步骤

问题是尽管这样做了,我的模型仍然没有切线或双切线。这张截图很容易地总结了这个问题: 尽管存在法线,但未计算切线

感谢您阅读

0 投票
1 回答
2034 浏览

c++ - 无法使用导出器类导出带有 assimp 的模型

我正在使用 assimp 库将模型加载到我的 ios 应用程序中。但是对于一些大型模型文件来说,加载时间对于移动应用程序来说太长了。

考虑转换处理时间。我决定在运行前通过工具转换我的模型。

我的主要目标是将这个场景写入文件。

我有非常基本的 C++ 经验。首先我尝试了 assimp::expoerter 类。

我在导出设置上遵守了 assimp 库。

但是当我尝试使用导出方法时,我收到了这个错误消息。

错误捕获

方法在那里,但我不能使用它。

然后通过阅读Assimp::Exporter Class Reference给了我使用aiExportDataBlob创建文件的想法。

ExportToBlob 返回一个内存缓冲区 (blob) 的链接列表,每个都引用一个输出文件(在大多数情况下,当然只有一个输出文件,但是由于 Assimp 旨在支持多种文件格式,因此需要这种额外的复杂性)。

如果您打算使用内存中的数据,ExportToBlob 特别有用。

但我不知道将此blob写入文件。

任何建议或帮助表示赞赏。

0 投票
1 回答
3893 浏览

c++ - OpenGL Assimp 导入的模型不渲染

我正在尝试使用 assimp 加载模型。我正在尝试使用索引,但我的模型不起作用。我的代码没有错误(只是由于某种原因解析无法正常工作),这就是它:

loadOBJ 函数似乎解析不正确。

0 投票
0 回答
157 浏览

c++ - ASSIMP bulid 错误:“无效选项 -f”

这是我在这里的第一个问题,我不擅长英语,所以请见谅:D 我正在尝试在 Code::Blocks(MinGW 编译器)中构建一个 ASSIMP 库。我使用 CMake 生成 C::B 项目(除了设置 DirectX 路径和启用 BOOST 解决方法之外,我没有太大变化)。当我尝试构建项目时,库似乎在构建:

构建完成:1 个错误,204 个警告(17 分 25 秒)

但我得到一个错误:

=== Assimp,所有 ===

...(警告)

无效选项 -f

Enyone 知道似乎是什么问题?

0 投票
1 回答
1429 浏览

opengl - assimp 演示加载 3d 模型

我第一次尝试使用 assimp 加载 3D 模型。这里给出的例子来自 lighthouse3d链接

它编译没有错误。但是,我收到了与 Jeffrey 在帖子下方的评论中讨论的错误类似的错误。

并且可能该示例已修复,因此此错误似乎不会再次出现。但它显示了另一个,我的情况:

如果可能的话,我尽量不深入研究计算机图形,只需加载模型

有什么建议吗?

Edit01:我认为这将是着色器代码:链接

Edit02:我在一个单独的文本文件 dirlightdiffambix.frag 中查找了它,并且其中有 var 输出链接

而且我想我已经修复了它,因为错误只是“输出”是一个保留关键字,并且相应的 var 的名称应该更改为 ... output1 例如

0 投票
1 回答
1923 浏览

opengl - 使用 assimp 加载二进制 STL 模型

我已经开始熟悉 Assimp。我使用这个库的任务非常简单,只是加载一个 3D 模型,将其可视化并从中稀疏必要的信息,例如刻面、刻面法线……可能是一些带相机的操作

我已经在链接上成功加载了几个模型

此处给出的示例可以加载 obj 和 ascii stl 模型。但是,无法使用 STL 二进制模型完成相同的任务,这会生成错误,例如:“ASCII 文件为空或无效;未加载数据 - 无法加载模型”

另外两个参考证实我的错误不是第一个:

链接1

链接2

第二个链接建议使用 ivcon 作为解决方案。但是这个帖子是 3 年前的

目前的解决方案如何?我可以通过一些导入命令设置直接修复它吗?

0 投票
2 回答
6480 浏览

opengl - 你如何使用 Assimp 加载 Blender 文件?

我尝试使用以下代码在 C++ 上使用 Assimp 库加载 Blender 文件,但它失败了,因为它根本没有任何网格。我使用的搅拌机文件是使用搅拌机本身保存的默认立方体。

我在这里做错了什么,我是否需要包含特殊标志才能加载搅拌器对象?还是我需要以某种方式导出 Blender 对象?

0 投票
1 回答
364 浏览

c++ - 返回指针会弄乱对象(访问冲突)

我正在摆弄 assimp 和 C++,我编写了一个简单的函数来从文件中加载场景。但是,当我尝试返回指针时,对象会变得混乱,如果我尝试检索成员数据,则会出现访问冲突。这个片段应该演示这种情况:

我想我在这里错过了一些关于指针和常量等的重要内容。有任何想法吗?

0 投票
1 回答
353 浏览

c++ - 无法在 OpenGL 上使用 AssImp 运行场景

我正在使用 AssImp 解析要在 OpenGL 上使用的简单多维数据集(作为测试示例)。但是当 OpenGL 启动时,我看到了我的场景,里面有立方体,然后是我的 Nvidia 驱动程序上的这个错误:

http://nvidia.custhelp.com/app/answers/detail/a_id/3007

OpenGL 关闭,并且在我开始使用 AssImp 后一直发生这种情况。

我的 Nvidia 是 GeForce 9300M GS。绘制立方体的代码非常简单:

有没有人在使用 AssImp 的 Nvidia 驱动程序上遇到过这种崩溃?

我不知道问题可能是什么。我已经在这台计算机中多次使用 OpenGl,用更复杂的形状构建整个场景,但我从来没有得到这个。

0 投票
0 回答
936 浏览

c++ - 将外部库添加到 QT 5.1.1 项目

我正在尝试包含用于将资产导入我的 QT 项目的 assimp 库( http://assimp.sourceforge.net/main_doc.html )。

我设法将它包含在 VS2012 中,但没有包含在 QT 中。

导入向导给了我这个代码:

当我构建代码时,它会抛出这个错误 undefined reference to `Assimp::Importer::Importer()'

如果我理解正确:

我是否必须手动将 .dll 文件的位置添加到 .pro 中,或者我缺少什么?