#pragma once #include #include #include #include #include #include namespace fmt { struct AssetResolver; } namespace mtgodot { // W2 —— 真正的多图层地表材质。SHINSOO §9-W2。 // - 每图层的 258→256 alpha 打进 RGBA8 权重贴图(≤2 张 = ≤8 图层) // - 每图层的颜色 DDS 解码 + resize 256²,堆成 Texture2DArray // - ShaderMaterial:逐图层按权重 mix,UV 按 TextureLayer.u_scale/offset 平铺 // - shadowmap.dds 作为 albedo 乘法项(有则) // 光照交给 Godot 内置 DirectionalLight(W5 由 .msenv 驱动)。 godot::Ref build_chunk_terrain_material( const fmt::SplatSet &splat, const fmt::TextureSet &tset, const fmt::AssetResolver &res, const godot::String &shadowmap_path); // 清理 function-static 的 terrain shader(退出时调,避免 "shader never freed")。 void cleanup_terrain_shader(); } // namespace mtgodot