Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
Loading...
Searching...
No Matches
rendering_engine::VertexSkinnedPositionTextureNormalTangent Struct Reference

Vertex format for skinned meshes (skeletal animation). More...

#include <vertex_declarations.hpp>

Public Member Functions

 VertexSkinnedPositionTextureNormalTangent ()=default
 VertexSkinnedPositionTextureNormalTangent (const glm::vec3 &pos, const glm::vec2 &uv, const glm::vec3 &nrm, const glm::vec3 &tan, const glm::uvec4 &indices, const glm::vec4 &weights)
 Construct with all vertex attributes and bone data.

Public Attributes

glm::vec3 position
 3D position
glm::vec2 textureCoordinates
 UV coordinates for texturing.
glm::vec3 normal
 Surface normal (for lighting)
glm::vec3 tangent
 Tangent (for normal mapping)
glm::uvec4 boneIndices
 Indices of influencing bones (up to 4)
glm::vec4 boneWeights
 Blend weights for each bone (should sum to 1.0)

Detailed Description

Vertex format for skinned meshes (skeletal animation).

Supports up to 4 bones per vertex. Used for character models and animated geometry.

Definition at line 143 of file vertex_declarations.hpp.

Constructor & Destructor Documentation

◆ VertexSkinnedPositionTextureNormalTangent() [1/2]

rendering_engine::VertexSkinnedPositionTextureNormalTangent::VertexSkinnedPositionTextureNormalTangent ( )
default

◆ VertexSkinnedPositionTextureNormalTangent() [2/2]

rendering_engine::VertexSkinnedPositionTextureNormalTangent::VertexSkinnedPositionTextureNormalTangent ( const glm::vec3 & pos,
const glm::vec2 & uv,
const glm::vec3 & nrm,
const glm::vec3 & tan,
const glm::uvec4 & indices,
const glm::vec4 & weights )
inline

Construct with all vertex attributes and bone data.

Parameters
pos3D position
uvTexture coordinates
nrmNormal vector
tanTangent vector
indicesIndices of influencing bones
weightsBlend weights for each bone

Definition at line 163 of file vertex_declarations.hpp.

169 :
170 position(pos),
172 normal(nrm),
173 tangent(tan),
174 boneIndices(indices),
175 boneWeights(weights)
176 {}
glm::uvec4 boneIndices
Indices of influencing bones (up to 4)
glm::vec4 boneWeights
Blend weights for each bone (should sum to 1.0)

Member Data Documentation

◆ boneIndices

glm::uvec4 rendering_engine::VertexSkinnedPositionTextureNormalTangent::boneIndices

Indices of influencing bones (up to 4)

Definition at line 149 of file vertex_declarations.hpp.

◆ boneWeights

glm::vec4 rendering_engine::VertexSkinnedPositionTextureNormalTangent::boneWeights

Blend weights for each bone (should sum to 1.0)

Definition at line 150 of file vertex_declarations.hpp.

◆ normal

glm::vec3 rendering_engine::VertexSkinnedPositionTextureNormalTangent::normal

Surface normal (for lighting)

Definition at line 147 of file vertex_declarations.hpp.

◆ position

glm::vec3 rendering_engine::VertexSkinnedPositionTextureNormalTangent::position

3D position

Definition at line 145 of file vertex_declarations.hpp.

◆ tangent

glm::vec3 rendering_engine::VertexSkinnedPositionTextureNormalTangent::tangent

Tangent (for normal mapping)

Definition at line 148 of file vertex_declarations.hpp.

◆ textureCoordinates

glm::vec2 rendering_engine::VertexSkinnedPositionTextureNormalTangent::textureCoordinates

UV coordinates for texturing.

Definition at line 146 of file vertex_declarations.hpp.


The documentation for this struct was generated from the following file: