SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Toggle main menu visibility
Loading...
Searching...
No Matches
mdlpp.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <vector>
4
5
#include "
structs/MDL.h
"
6
#include "
structs/VTX.h
"
7
#include "
structs/VVD.h
"
8
9
namespace
mdlpp
{
10
14
struct
BakedModel
{
15
std::vector<VVD::Vertex>
vertices
;
16
17
struct
Mesh
{
18
std::vector<uint16_t>
indices
;
19
int32_t
materialIndex
= -1;
20
};
21
std::vector<Mesh>
meshes
;
22
};
23
24
struct
StudioModel
{
25
[[nodiscard]]
bool
open
(
const
std::byte* mdlData, std::size_t mdlSize,
26
const
std::byte* vtxData, std::size_t vtxSize,
27
const
std::byte* vvdData, std::size_t vvdSize);
28
29
[[nodiscard]]
bool
open
(
const
unsigned
char
* mdlData, std::size_t mdlSize,
30
const
unsigned
char
* vtxData, std::size_t vtxSize,
31
const
unsigned
char
* vvdData, std::size_t vvdSize);
32
33
[[nodiscard]]
bool
open
(
const
std::vector<std::byte>& mdlData,
34
const
std::vector<std::byte>& vtxData,
35
const
std::vector<std::byte>& vvdData);
36
37
[[nodiscard]]
bool
open
(
const
std::vector<unsigned char>& mdlData,
38
const
std::vector<unsigned char>& vtxData,
39
const
std::vector<unsigned char>& vvdData);
40
41
[[nodiscard]]
explicit
operator
bool()
const
;
42
43
[[nodiscard]]
BakedModel
processModelData
(
int
currentLOD =
ROOT_LOD
)
const
;
44
45
MDL::MDL
mdl
;
46
VTX::VTX
vtx
;
47
VVD::VVD
vvd
;
48
49
private
:
50
bool
opened =
false
;
51
};
52
53
}
// namespace mdlpp
MDL.h
VTX.h
VVD.h
mdlpp
Definition
mdlpp.h:9
mdlpp::ROOT_LOD
constexpr int ROOT_LOD
Definition
Generic.h:10
mdlpp::BakedModel::Mesh
Definition
mdlpp.h:17
mdlpp::BakedModel::Mesh::materialIndex
int32_t materialIndex
Definition
mdlpp.h:19
mdlpp::BakedModel::Mesh::indices
std::vector< uint16_t > indices
Definition
mdlpp.h:18
mdlpp::BakedModel
A more accessible version of StudioModel's vertex data, so it can be rendered or converted more easil...
Definition
mdlpp.h:14
mdlpp::BakedModel::vertices
std::vector< VVD::Vertex > vertices
Definition
mdlpp.h:15
mdlpp::BakedModel::meshes
std::vector< Mesh > meshes
Definition
mdlpp.h:21
mdlpp::MDL::MDL
Definition
MDL.h:681
mdlpp::StudioModel
Definition
mdlpp.h:24
mdlpp::StudioModel::mdl
MDL::MDL mdl
Definition
mdlpp.h:45
mdlpp::StudioModel::open
bool open(const std::byte *mdlData, std::size_t mdlSize, const std::byte *vtxData, std::size_t vtxSize, const std::byte *vvdData, std::size_t vvdSize)
Definition
mdlpp.cpp:10
mdlpp::StudioModel::processModelData
BakedModel processModelData(int currentLOD=ROOT_LOD) const
Definition
mdlpp.cpp:48
mdlpp::StudioModel::vvd
VVD::VVD vvd
Definition
mdlpp.h:47
mdlpp::StudioModel::vtx
VTX::VTX vtx
Definition
mdlpp.h:46
mdlpp::VTX::VTX
Definition
VTX.h:120
mdlpp::VVD::VVD
Definition
VVD.h:37
include
mdlpp
mdlpp.h
Generated on
for SourcePP by
1.18.0