载入中...
搜索中...
未找到
TerrainMaterialAtlas.cpp 文件参考
#include "asset/procgen/TerrainMaterialAtlas.h"
#include "graphics/IResourceFactory.h"
#include "graphics/Shader.h"
#include <algorithm>
#include <bit>
#include <cmath>

浏览源代码.

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::asset_procgen
 

函数

Result< TerrainMaterialAtlases > eve::asset_procgen::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.
 
Result< PackedTerrainMaterialAtlases > eve::asset_procgen::packTerrainMaterialAtlases (const TerrainMaterialAtlases &atlases, const LoadedTerrainMaterial &material, const TerrainMaterialAtlasLimits &limits={})
 Repack grouped CPU atlases and material parameters for one terrain draw.
 
Result< void > eve::asset_procgen::releaseTerrainMaterialAtlases (graphics::IResourceFactory &factory, TerrainMaterialGpuSet &set)
 Release every texture in a GPU set and clear it even if one backend release fails.
 
Result< TerrainMaterialGpuSet > eve::asset_procgen::uploadTerrainMaterialAtlases (graphics::IResourceFactory &factory, const TerrainMaterialAtlases &atlases)
 Upload every atlas transactionally; partial failure releases earlier textures.
 
Result< void > eve::asset_procgen::releasePackedTerrainMaterialAtlases (graphics::IResourceFactory &factory, PackedTerrainMaterialGpuSet &set)
 Release and clear a packed terrain GPU set.
 
Result< PackedTerrainMaterialGpuSet > eve::asset_procgen::uploadPackedTerrainMaterialAtlases (graphics::IResourceFactory &factory, const PackedTerrainMaterialAtlases &atlases)
 Upload a packed terrain set transactionally.
 
Result< void > eve::asset_procgen::bindPackedTerrainMaterial (graphics::Shader &shader, const PackedTerrainMaterialGpuSet &gpu)
 Bind a packed terrain set for one draw and publish its feature counts.
 
Result< void > eve::asset_procgen::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.