载入中...
搜索中...
未找到
Model3D.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Module.h"
6#include "model3d/ModelData.h"
7
8#include <string>
9
10namespace eve {
11class Data;
12
13namespace graphics {
14class Graphics;
15class Renderable3D;
16} // namespace graphics
17
18namespace model3d {
19class ModelData;
20
31 bool triangulate = true;
35 bool flipUVs = true;
37};
38
44public:
46
50 ~Model3D() override;
51
58 ModelData *newModelData(Data *data, std::string hintExt = "");
59
61 ModelData *newModelData(Data *data, std::string hintExt, const ModelLoadOptions &options);
62
67 ModelData *newModelDataFromFile(std::string path);
68
70 ModelData *newModelDataFromFile(std::string path, const ModelLoadOptions &options);
71
89 [[nodiscard]] eve::Result<void> requestModelData(const std::string &path);
90
99 [[nodiscard]] eve::Result<void> requestModelData(const std::string &path, const ModelLoadOptions &options);
100
109 int meshIndex);
110
120 [[nodiscard]] eve::Result<void> prepareFoliageDeformation(ModelData *model, int meshIndex,
121 graphics::Renderable3D *renderable);
122
128 bool bakeModel(const std::string &sourcePath, const std::string &destinationPath);
129};
130
131} // namespace model3d
132} // namespace eve
#define EVENGINE_API_WORLD
Definition Export.h:109
std::string path
Definition PlayHost.cpp:110
glm::mat4 model
const SquirrelValueOptions & options
std::string sourcePath
Data public API.
Definition Data.h:8
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Move-only operation result carrying either a value or Status.
Definition Result.h:155
EVENGINE_API_BACKENDS public API.
Resource module for decoding 3D models via medialoader (Assimp). Produces ModelData; GPU upload is gr...
Definition Model3D.h:43
~Model3D() override
Model 3 d.
CPU-side decoded 3D model (Assimp scene owned via medialoader::ModelScene). Does not upload to GPU — ...
Definition ModelData.h:39
Result< void > prepareFoliageDeformation(ModelData &model, int meshIndex, Renderable3D &renderable)
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
Toggles for the Assimp post-processing steps applied by medialoader on decode. All default to on (mat...
Definition Model3D.h:30