载入中...
搜索中...
未找到
MeshContactBlend.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Export.h"
4#include "common/Result.h"
5#include "procgen/MeshBuild.h"
6
7#include <cstddef>
8#include <cstdint>
9#include <string_view>
10#include <vector>
11
12namespace eve::procgen {
13
23 float edgeRadius = 0.f;
24 float materialRadius = 0.f;
25 float strength = 1.f;
26 float normalsBlend = 1.f;
27 float materialBlend = 1.f;
28 float maxQueryDistance = 0.f;
29 float surfaceOffset = 0.f;
30 bool softSnapPositions = false;
31 std::string_view falloff = "smooth";
32};
33
51 const MeshBuild& mesh, const std::vector<std::int32_t>& vertexSourceIds,
53
62 const MeshBuild& movable, const MeshBuild& surface, const MeshContactBlendParams& params);
63
70
71} // namespace eve::procgen
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Mesh * mesh
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
CPU triangle mesh from procedural mesh recipes (e.g. marching cubes). Positions/normals are xyz-packe...
Definition MeshBuild.h:19
std::vector< ParamSpec > params
Result< MeshBuild > meshContactBlendResult(const MeshBuild &mesh, const std::vector< std::int32_t > &vertexSourceIds, const MeshContactBlendParams &params)
Fuse edge normals / optional positions and material blend weights across source slices.
Result< MeshBuild > meshContactBlendAgainstSurfaceResult(const MeshBuild &movable, const MeshBuild &surface, const MeshContactBlendParams &params)
Deform movable toward surface only (dynamic adhere / one-way fusion).
void rebuildSoftSnapContactNormals(MeshBuild &mesh)
Rebuild triangle normals then 1-ring-average them (soft-snap / post-weld lighting).
Parameters for contact-band edge and material fusion.