Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension Struct Reference

Parsed VULKAN_SCHNEE_engine_properties extension data. More...

#include <GltfLoader.h>

Collaboration diagram for Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension:

Classes

struct  AnchorPointReference
 Syntax-level reference from an owning mesh node to an AnchorPoint node. More...
struct  CollisionProperties
 Collision shape properties imported from Blender. More...
struct  DirectionalLightProperties
 Directional light component data imported from directionalLightProperties. More...
struct  LightProperties
 Engine-side representation of the Blender light settings exported for an object, including shadow and lightmap behavior. More...
struct  MeshProperties
 Mesh behavior flags imported from meshProperties. More...
 Legacy object metadata imported from older exporter output. More...
struct  PointLightProperties
 Point light component data imported from pointLightProperties. More...

Public Member Functions

 VulkanSchneeExtension ()=default
 Creates an empty extension record.
 VulkanSchneeExtension (const tinygltf::Value &vs_extension, const tinygltf::Model *model=nullptr)
 Parses the engine extension object.
bool hasLightProperties () const
 Checks whether object lighting flags were parsed.
bool hasLightmapProperties () const
 Checks whether lightmap settings were parsed.
bool hasMeshProperties () const
 Checks whether mesh behavior flags were parsed.
bool hasCollisionProperties () const
 Checks whether collision settings were parsed.
bool hasPointLightProperties () const
 Checks whether point light settings were parsed.
bool hasDirectionalLightProperties () const
 Checks whether directional light settings were parsed.
bool hasAnchorPoints () const
 Checks whether valid AnchorPoint references were parsed.

Public Attributes

std::optional< LightProperties > lightProperties
 Parsed object lighting flags when lightingProperties is present.
std::optional< MeshProperties > meshProperties
 Parsed mesh behavior flags when meshProperties is present.
std::optional< LightProperties::LightmapProperties > lightmapProperties
 Parsed lightmap settings when lightmapProperties is present.
std::optional< CollisionProperties > collisionProperties
 Parsed collision settings when collisionProperties is present.
std::optional< PointLightProperties > pointLightProperties
 Parsed point light settings when pointLightProperties is present.
std::optional< DirectionalLightProperties > directionalLightProperties
 Parsed directional light settings when directionalLightProperties is present.
std::vector< AnchorPointReference > anchorPoints
 Valid AnchorPoint references parsed from the extension.

Static Private Member Functions

static std::string extractVersion (const tinygltf::Value &vs_extension)
 Extracts the version from the material extension.

Detailed Description

Parsed VULKAN_SCHNEE_engine_properties extension data.

The extension is attached to glTF nodes by the Vulkan Schnee Blender exporter. It stores engine metadata that glTF does not represent directly, including static-mesh flags, lighting flags, lightmap paths, collision shapes, and authored light components.

Definition at line 244 of file GltfLoader.h.

Constructor & Destructor Documentation

◆ VulkanSchneeExtension() [1/2]

Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::VulkanSchneeExtension ( )
default

Creates an empty extension record.

◆ VulkanSchneeExtension() [2/2]

Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::VulkanSchneeExtension ( const tinygltf::Value & vs_extension,
const tinygltf::Model * model = nullptr )
explicit

Parses the engine extension object.

Parameters
vs_extensionVULKAN_SCHNEE_engine_properties JSON object from tinygltf.
modelOptional source model used for collision data that references accessors.

Member Function Documentation

◆ extractVersion()

std::string Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::extractVersion ( const tinygltf::Value & vs_extension)
staticprivate

Extracts the version from the material extension.

Parameters
vs_extensionthe material extension
Returns
the version or empty string if not found
Date
2025-10-04
Author
Konstantin Passig

◆ hasAnchorPoints()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasAnchorPoints ( ) const
nodiscard

Checks whether valid AnchorPoint references were parsed.

Returns
True when anchorPoints is non-empty.

◆ hasCollisionProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasCollisionProperties ( ) const
nodiscard

Checks whether collision settings were parsed.

Returns
True when collisionProperties contains a value.

◆ hasDirectionalLightProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasDirectionalLightProperties ( ) const
nodiscard

Checks whether directional light settings were parsed.

Returns
True when directionalLightProperties contains a value.

◆ hasLightmapProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasLightmapProperties ( ) const
nodiscard

Checks whether lightmap settings were parsed.

Returns
True when lightmapProperties contains a value.

◆ hasLightProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasLightProperties ( ) const
nodiscard

Checks whether object lighting flags were parsed.

Returns
True when lightProperties contains a value.

◆ hasMeshProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasMeshProperties ( ) const
nodiscard

Checks whether mesh behavior flags were parsed.

Returns
True when meshProperties contains a value.

◆ hasPointLightProperties()

bool Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::hasPointLightProperties ( ) const
nodiscard

Checks whether point light settings were parsed.

Returns
True when pointLightProperties contains a value.

Member Data Documentation

◆ anchorPoints

std::vector<AnchorPointReference> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::anchorPoints

Valid AnchorPoint references parsed from the extension.

Definition at line 639 of file GltfLoader.h.

◆ collisionProperties

std::optional<CollisionProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::collisionProperties

Parsed collision settings when collisionProperties is present.

Definition at line 627 of file GltfLoader.h.

◆ directionalLightProperties

std::optional<DirectionalLightProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::directionalLightProperties

Parsed directional light settings when directionalLightProperties is present.

Definition at line 637 of file GltfLoader.h.

◆ lightmapProperties

std::optional<LightProperties::LightmapProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::lightmapProperties

Parsed lightmap settings when lightmapProperties is present.

Definition at line 622 of file GltfLoader.h.

◆ lightProperties

std::optional<LightProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::lightProperties

Parsed object lighting flags when lightingProperties is present.

Definition at line 612 of file GltfLoader.h.

◆ meshProperties

std::optional<MeshProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::meshProperties

Parsed mesh behavior flags when meshProperties is present.

Definition at line 617 of file GltfLoader.h.

◆ pointLightProperties

std::optional<PointLightProperties> Engine::Assets::Loaders::GltfLoader::VulkanSchneeExtension::pointLightProperties

Parsed point light settings when pointLightProperties is present.

Definition at line 632 of file GltfLoader.h.


The documentation for this struct was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Mesh/GltfLoader.h