OpenGL模型加载库Assimp使用时碰到的问题

1.下载Assimp源文件,用cmake生成sln解决方案,这里碰到的问题是用迅雷下载的包解压后有问题,导 致生成sln失败。直接使用默认下载即可,开启迅雷插件扩展的可以关闭或删除。
2.教程上说的DiectX问题我电脑未出现。
3.生成sln时,Debug模式加载不出来模型,可以试试Release,x64不行可以试试x86。
4.生成解决方案,在code/debug或release下有dll和lib文件,放到项目工程根目录即可,dll还需放debug或release文件夹下一份
5.还有一个我遇到的问题:找不到下面的文件
在这里插入图片描述
还需把下载的源文件下的Include下的库文件放到自己的库文件夹目录下,但源文件里没有这个config.h头文件,这个文件在用cmake生成的sln目录下include文件夹下,复制到自己的库文件夹路径下即可。
我主要是这个问题导致我加载模型失败。

6.lib扩展的库文件还需要链接到项目里,链接库文件可以参考learnopengl.com教程。
7.加载obj格式文件,需要obj源文件、贴图、mtl文件,或者自己在Model类中处理没有的情况
8.FBX格式内嵌贴图终于可以加载了!
参考:这里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在Qt中使用OpenGL和Assimp加载骨骼动画,需要进行以下步骤: 1. 在Qt中使用OpenGL:首先,需要使用Qt的OpenGL模块来创建OpenGL窗口和上下文。可以使用Qt自带的QGLWidget类或者QOpenGLWidget类来创建OpenGL窗口。然后,需要在OpenGL上下文中加载Assimp导入的模型和动画数据。 2. 加载Assimp导入的模型使用Assimp导入模型文件,并将所有顶点数据存储在内存中。Assimp还提供了一些函数来访问模型的骨骼和动画数据。 3. 加载骨骼动画:使用Assimp提供的函数来加载骨骼动画数据。这些数据通常包括关键帧和骨骼层次结构。可以使用这些数据来计算每个骨骼在每个间步长中的变换矩阵。 4. 动画播放:将每个骨骼的变换矩阵应用于每个顶点,以在每个间步长中更新动画。可以使用OpenGL的顶点着色器来执行此操作。 以下是一些代码示例,演示如何在Qt中加载Assimp导入的模型和动画数据,并将其渲染到OpenGL窗口中: ```cpp #include <QOpenGLWidget> #include <QOpenGLFunctions> #include <assimp/Importer.hpp> #include <assimp/scene.h> #include <assimp/postprocess.h> class MyOpenGLWidget : public QOpenGLWidget, protected QOpenGLFunctions { public: MyOpenGLWidget(QWidget *parent = nullptr) : QOpenGLWidget(parent) { } void initializeGL() override { initializeOpenGLFunctions(); glClearColor(0.2f, 0.3f, 0.3f, 1.0f); Assimp::Importer importer; const aiScene* scene = importer.ReadFile("model.dae", aiProcess_Triangulate | aiProcess_FlipUVs); // Load mesh data into VBOs ... // Load bone data into VBOs ... // Load animation data into VBOs ... } void paintGL() override { glClear(GL_COLOR_BUFFER_BIT); // Update animation ... // Render mesh ... } }; ``` 在上面的示例中,`initializeGL()`函数将加载模型和动画数据,并将它们存储在OpenGL缓冲区中。`paintGL()`函数将更新动画并呈现模型。这些步骤的具体实现将取决于您的应用程序需求和Assimp的版本。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值