diff options
| author | Yong He <yonghe@outlook.com> | 2021-03-08 10:01:20 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-08 10:01:20 -0800 |
| commit | fc9968dc4fd58fab37476f48e4405c2743c5349c (patch) | |
| tree | 6119b293a5a5cc24401dde5ff54287beb28fe63b /tools/graphics-app-framework/model.h | |
| parent | 95ca93938f5d45f4eaf340867965bd77a1724d6c (diff) | |
Refactor window library. (#1739)
* Refactor window library.
* Fix project file
* Fix warnings.
Diffstat (limited to 'tools/graphics-app-framework/model.h')
| -rw-r--r-- | tools/graphics-app-framework/model.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/tools/graphics-app-framework/model.h b/tools/graphics-app-framework/model.h deleted file mode 100644 index 412f10a1d..000000000 --- a/tools/graphics-app-framework/model.h +++ /dev/null @@ -1,77 +0,0 @@ -// model.h -#pragma once - -#include "slang-gfx.h" -#include "vector-math.h" -#include "slang-com-ptr.h" -#include <vector> -#include <string> - -namespace gfx { - -struct ModelLoader -{ - struct MaterialData - { - glm::vec3 diffuseColor; - glm::vec3 specularColor; - float specularity; - - ComPtr<ITextureResource> diffuseMap; - }; - - struct Vertex - { - glm::vec3 position; - glm::vec3 normal; - glm::vec2 uv; - }; - - typedef uint32_t Index; - - struct MeshData - { - int firstIndex; - int indexCount; - - void* material; - }; - - struct ModelData - { - ComPtr<IBufferResource> vertexBuffer; - ComPtr<IBufferResource> indexBuffer; - PrimitiveTopology primitiveTopology; - int vertexCount; - int indexCount; - int meshCount; - void* const* meshes; - }; - - struct ICallbacks - { - typedef ModelLoader::MaterialData MaterialData; - typedef ModelLoader::MeshData MeshData; - typedef ModelLoader::ModelData ModelData; - - virtual void* createMaterial(MaterialData const& data) = 0; - virtual void* createMesh(MeshData const& data) = 0; - virtual void* createModel(ModelData const& data) = 0; - }; - - typedef uint32_t LoadFlags; - enum LoadFlag : LoadFlags - { - FlipWinding = 1 << 0, - }; - - ICallbacks* callbacks = nullptr; - Slang::ComPtr<IRenderer> renderer; - LoadFlags loadFlags = 0; - float scale = 1.0f; - - Result load(char const* inputPath, void** outModel); -}; - - -} // gfx |
