Documentation
¶
Index ¶
- func LoadMeshes(gpuR io.ReadSeeker, info *Info, idsToLoad []uint32) (map[uint32]Mesh, error)
- type Bone
- type Header
- type Info
- type JointListHeader
- type JointMapEntry
- type JointTransform
- type LODEntry
- type LODGroup
- type Mesh
- type MeshGroup
- type MeshHeader
- type MeshInfo
- type MeshLayout
- type MeshLayoutItemFormat
- type MeshLayoutItemType
- type RemapItem
- type SkeletonMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadMeshes ¶ added in v0.3.2
idsToLoad contains the mesh IDs (=indices) of the meshes which should be loaded. To load all meshes, pass a slice with value {0,1,...,info.NumMeshes-1}.
Types ¶
type Bone ¶ added in v0.3.2
type Bone struct {
NameHash stingray.ThinHash
Index uint32
ParentIndex uint32
Increment uint32
Transform JointTransform
Matrix mgl32.Mat4
Children []uint32
}
func (*Bone) RecursiveCalcLocalTransforms ¶ added in v0.3.2
type Header ¶
type Header struct {
Unk00 [8]byte
Bones stingray.Hash
Unk01 [8]byte
UnkHash00 stingray.Hash
StateMachine stingray.Hash
Unk02 [8]byte
LODGroupListOffset uint32
JointListOffset uint32
UnkOffset01 uint32
UnkOffset02 uint32
Unk03 [12]byte
UnkOffset03 uint32
UnkOffset04 uint32
Unk04 [4]byte
SkeletonMapListOffset uint32
MeshLayoutListOffset uint32
MeshDataOffset uint32
MeshInfoListOffset uint32
Unk05 [8]byte
MaterialListOffset uint32
}
type Info ¶ added in v0.3.2
type JointListHeader ¶
type JointMapEntry ¶ added in v0.3.2
type JointTransform ¶
type MeshHeader ¶
type MeshInfo ¶
type MeshInfo struct {
Header MeshHeader
Materials []stingray.ThinHash
Groups []MeshGroup
}
type MeshLayout ¶
type MeshLayout struct {
MagicNum0 [4]byte
Unk00 [4]byte
Items [16]struct {
Type MeshLayoutItemType
Format MeshLayoutItemFormat
Layer uint32
Unk00 [8]byte
}
NumItems uint32
Unk01 [4]byte
MagicNum1 [4]byte
Unk02 [12]byte
NumVertices uint32
VertexStride uint32
Unk03 [16]byte
MagicNum2 [4]byte
Unk04 [12]byte
NumIndices uint32
Unk05 [20]byte
VertexOffset uint32
PositionsSize uint32
IndexOffset uint32
IndicesSize uint32
Unk06 [16]byte
}
type MeshLayoutItemFormat ¶
type MeshLayoutItemFormat uint32
const ( FormatF32 MeshLayoutItemFormat = 0 FormatVec2F MeshLayoutItemFormat = 1 FormatVec3F MeshLayoutItemFormat = 2 FormatVec4F MeshLayoutItemFormat = 3 FormatVec4S8 MeshLayoutItemFormat = 24 FormatVec4Norm8 MeshLayoutItemFormat = 25 FormatVec4U8 MeshLayoutItemFormat = 26 FormatF16 MeshLayoutItemFormat = 28 FormatVec2F16 MeshLayoutItemFormat = 29 FormatVec3F16 MeshLayoutItemFormat = 30 FormatVec4F16 MeshLayoutItemFormat = 31 )
func (MeshLayoutItemFormat) String ¶
func (v MeshLayoutItemFormat) String() string
type MeshLayoutItemType ¶
type MeshLayoutItemType uint32
const ( ItemPosition MeshLayoutItemType = 0 ItemColor MeshLayoutItemType = 1 ItemUVCoords MeshLayoutItemType = 4 ItemBoneIdx MeshLayoutItemType = 6 ItemBoneWeight MeshLayoutItemType = 7 )
func (MeshLayoutItemType) String ¶
func (v MeshLayoutItemType) String() string
Click to show internal directories.
Click to hide internal directories.