Program Listing for File Vertex.ixx

Program Listing for File Vertex.ixx#

Return to documentation for file (Src/GraphicsEngineVulkan/scene/Vertex.ixx)

module;

#include "shared/scene/Vertex.hpp"

#define GLM_ENABLE_EXPERIMENTAL
#include <vulkan/vulkan.hpp>

#include <array>
#include <cstddef>
#include <span>

export module kataglyphis.vulkan.vertex;

export using ::Vertex;

export namespace vertex {
std::array<vk::VertexInputAttributeDescription, 5> getVertexInputAttributeDesc();

void computeFlatNormals(std::span<Vertex> vertices, std::span<const unsigned int> indices, std::size_t firstIndex = 0);

void fillMissingFlatNormals(std::span<Vertex> vertices,
  std::span<const unsigned int> indices,
  std::size_t firstIndex = 0);

void computeTangents(std::span<Vertex> vertices, std::span<const unsigned int> indices, std::size_t firstIndex = 0);
}