candlewick 0.1.0
A renderer
Loading...
Searching...
No Matches
MeshLayout.h File Reference
#include <SDL3/SDL_gpu.h>
#include "math_types.h"
#include <vector>

Go to the source code of this file.

Classes

class  candlewick::MeshLayout
 This class defines the layout of a mesh's vertices. More...
 

Namespaces

namespace  candlewick
 

Concepts

concept  candlewick::IsVertexType
 Basic concept checking if type V has the correct layout and alignment requirements to be a vertex element.
 

Macros

#define _c(field)
 
#define _c(field)
 

Enumerations

enum class  candlewick::VertexAttrib : Uint16 {
  candlewick::Position , candlewick::Normal , candlewick::Tangent , candlewick::Bitangent ,
  candlewick::Color0 , candlewick::Color1 , candlewick::TexCoord0 , candlewick::TexCoord1
}
 Fixed vertex attributes. More...
 

Functions

bool operator== (const SDL_GPUVertexBufferDescription &lhs, const SDL_GPUVertexBufferDescription &rhs)
 
bool operator== (const SDL_GPUVertexAttribute &lhs, const SDL_GPUVertexAttribute &rhs)
 
constexpr Uint64 candlewick::vertexElementSize (SDL_GPUVertexElementFormat format)
 
bool candlewick::validateMeshLayout (const MeshLayout &layout)
 Validation function. Checks if a MeshLayout produces invalid data for a Mesh.
 
template<IsVertexType V>
MeshLayout candlewick::meshLayoutFor ()
 Shortcut for extracting layout from compile-time struct.
 

Macro Definition Documentation

◆ _c [1/2]

#define _c ( field)
Value:
lhs.field == rhs.field

◆ _c [2/2]

#define _c ( field)
Value:
lhs.field == rhs.field

Function Documentation

◆ operator==() [1/2]

bool operator== ( const SDL_GPUVertexAttribute & lhs,
const SDL_GPUVertexAttribute & rhs )
inline

◆ operator==() [2/2]

bool operator== ( const SDL_GPUVertexBufferDescription & lhs,
const SDL_GPUVertexBufferDescription & rhs )
inline