载入中...
搜索中...
未找到
TerrainMaterialAtlas.h
浏览该文件的文档.
49[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<PackedTerrainMaterialAtlases> packTerrainMaterialAtlases(
63[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<TerrainMaterialAtlases> buildTerrainMaterialAtlases(
94[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<TerrainMaterialGpuSet> uploadTerrainMaterialAtlases(
98[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<void> releaseTerrainMaterialAtlases(graphics::IResourceFactory& factory,
102[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<PackedTerrainMaterialGpuSet> uploadPackedTerrainMaterialAtlases(
110[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<void> bindPackedTerrainMaterial(graphics::Shader& shader,
122[[nodiscard]] EVENGINE_API_ORCHESTRATION Result<void> bindTerrainMaterialGroup(graphics::Shader& shader,
Backend-neutral canonical EVIMG decoding.
Runtime canonical terrain-layer semantics.
Texture / mesh / shader / canvas creation and release.
Definition IResourceFactory.h:38
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:18
Result< PackedTerrainMaterialAtlases > packTerrainMaterialAtlases(const TerrainMaterialAtlases &atlases, const LoadedTerrainMaterial &material, const TerrainMaterialAtlasLimits &limits)
Repack grouped CPU atlases and material parameters for one terrain draw.
Definition TerrainMaterialAtlas.cpp:186
Result< void > bindTerrainMaterialGroup(graphics::Shader &shader, const TerrainMaterialGpuSet &gpu, const LoadedTerrainMaterial &material, std::size_t groupIndex)
Bind one uploaded group and its four layer values to a terrain shader.
Definition TerrainMaterialAtlas.cpp:379
Result< void > bindPackedTerrainMaterial(graphics::Shader &shader, const PackedTerrainMaterialGpuSet &gpu)
Bind a packed terrain set for one draw and publish its feature counts.
Definition TerrainMaterialAtlas.cpp:362
Result< PackedTerrainMaterialGpuSet > uploadPackedTerrainMaterialAtlases(graphics::IResourceFactory &factory, const PackedTerrainMaterialAtlases &atlases)
Upload a packed terrain set transactionally.
Definition TerrainMaterialAtlas.cpp:340
Result< TerrainMaterialAtlases > buildTerrainMaterialAtlases(const asset::EvpackResourceReader &reader, const LoadedTerrainMaterial &material, const asset::EvpackCapabilities &capabilities, const TerrainMaterialAtlasLimits &limits)
Resolve canonical image references and assemble one 2x2 atlas per control map.
Definition TerrainMaterialAtlas.cpp:87
Result< void > releasePackedTerrainMaterialAtlases(graphics::IResourceFactory &factory, PackedTerrainMaterialGpuSet &set)
Release and clear a packed terrain GPU set.
Definition TerrainMaterialAtlas.cpp:325
Result< void > releaseTerrainMaterialAtlases(graphics::IResourceFactory &factory, TerrainMaterialGpuSet &set)
Release every texture in a GPU set and clear it even if one backend release fails.
Definition TerrainMaterialAtlas.cpp:280
Result< TerrainMaterialGpuSet > uploadTerrainMaterialAtlases(graphics::IResourceFactory &factory, const TerrainMaterialAtlases &atlases)
Upload every atlas transactionally; partial failure releases earlier textures.
Definition TerrainMaterialAtlas.cpp:297
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Bounds applied before allocating decoded image bytes.
Definition EvpackImageDecoder.h:11
Owning capability-selected terrain material candidate.
Definition EvpackTerrainMaterialLoader.h:44
Single-draw terrain textures covering up to sixteen layers.
Definition TerrainMaterialAtlas.h:34
TerrainAtlasImage albedo
Definition TerrainMaterialAtlas.h:35
TerrainAtlasImage parameters
Definition TerrainMaterialAtlas.h:35
TerrainAtlasImage normal
Definition TerrainMaterialAtlas.h:35
std::uint32_t layerCount
Definition TerrainMaterialAtlas.h:36
TerrainAtlasImage controls
Definition TerrainMaterialAtlas.h:35
bool hasHoles
Definition TerrainMaterialAtlas.h:37
TerrainAtlasImage mask
Definition TerrainMaterialAtlas.h:35
Backend-owned texture set for a single draw of up to sixteen layers.
Definition TerrainMaterialAtlas.h:83
graphics::Texture * albedo
Definition TerrainMaterialAtlas.h:84
std::uint32_t layerCount
Definition TerrainMaterialAtlas.h:89
graphics::Texture * controls
Definition TerrainMaterialAtlas.h:87
graphics::Texture * parameters
Definition TerrainMaterialAtlas.h:88
graphics::Texture * mask
Definition TerrainMaterialAtlas.h:86
bool hasHoles
Definition TerrainMaterialAtlas.h:90
graphics::Texture * normal
Definition TerrainMaterialAtlas.h:85
Owning base-level linear RGBA8 image ready for backend upload.
Definition TerrainMaterialAtlas.h:16
std::vector< std::uint8_t > pixels
Definition TerrainMaterialAtlas.h:18
std::uint32_t height
Definition TerrainMaterialAtlas.h:17
Four-layer atlas group driven by one RGBA control image.
Definition TerrainMaterialAtlas.h:22
std::uint32_t firstLayer
Definition TerrainMaterialAtlas.h:23
std::uint32_t tileHeight
Definition TerrainMaterialAtlas.h:23
TerrainAtlasImage mask
Definition TerrainMaterialAtlas.h:24
std::uint32_t tileWidth
Definition TerrainMaterialAtlas.h:23
TerrainAtlasImage normal
Definition TerrainMaterialAtlas.h:24
TerrainAtlasImage albedo
Definition TerrainMaterialAtlas.h:24
std::uint32_t layerCount
Definition TerrainMaterialAtlas.h:23
TerrainAtlasImage control
Definition TerrainMaterialAtlas.h:24
Bounds for deterministic terrain atlas construction.
Definition TerrainMaterialAtlas.h:41
std::uint32_t maximumLayers
Definition TerrainMaterialAtlas.h:42
std::uint64_t maximumOutputBytes
Definition TerrainMaterialAtlas.h:44
asset::EvpackImageDecodeLimits image
Definition TerrainMaterialAtlas.h:45
std::uint32_t maximumTileDimension
Definition TerrainMaterialAtlas.h:43
Complete terrain material image set; up to four groups cover sixteen layers.
Definition TerrainMaterialAtlas.h:28
std::vector< TerrainMaterialAtlasGroup > groups
Definition TerrainMaterialAtlas.h:29
TerrainAtlasImage holes
Definition TerrainMaterialAtlas.h:30
Four backend-owned textures for one uploaded terrain group.
Definition TerrainMaterialAtlas.h:69
graphics::Texture * mask
Definition TerrainMaterialAtlas.h:72
graphics::Texture * normal
Definition TerrainMaterialAtlas.h:71
graphics::Texture * control
Definition TerrainMaterialAtlas.h:73
graphics::Texture * albedo
Definition TerrainMaterialAtlas.h:70
Backend-owned terrain textures released together on their graphics thread.
Definition TerrainMaterialAtlas.h:77
graphics::Texture * holes
Definition TerrainMaterialAtlas.h:79
std::vector< TerrainMaterialGpuGroup > groups
Definition TerrainMaterialAtlas.h:78