#pragma once #include "bsp.h" struct EdgeData { int edgeIndex = 0; const edge_t* edge = nullptr; std::vector faces; bool isSharpEdge = false; }; typedef std::unordered_map FaceBounds; typedef std::unordered_map> VertexFaces; unsigned char sample_lightmap(const world_t* world, const face_t* face, const BoundBox& bounds, const Vec3& point); void export_lightmap(const world_t* world, const face_t* face, const BoundBox& bounds, int faceIdx); std::unordered_map analyze_edges(const world_t* world); unsigned char compute_faceVertex_light(const world_t* world, const face_t* face, unsigned short vertexIndex, const FaceBounds& faceBounds, const std::unordered_map& edgeData); unsigned char compute_faceVertex_light2(const world_t* world, const face_t* face, unsigned short vertexIndex, const FaceBounds& faceBounds, const VertexFaces& vertexFaces);