NSUNI/NSLAR Library a250670
Loading...
Searching...
No Matches
smodel.hpp File Reference

Provides data structures and functions for managing essential components of a 3D model. More...

#include <functional>
#include <glm/glm.hpp>
#include <string>
#include <vector>
#include "NNL/common/enum_flag.hpp"
#include "NNL/common/fixed_type.hpp"
#include "NNL/simple_asset/sanimation.hpp"
#include "NNL/simple_asset/svalue.hpp"

Go to the source code of this file.

Classes

struct  nnl::SVertex
 Represents a simple vertex with a fixed set of attributes. More...
struct  nnl::STriangle
 Represents a triangle defined by three vertices. More...
struct  nnl::SMesh
 Represents a simple mesh. More...
struct  nnl::SBone
 Represents a bone/joint in a skeletal hierarchy of a 3D model. More...
struct  nnl::SSkeleton
 Represents the skeleton of a 3D model. More...
struct  nnl::SMaterial
 Represents a simple material with various properties for 3D rendering. More...
struct  nnl::SAttachment
 Represents a node attached to a bone. More...
struct  nnl::SModel
 Represents a simple model. More...

Namespaces

namespace  nnl

Enumerations

enum class  nnl::SBlendMode : u8 {
  nnl::SBlendMode::kOpaque = 0b00000 , nnl::SBlendMode::kAlpha = 0b00001 , nnl::SBlendMode::kClip = 0b00010 , nnl::SBlendMode::kAdd = 0b00100 ,
  nnl::SBlendMode::kSub = 0b01000
}
 Enumeration of blending modes for materials. More...
enum class  nnl::STextureProjection { nnl::STextureProjection::kUV = 0 , nnl::STextureProjection::kMatrix = 1 , nnl::STextureProjection::kEnvironment = 2 }
 Enumeration of projection modes for textures. More...

Variables

constexpr std::size_t nnl::kMaxNumBoneWeight = 8
 Maximum number of bone weights and indices in SVertex.

Detailed Description

Provides data structures and functions for managing essential components of a 3D model.

This file defines structures for the essential components of 3D models. These structures facilitate the conversion of 3D model data between various common exchange formats (such as FBX and glTF) and in-game formats.

See also
nnl::SModel
nnl::model::Model