4#include "Rendering/VertexFormat.h"
5#include "Rendering/DataFormat.h"
7#include "MeshStreamsLayout.h"
9#include "Foundation/HashSequence.h"
10#include "Foundation/Logging/Logger.h"
26 LOG_DEBUG(logger,
"+- MeshStreamsLayout numStreams=%u hash=%zu:", numStreams,
hash);
28 for (
size_t i = 0; i < numStreams; i++) {
29 if (vertexFormats[i]) {
30 const Cogs::VertexFormat* format = Cogs::VertexFormats::getVertexFormat(vertexFormats[i]);
32 for (
size_t k = 0; k < format->
elements.size(); k++) {
35 LOG_DEBUG(logger,
" +- strm=%zu:elmt=%zu: off=%2u step=%u %c %s %.*s:%u", i, k,
40 StringViewFormat(Cogs::getElementSemanticName(element.
semantic)),
45 LOG_DEBUG(logger,
" +- strm=%zu: <no elements>", i);
49 LOG_DEBUG(logger,
" +- strm=%zu: <no format>", i);
Log implementation class.
constexpr size_t hash() noexcept
Simple getter function that returns the initial value for fnv1a hashing.
@ VertexData
Per vertex data.
VertexFormatHandle vertexFormats[maxStreams]
COGSCORE_DLL_API void updateHash()
void logLayout(Cogs::Logging::Log &logger) const
static constexpr size_t maxStreams
Vertex element structure used to describe a single data element in a vertex for the input assembler.
InputType inputType
Input type of the element, vertex or instance data.
DataFormat format
Format of the element.
uint16_t offset
Offset in bytes from the vertex position in memory.
uint16_t semanticIndex
Index for the semantic mapping.
ElementSemantic semantic
Semantic mapping of the element (position, normal, etc...).
uint16_t instanceStep
Instance step factor.