问题标签 [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 投票
2 回答
4266 浏览

3d - Assimp 模型有纹理但没有纹理坐标

我正在使用 Assimp 将 3D 模型加载到我的程序中。到目前为止,一切都变得很花哨,除了我遇到了一个似乎没有意义的 Lightwave 对象。当然它在 Lightwave 中渲染得很好,但在 Assimp 中没有纹理坐标,没有 UV 坐标,但纹理最终会被加载。但这无济于事——它们只是存在于内存中,永远不会被使用,因为——你猜对了——没有纹理坐标。

到目前为止,我还没有找到任何有用的 Assimp 页面。其他模型加载良好并且经过适当的纹理映射。这是 Assimp 的问题吗?

0 投票
1 回答
1600 浏览

opengl - GLSL 法线贴图(Lambert 为 0.0 的区域被点亮)

当我使用模型的法线时,结果很好(有暗区和亮区,正如我对简单的朗伯漫反射着色器所期望的那样)

但是当我使用法线贴图时,黑暗区域会变亮!

我想使用法线贴图并且仍然像这些示例一样获得正确的漫射照明

这是有和没有法线映射的代码

这是使用法线贴图的代码

顶点着色器

片段着色器

注意:实际的法线贴图可以正常工作,如镜面高光所示

我使用 Assimp 加载模型(md5mesh)并使用 Assimp 计算切线,然后将其作为属性发送到着色器

这是问题的代码和屏幕截图的链接

https://dl.dropboxusercontent.com/u/32670019/code%20and%20screenshots.zip

这是代码中的问题还是我有误解?

更新的代码和屏幕截图

https://dl.dropboxusercontent.com/u/32670019/updated%20code%20and%20screenshots.zip

现在法线贴图与漫反射一起使用,但单独使用漫反射是不正确的

0 投票
2 回答
474 浏览

c++ - ASSIMP & paintGL() ,渲染缓慢(和崩溃)

我正在使用 Assimp 加载 .3ds 文件,并使用 QGLWidget 派生类使用 PaintGL() 绘制它。它适用于小的 .3ds 文件(一些 KBytes),但如果我尝试渲染更大的文件(如 1MBytes),应用程序会崩溃。我的方式太糟糕和扭曲了吗?难道我做错了什么?

使用 qDebug,我知道 paintGL() 可以正常工作。问题出在我们的 Render 方法中,因为如果我掩盖了

并详细

循环它所有的工作都很快(但显然什么都没有画)除了网格和轴。有了它,加载一些复杂的 3ds,它崩溃了

我的硬件是

在 Celeron 2.1 Ghz 上它崩溃但在 i7 上程序启动但渲染 @2FPS(如果我不使用“ourRender”方法,它在我的电脑上以 120fps 渲染)

这是“ourRender”方法:

...在派生的 QGLWidget 类构造函数中...

0 投票
0 回答
1042 浏览

c++ - OpenGL Assimp C++ 访问冲突读取位置 0x00000000

我在尝试根据一些教程运行简单的模型加载器/显示器时遇到了问题。每当我编译以下代码时,都会收到此错误:

我知道这意味着正在访问一个非法的空指针,但我似乎找不到。这是我的代码:

}

我在这里使用这个功能:

最奇怪的是,根据我选择加载的模型格式,我会在不同的地方得到一个错误中断,但错误总是一样的。我正在使用 assimp 3.0 版和 Visual Studio 2010。

0 投票
3 回答
613 浏览

c++ - 函数返回后指向无效内容的指针

我在返回这个 const 指针时遇到了问题。使用调试器向我展示了场景已正确导入并存储在变量场景中。返回scene后,scene指向的内容丢失,调用loadData()的类无法访问。

Importer并且aiScene(struct)是 assimp 库的一部分,不能修改)

我假设场景存储在堆栈中,返回调用重置堆栈指针并且内容丢失。如何在 C++ 中处理这样的问题?

0 投票
1 回答
1845 浏览

