MGL(Win32)
読み取り中…
検索中…
一致する文字列を見つけられません
mgl_texture_loader.h
[詳解]
1// SPDX-License-Identifier: Zlib
2/* ------------------------------------------------------------------------- */
9/* ------------------------------------------------------------------------- */
10
11#ifndef INCGUARD_MGL_TEXTURE_LOADER_H_1607778878
12#define INCGUARD_MGL_TEXTURE_LOADER_H_1607778878
13
16#include <mgl/mgl_environment.h>
19
20namespace MGL::Render
21{
23using TextureLoaderKey = uint32_t;
24
26constexpr uint32_t kDefaultTextureLoaderKeySeed = MGL::Hash::kFNV1aDefaultValue32; // 32bitの値なら何でもいい.衝突する場合は変更を
27
28/* ------------------------------------------------------------------------- */
35/* ------------------------------------------------------------------------- */
36constexpr TextureLoaderKey MakeTextureLoaderKey(const char *key, uint32_t seed = kDefaultTextureLoaderKeySeed) noexcept
37{
38 return Hash::FNV1a(key, seed);
39}
40
43{
44public:
45 virtual ~TextureLoader() noexcept = default;
46
47 /* ------------------------------------------------------------------------- */
55 /* ------------------------------------------------------------------------- */
56 virtual bool Load(TextureResource &textureResource, const File::PathView &path) noexcept = 0;
57
58 /* ------------------------------------------------------------------------- */
67 /* ------------------------------------------------------------------------- */
68 virtual bool Load(TextureResource &textureResource, const void *imageData, size_t dataSize) noexcept = 0;
69};
70
73} // namespace MGL::Render
74
75#endif // INCGUARD_MGL_TEXTURE_LOADER_H_1607778878
76
77// vim: et ts=4 sw=4 sts=4
文字列の参照のみを行うファイルパスクラス
Definition mgl_file_path_view.h:20
テクスチャローダー
Definition mgl_texture_loader.h:43
virtual bool Load(TextureResource &textureResource, const void *imageData, size_t dataSize) noexcept=0
メモリ上のバッファから読み込み
virtual bool Load(TextureResource &textureResource, const File::PathView &path) noexcept=0
ファイルから読み込み
テクスチャリソース
Definition mgl_texture_resource.h:25
MGL 環境定義
文字列の参照のみを行うファイルパスクラス
MGL FNV-1aハッシュ計算関数
MGL STLのメモリ関連の代替
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247
uint32_t TextureLoaderKey
テクスチャローダーのキー
Definition mgl_texture_loader.h:23
STL::unique_ptr< TextureLoader > UniqueTextureLoader
テクスチャローダーのユニークポインタ
Definition mgl_texture_loader.h:72
constexpr TextureLoaderKey MakeTextureLoaderKey(const char *key, uint32_t seed=kDefaultTextureLoaderKeySeed) noexcept
テクスチャローダーのキーを生成
Definition mgl_texture_loader.h:36
constexpr uint32_t kDefaultTextureLoaderKeySeed
テクスチャローダーのキーを生成する際のシード値
Definition mgl_texture_loader.h:26
MGL テクスチャリソース