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.