加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Model.h 879 Bytes
一键复制 编辑 原始数据 按行查看 历史
edwardewang 提交于 2023-03-29 16:35 . finish stencil testing
//
// Created by edward on 23-3-16.
//
#ifndef LEARNOPENGL_MODEL_H
#define LEARNOPENGL_MODEL_H
#include "Mesh.h"
#include <assimp/Importer.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include <iostream>
#include <memory>
class Shader;
class Model {
public:
explicit Model(const std::string &path);
~Model();
void draw(Shader *shader);
void showBorder();
void hideBorder();
private:
void traverse(aiNode *node, const aiScene *scene);
Mesh createMesh(aiMesh *mesh, const aiScene *scene);
std::vector<Texture> loadMaterialTextures(aiMaterial *mat, aiTextureType type,
std::string typeName);
void drawBorder(Shader *shader);
std::vector<Mesh> meshes_;
std::string directory_;
bool showBorder_;
std::unique_ptr<Shader> borderShader;
};
#endif //LEARNOPENGL_MODEL_H
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化