我使用learnopengl 模型加载教程及其代码来加载他们的模型。当我尝试加载不同的模型时,它不起作用。在网上阅读后,我了解到我的模型可能没有纹理,而是可能有材质。
我阅读在模型类中使用以下函数:
Material loadMaterial(aiMaterial *mat)
{
Material material;
aiColor3D color(0.f, 0.f, 0.f);
float shininess;
mat->Get(AI_MATKEY_COLOR_DIFFUSE, color);
material.Diffuse = glm::vec3(color.r, color.b, color.g);
mat->Get(AI_MATKEY_COLOR_AMBIENT, color);
material.Ambient = glm::vec3(color.r, color.b, color.g);
mat->Get(AI_MATKEY_COLOR_SPECULAR, color);
material.Specular = glm::vec3(color.r, color.b, color.g);
mat->Get(AI_MATKEY_SHININESS, shininess);
material.Shininess = shininess;
return material;
}
Run Code Online (Sandbox Code Playgroud)
我不确定在哪里调用它以及如何将其与我的代码的其余部分集成。
这是我的其余代码:
型号类别:
#ifndef MODEL_H
#define MODEL_H
//#include <glad/glad.h>
#include <GL/glew.h>
#include <glm/glm.hpp>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <stb_image.h>
#include <assimp/Importer.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include …Run Code Online (Sandbox Code Playgroud)