c++ - 将 Codeblock glut 项目与 assimp 库链接

您好,我是 assimp 的新手,有问题。当我尝试包括:

#include <assimp/scene.h>

#include <assimp/postprocess.h>

在 c++ glut 项目中它说没有这样的文件或目录,所以我显然需要将一些库链接到项目。问题是我在哪里可以找到那个图书馆。我下载了 assimp view 3.0 并用它打开了我需要在 c++ 中导入的对象,到目前为止它看起来还不错。

http://assimp.sourceforge.net/lib_html/usage.html .. 是如何在 c++ 中使用 assimp 的链接,但没有关于如何链接它的信息

0 投票
1 回答
1925 浏览

c++ - OpenGL奇怪的渲染行为(闪烁的面孔)

上一篇:我正在使用 Assimp(Open Asset Import)库来导入一个 .3ds 文件。网格使用法线和材质进行渲染。使用 Qt。我们尝试过的所有计算机上的驱动程序都是最新的。

POST:当我使用相机围绕对象旋转时,我可以看到一些网格的面在闪烁。

使用 Assimp 的 render() 方法(从 A. wsite 下载的示例代码)也会发生同样的情况。

1)奇怪的是,它通常发生在小尺寸的.3ds上,而从来没有发生在大尺寸的.3ds上。

2)如果我真的很近,就没有文物。我离得越远,我看到的文物越多。

是 .3ds 问题还是我的问题?

大 .3ds (20MB) 示例 e

小 .3ds (3MB) 示例 在此处输入图像描述

我在这里粘贴我的 Draw() 函数(使用 glLists 但我无法摆脱它们):

0 投票
1 回答
524 浏览

ios - 在 IOS 中使用线程时,assimp 无法导入 3d 模型

我正在尝试通过在 IOS 中使用 assimp lib 将模型导入渲染器。我的模型文件大小为 2mb;

我可以通过不使用线程成功导入模型。

但是当我在一个线程中运行我的代码时,assimp 无法导入。

所以基本上如果我使用线程,这个场景就变成了零。

我用错了线程吗?

我错过了什么?

您可以从此链接查看更多代码:http: //pastebin.com/aLjx7dvZ

为了保持问题的简单性,我没有发布完整的代码。

0 投票
3 回答
523 浏览

opengl - OpenGL,添加 Assimp 3D 模型后屏幕不更新

我正在使用 OpenGL 4.0,我的场景中有 3 个东西,它们是 -

1- VBO 平面
2- 立方体贴图
3- 3D 模型 [3ds/obj]

我正在使用 Assimp 库导入 3D 模型,我为导入模型而构建的代码是在 YouTube 上来自“TheCPlusPlusGuy”的教程的帮助下完成的。

这是我面临的问题,我可以在我的场景中渲染飞机,我可以渲染立方体贴图,也就是天空盒,在我的场景中,我可以一起渲染它们。
但是当我渲染任何 3D 模型时,无论是 .3ds 还是 .obj,屏幕都不会更新。即使我调整屏幕大小,它也不会更新。
这仅在我渲染 3D 模型时发生。我在运行时使用了标志并启用了绘制 3D 模型,程序运行良好,直到我渲染模型,一旦我渲染模型,模型本身不会出现在屏幕上,但屏幕再次冻结。
我用谷歌搜索了它,但似乎没有其他人遇到过这样的问题。

我的主要诊断是因为我将 VBO 用于平面、立方体贴图和 3D 模型,所以我遇到了这个问题。

0 投票
1 回答
2281 浏览

parsing - Assimp 没有正确加载索引

我正在尝试加载简单的 3d 模型 cube.3ds,但出现下一个错误:当我读取向量的索引时,向量包含:[0,1,2,3,...]。这是不正确的。我发现了几乎相同的主题:Assimp and D3D model loading: Mesh not being displayed in D3D,但我没有找到答案。谁能详细描述从网格加载索引的算法。非常感谢!