载入中...
搜索中...
未找到
RoadRecipes.h
浏览该文件的文档.
1#pragma once
2
3#include "procgen/MeshBuild.h"
4#include "procgen/Params.h"
7
8#include <memory>
9#include <string>
10
11namespace eve::image {
12class ImageData;
13}
14
15namespace eve::procgen {
16class MeshRecipeRegistry;
17class TextureRecipeRegistry;
18
19namespace road {
20
30[[nodiscard]] Result<RoadBakeResult> bakeRoadNetworkRecipe(const Params& params);
31
33bool generateRoadNetworkMesh(const Params& params, MeshBuild& out, std::string& error);
34
36[[nodiscard]] Result<RoadOverlay> generateRoadNetworkOverlay(const Params& params);
37
39std::unique_ptr<image::ImageData> generateRoadMarkingsTexture(const Params& params, std::string& error);
40
42void registerRoadMeshRecipes(MeshRecipeRegistry& registry);
44void registerRoadTextureRecipes(TextureRecipeRegistry& registry);
45
46} // namespace road
47} // namespace eve::procgen
std::string error
Definition Package.cpp:60
std::vector< ParamSpec > params
Result< RoadOverlay > generateRoadNetworkOverlay(const Params &params)
Bake navigation overlay for the same Params used by mesh.roadNetwork.
std::unique_ptr< image::ImageData > generateRoadMarkingsTexture(const Params &params, std::string &error)
Pure-function road marking atlas (asphalt + edge + dashed center + zebra).
Result< RoadBakeResult > bakeRoadNetworkRecipe(const Params &params)
Build the shared road recipe once for mesh, navigation and artifact projections.
bool generateRoadNetworkMesh(const Params &params, MeshBuild &out, std::string &error)
Generate a multi-level interchange mesh from Params (span/height/lanes/seed).
void registerRoadMeshRecipes(MeshRecipeRegistry &registry)
Registers road mesh recipes.
void registerRoadTextureRecipes(TextureRecipeRegistry &registry)
Registers road texture recipes.