Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
MeshRuntime.hpp File Reference
#include "LegacyMeshData.hpp"
#include "ResourceRuntime.hpp"
#include <array>
#include <cstddef>
#include <cstdint>
#include <expected>
#include <functional>
#include <memory>
#include <optional>
#include <span>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
Include dependency graph for MeshRuntime.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  monopoly::data::MeshRuntimeError
 
struct  monopoly::data::MeshRuntimeLimits
 
struct  monopoly::data::MeshTextureLookup
 
struct  monopoly::data::MeshTextureRegion
 
struct  monopoly::data::MeshVertex
 
struct  monopoly::data::ModernTextureImage
 
struct  monopoly::data::ModernTextureSampler
 
struct  monopoly::data::ModernTextureBinding
 
struct  monopoly::data::MeshMaterial
 
struct  monopoly::data::MeshGroupRuntime
 
struct  monopoly::data::MeshBounds
 
struct  monopoly::data::MeshPoseData
 
class  monopoly::data::MeshXRuntime
 
struct  monopoly::data::MeshRenderBatch
 
struct  monopoly::data::MeshRenderData
 
struct  monopoly::data::MeshRuntimeAsset
 
class  monopoly::data::MeshRuntimeCache
 

Namespaces

namespace  monopoly
 
namespace  monopoly::data
 

Typedefs

using monopoly::data::MeshTextureResolver = std::function< std::optional< MeshTextureRegion >(const MeshTextureLookup &)>
 
using monopoly::data::ModernMeshResolver = std::function< std::expected< std::optional< std::shared_ptr< const MeshRenderData > >, MeshRuntimeError >(DataId, std::optional< DataId > rootSequenceDataId, std::uint16_t priority)>
 

Enumerations

enum class  monopoly::data::MeshRuntimeErrorCode {
  monopoly::data::MissingSource , monopoly::data::MissingResources , monopoly::data::SourceLoadFailed , monopoly::data::ModernAssetInvalid ,
  monopoly::data::ModernAssetUnsupported , monopoly::data::TriangleDecodeFailed , monopoly::data::TextureDecodeFailed , monopoly::data::MimeDecodeFailed ,
  monopoly::data::InvalidPose , monopoly::data::InvalidTextureRegion , monopoly::data::VertexLimitExceeded , monopoly::data::GroupLimitExceeded ,
  monopoly::data::IndexLimitExceeded , monopoly::data::NoRenderableGeometry
}
 
enum class  monopoly::data::MeshMaterialModel : std::uint8_t { monopoly::data::LegacyDiffuse , monopoly::data::MetallicRoughness }
 
enum class  monopoly::data::ModernTextureColorSpace : std::uint8_t { monopoly::data::Linear , monopoly::data::Srgb }
 
enum class  monopoly::data::ModernAlphaMode : std::uint8_t { monopoly::data::Opaque , monopoly::data::Mask }
 
enum class  monopoly::data::ModernTextureWrap : std::uint8_t { monopoly::data::Repeat , monopoly::data::ClampToEdge , monopoly::data::MirroredRepeat }
 
enum class  monopoly::data::ModernTextureFilter : std::uint8_t {
  monopoly::data::Nearest , monopoly::data::Linear , monopoly::data::NearestMipmapNearest , monopoly::data::LinearMipmapNearest ,
  monopoly::data::NearestMipmapLinear , monopoly::data::LinearMipmapLinear
}
 
enum class  monopoly::data::MeshAssetOrigin : std::uint8_t { monopoly::data::LegacyHmd , monopoly::data::ModernGltf }
 

Functions

MeshRenderData monopoly::data::makeMeshRenderData (const MeshXRuntime &mesh)
 
std::expected< MeshRenderData, MeshRuntimeError > monopoly::data::makeMeshRenderData (const MeshXRuntime &mesh, std::int32_t poseA, std::int32_t poseB, float proportion)