载入中...
搜索中...
未找到
PrototypeTextures.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4#include "image/ImageData.h"
5#include "procgen/Params.h"
6
7#include <memory>
8#include <span>
9#include <string_view>
10
11namespace eve::procgen {
12
13class TextureRecipeRegistry;
14
17 std::string_view id;
18 std::string_view displayName;
19};
20
28EVENGINE_API_DOMAINS std::span<const PrototypeTextureDescriptor> prototypeTextureDescriptors() noexcept;
29
46[[nodiscard]] EVENGINE_API_DOMAINS eve::Result<std::unique_ptr<image::ImageData>> generatePrototypeTexture(
47 std::string_view patternId, const Params& params);
48
56
57} // namespace eve::procgen
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Owning, typed generation parameters.
Definition Params.h:27
EVENGINE_API_DOMAINS public API.
std::vector< ParamSpec > params
void registerPrototypeTextureRecipes(TextureRecipeRegistry &registry)
Register all patterns as tex.prototype.* texture recipes.
std::span< const PrototypeTextureDescriptor > prototypeTextureDescriptors() noexcept
Return the stable catalogue of 13 procedural prototype patterns.
eve::Result< std::unique_ptr< image::ImageData > > generatePrototypeTexture(std::string_view patternId, const Params &params)
Generate a parameterized RGBA8 prototype texture without loading an image asset. @ownership On succes...
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
Small owning image product; raw pixels stay out of JSON metadata.
Metadata for one development/prototype texture pattern.
std::string_view id
Stable recipe suffix without the tex.prototype. prefix.
std::string_view displayName
Human-readable name for tools and editors.