载入中...
搜索中...
未找到
HexMeshData.h
浏览该文件的文档.
Pointy-top hex metrics, directions and vertex helpers.
CPU-side triangle soup for one hex chunk surface.
Definition HexMeshData.h:24
void finalize() noexcept
Computes flat per-face normals. Must be called before upload.
Definition HexMeshData.cpp:35
void addTriangle(std::uint32_t a, std::uint32_t b, std::uint32_t c)
Appends a triangle with counter-clockwise winding.
Definition HexMeshData.cpp:24
void addQuad(std::uint32_t a, std::uint32_t b, std::uint32_t c, std::uint32_t d)
Appends a quad as two triangles (a,c,b and b,c,d).
Definition HexMeshData.cpp:30
void clear() noexcept
Removes every vertex and index, keeping the allocated capacity.
Definition HexMeshData.cpp:7
const std::vector< float > & uvs() const noexcept
Texture coordinate stream (uv per vertex).
Definition HexMeshData.h:60
const std::vector< float > & positions() const noexcept
Interleaved-free position stream (xyz per vertex).
Definition HexMeshData.h:56
const std::vector< std::uint32_t > & indices() const noexcept
Triangle index stream.
Definition HexMeshData.h:62
bool hasNormals() const noexcept
Whether finalize() produced a normal for every vertex.
Definition HexMeshData.h:65
const std::vector< float > & normals() const noexcept
Normal stream (xyz per vertex), valid after finalize().
Definition HexMeshData.h:58
std::uint32_t addVertex(HexVec3 position, float u, float v)
Appends one vertex.
Definition HexMeshData.cpp:14
Definition HexCell.h:9
Definition Container.h:602
Minimal 3-component float vector used by the hex mesh builders.
Definition HexMetrics.h:18