PVRAssets Structs#
AnimationData::InternalData#
Defined in Animation.h
Nested Relationships#
This struct is a nested type of AnimationData.
Struct Documentation#
-
struct InternalData
Raw internal structure of the Animation.
Public Functions
-
inline InternalData()
Constructor. Initializing.
Public Members
-
uint32_t flags
Stores which animation arrays are stored.
-
std::vector<uint32_t> positionIndices
Index to positions.
-
std::vector<uint32_t> rotationIndices
Index to rotations.
-
std::vector<uint32_t> scaleIndices
Index to scales.
-
std::vector<uint32_t> matrixIndices
Index to matrices.
-
uint32_t numFrames
The number of frames of animation.
-
std::string animationName
The name of the animation.
-
std::vector<float> timeInSeconds
The time is seconds at which the animation occurs.
-
std::vector<KeyFrameData> keyFrames
Specifies key frame animation data.
-
float startTime
-
float endTime
Time at the first keyframe (in seconds)
-
CustomData formattedUserData
Time at the last keyframe (in seconds)
Optionally, formatted user data (json-style)
-
inline InternalData()
AnimationInstance#
Defined in Animation.h
Nested Relationships#
Nested Types#
Struct Documentation#
-
struct AnimationInstance#
A specific instance of an animation.
Public Functions
-
inline AnimationInstance()#
Constructor.
-
inline float getTotalTimeInMs() const#
Retrieves the time in milli seconds at which the animation will occur.
- Returns:
The time in milli seconds at which the animation will occur
-
inline float getTotalTimeInSec() const#
Retrieves the time in seconds at which the animation will occur.
- Returns:
The time in seconds at which the animation will occur
-
inline float getStartTimeInSec() const#
Retrieves the time in seconds at which the animation will start.
- Returns:
The time in seconds at which the animation will start
-
inline float getEndTimeInSec() const#
Retrieves the time in seconds at which the animation will end.
- Returns:
The time in seconds at which the animation will end
-
void updateAnimation(float timeInMs)#
update animation
- Parameters:
timeInMs – The time in milli seconds to set for the animation
-
void updateAnimationFromKey(uint32_t frameNumber)#
update animation
- Parameters:
frameNumber – Which keyframe to set for the animation
Public Members
-
class AnimationData *animationData#
Animation data.
-
std::vector<KeyframeChannel> keyframeChannels#
Key frame data.
-
inline AnimationInstance()#
AnimationInstance::KeyframeChannel#
Defined in Animation.h
Nested Relationships#
This struct is a nested type of AnimationInstance.
Struct Documentation#
-
struct KeyframeChannel
Key frame channels.
Public Functions
-
inline KeyframeChannel()
Constructor.
Public Members
-
std::vector<void*> nodes
Nodes of the animation.
-
uint32_t keyFrame
keyframe (Scale/ Rotate/ Translate)
-
inline KeyframeChannel()
Camera::InternalData#
Defined in Camera.h
Nested Relationships#
This struct is a nested type of Camera.
Nested Types#
Struct Documentation#
-
struct InternalData
Raw internal structure of the Camera.
Public Functions
-
inline InternalData()
Default constructor.
Public Members
-
int32_t targetNodeIdx
Index of the target object.
-
float farClip
Far clip plane.
-
float nearClip
Near clip plane.
-
std::vector<FovAnimationData> fovs
A list of field of view values to use.
-
struct FovAnimationData
Contains perframe fov data.
Public Members
-
float timeInSec
Frame time in seconds.
-
float fov
Fov.
-
float timeInSec
-
inline InternalData()
InternalData::FovAnimationData#
Defined in Camera.h
Nested Relationships#
This struct is a nested type of Camera::InternalData.
Struct Documentation#
-
struct FovAnimationData
Contains perframe fov data.
Public Members
-
float timeInSec
Frame time in seconds.
-
float fov
Fov.
-
float timeInSec
KeyFrameData#
Defined in Animation.h
Struct Documentation#
-
struct KeyFrameData#
Represents an Animation that can be applied to different objects.
Public Types
Public Members
-
std::vector<float> timeInSeconds#
The time in seconds at which the key frame takes plcae.
-
std::vector<glm::vec3> scale#
Scaling matrix.
-
std::vector<glm::quat> rotate#
Rotation matrix.
-
std::vector<glm::vec3> translation#
Translation matrix.
-
std::vector<glm::mat4> mat4#
Matrix data - note that this is only currently used by POD.
-
InterpolationType interpolation = InterpolationType::Step#
The interpolation used.
-
std::vector<float> timeInSeconds#
Light::InternalData#
Defined in Light.h
Nested Relationships#
This struct is a nested type of Light.
Struct Documentation#
-
struct InternalData
Raw internal structure of the Light.
Public Functions
-
inline InternalData()
Public Members
-
int32_t spotTargetNodeIdx
Index of the target object
-
glm::vec3 color
Light color (0.0f -> 1.0f for each channel)
-
float constantAttenuation
Constant attenuation
-
float linearAttenuation
Linear attenuation
-
float quadraticAttenuation
Quadratic attenuation
-
float falloffAngle
Falloff angle (in radians)
-
float falloffExponent
Falloff exponent
-
inline InternalData()
Mesh::InternalData#
Defined in Mesh.h
Nested Relationships#
This struct is a nested type of Mesh.
Struct Documentation#
-
struct InternalData
Raw internal structure of the Mesh.
Public Functions
-
inline InternalData()
Default constructor.
Public Members
-
std::map<StringHash, FreeValue> semantics
Container that stores semantic values.
-
VertexAttributeContainer vertexAttributes
Contains information on the vertices, such as semantic names, strides etc.
-
std::vector<StridedBuffer> vertexAttributeDataBlocks
Contains the actual raw data (as in, the bytes of information)
-
uint32_t numBones
Faces information.
-
FaceData faces
Faces information.
-
MeshInfo primitiveData
Primitive data information.
-
int32_t skeleton
Skeleton identifier.
-
glm::mat4x4 unpackMatrix
This matrix is used to move from an int16_t representation to a float.
-
std::shared_ptr<void> userDataPtr
This is a pointer that is in complete control of the user, used for per-mesh data.
-
inline InternalData()
Mesh::MeshInfo#
Defined in Mesh.h
Nested Relationships#
This struct is a nested type of Mesh.
Struct Documentation#
-
struct MeshInfo
Contains mesh information.
Public Functions
-
inline MeshInfo()
Constructor.
Public Members
-
uint32_t numVertices
Number of vertices in this mesh.
-
uint32_t numFaces
Number of faces in this mesh.
-
std::vector<uint32_t> stripLengths
If triangle strips exist, the length of each. Otherwise empty.
-
uint32_t numPatchSubdivisions
Number of Patch subdivisions.
-
uint32_t numPatches
Number of Patches.
-
uint32_t numControlPointsPerPatch
Number of Control points per patch.
-
float units
Scaling of the units.
-
PrimitiveTopology primitiveType
Type of primitive in this Mesh.
-
bool isIndexed
Contains indices (as opposed to being a flat list of vertices)
-
bool isSkinned
Contains indices (as opposed to being a flat list of vertices)
-
glm::vec3 min
The minimum vertex.
-
glm::vec3 max
The maximum vertex.
-
inline MeshInfo()
Model::InternalData#
Defined in Model.h
Nested Relationships#
This struct is a nested type of Model.
Struct Documentation#
-
struct InternalData
Struct containing the internal data of the Model.
Public Functions
-
inline InternalData()
Constructor. Initializing to empty.
Public Members
-
std::map<StringHash, FreeValue> semantics
Store of the semantics.
-
float clearColor[3]
Background color.
-
float ambientColor[3]
Ambient color.
-
std::vector<Node> nodes
Nodes array. The nodes are sorted thus: First Mesh Nodes, then Light Nodes, then Camera nodes.
-
std::vector<AnimationData> animationsData
Animation data.
-
std::vector<AnimationInstance> animationInstances
Animation instance data.
-
uint32_t numMeshNodes
Number of items in the nodes array which are Meshes.
-
uint32_t numLightNodes
Number of items in the nodes array which are Meshes.
-
uint32_t numCameraNodes
Number of items in the nodes array which are Meshes.
-
uint32_t numFrames
Number of frames of animation.
-
float currentFrame
Current frame in the animation.
-
float FPS
The frames per second the animation should be played at.
-
UInt8Buffer userData
Custom raw data stored by the user.
-
float units
Unit scaling.
-
uint32_t flags
Flags.
-
std::shared_ptr<void> userDataPtr
Can be used to store any kind of data that the user wraps in a std::shared_ptr resource.
-
CustomData formattedUserData
Optionally, formatted user data (json-style)
-
inline InternalData()
Material::InternalData#
Defined in Model.h
Nested Relationships#
This struct is a nested type of Model::Material.
Struct Documentation#
-
struct InternalData
Raw internal structure of the Material.
Public Members
-
std::map<StringHash, FreeValue> materialSemantics
storage for the per-material semantics
-
std::map<StringHash, uint32_t> textureIndices
Map of texture (semantic) names to indexes.
-
StringHash name
Name of the material.
-
StringHash effectFile
Effect filename if using an effect.
-
StringHash effectName
Effect name (in the filename) if using an effect.
-
UInt8Buffer userData
Raw user data.
-
CustomData formattedUserData
Optionally, formatted user data (json-style)
-
std::map<StringHash, FreeValue> materialSemantics
Node::InternalData#
Defined in Model.h
Nested Relationships#
This struct is a nested type of Model::Node.
Struct Documentation#
-
struct InternalData
Raw internal structure of the Node.
Public Types
-
enum TransformFlags
Transformation flags.
Values:
-
enumerator Identity
Transformation Identity.
-
enumerator Scale
Transformation has Scale.
-
enumerator Rotate
Transformation has Rotation.
-
enumerator Translate
Transformation has Translation.
-
enumerator SRT
SRT.
-
enumerator Matrix
has matrix
-
enumerator Identity
Public Functions
-
inline glm::vec3 &getFrameScaleAnimation()
Get current frame scale animation.
- Returns:
Returns scale
-
inline glm::quat &getFrameRotationAnimation()
Get current frame rotation animation.
- Returns:
Returns rotation
-
inline glm::vec3 &getFrameTranslationAnimation()
Get current frame translation animation.
- Returns:
Returns translation
-
inline const glm::vec3 &getFrameScaleAnimation() const
Get current frame scale animation (const)
- Returns:
Returns scale
-
inline const glm::quat &getFrameRotationAnimation() const
Get current frame rotation animation (const)
- Returns:
Returns rotation
-
inline const glm::vec3 &getFrameTranslationAnimation() const
Get current frame translation animation (const)
- Returns:
Returns rotation
-
inline glm::vec3 &getScale()
Get local space scale.
- Returns:
Returns local space scale<returns>
-
inline glm::quat &getRotate()
Get local space rotation.
- Returns:
Returns local space rotation<returns>
-
inline glm::vec3 &getTranslation()
Get local space translation.
- Returns:
Returns local space translation<returns>
-
inline const glm::vec3 &getScale() const
Get local space scale.
- Returns:
Returns local space scale<returns>
-
inline const glm::quat &getRotate() const
Get local space rotation.
- Returns:
Returns local space rotation<returns>
-
inline const glm::vec3 &getTranslation() const
Get local space translation.
- Returns:
Returns local space translation<returns>
-
inline InternalData()
Default constructor.
Public Members
-
StringHash name
Name of object.
-
uint32_t objectIndex
Index into mesh, light or camera array, depending on which object list contains this Node.
-
uint32_t materialIndex
Index of material used on this mesh.
-
uint32_t parentIndex
Index into Node array; recursively apply ancestor’s transforms after this instance’s.
-
UInt8Buffer userData
Optionally, user data.
-
CustomData formattedUserData
Optionally, formatted user data (json-style)
-
float frameTransform[16]
contains interpolated SRT or Matrix for an frame else single Matrix for non animated node. Rotations are stored as quaternion in the format xyzw
-
glm::vec3 scale
Node’s local space scale.
-
glm::quat rotation
Node’s local space rotation.
-
glm::vec3 translation
Node’s local space translation.
-
uint32_t transformFlags
keep an flag whether the transformation data is stored as SRT or Matrix or Identity.
-
int32_t skin
Skin index for mesh nodes.
-
bool hasAnimation
Has animation data.
-
enum TransformFlags
Skeleton#
Defined in Model.h
Struct Documentation#
-
struct Skeleton#
The skeleton structure encapsulates all that which is required to define a skeleton including name, a set of bones and matrices for transformations.
IndexedArray::DictionaryEntry#
Defined in IndexedArray.h
Nested Relationships#
This struct is a nested type of IndexedArray.
Struct Documentation#
IndexedArray::StorageItem_#
Defined in IndexedArray.h
Nested Relationships#
This struct is a nested type of IndexedArray.
Inheritance Relationships#
Base Type#
public pvr::IndexedArray< ValueType_, IndexType_ >::DictionaryEntry
Struct Documentation#
-
struct StorageItem_ : public pvr::IndexedArray<ValueType_, IndexType_>::DictionaryEntry#
Public Functions
-
inline StorageItem_()#
-
inline StorageItem_(const IndexType_ &key, const ValueType_ &value)#
Public Members
-
bool isUnused#
-
inline StorageItem_()#
ShadowVolume::ShadowVolumeData#
Defined in ShadowVolume.h
Nested Relationships#
This struct is a nested type of ShadowVolume.
Struct Documentation#
-
struct ShadowVolumeData#
Volume::VolumeEdge#
Defined in Volume.h
Nested Relationships#
This struct is a nested type of Volume.
Struct Documentation#
-
struct VolumeEdge
Represents an edge.
Public Members
-
uint32_t vertexIndices[2]
The indexes of the two vertices of the edge.
-
uint32_t visibilityFlags
Flags.
-
uint32_t vertexIndices[2]
Volume::VolumeMesh#
Defined in Volume.h
Nested Relationships#
This struct is a nested type of Volume.
Struct Documentation#
-
struct VolumeMesh
Preprocessed data needed to create volumes out of a mesh.
Public Functions
-
inline VolumeMesh()
Default constructor for a volume mesh.
Public Members
-
glm::vec3 *vertices
A pointer to a list of vertices making up the volume.
-
VolumeEdge *edges
A pointer to a list of edges between vertices.
-
VolumeTriangle *triangles
A pointer to a list of triangles making up the volume.
-
glm::vec3 minimum
The minimum vertex.
-
glm::vec3 maximum
The maximum vertex.
-
uint32_t numVertices
The number of vertices making up the volume.
-
uint32_t numEdges
The number of edges making up the volume.
-
uint32_t numTriangles
The number of triangles making up the volume.
-
uint8_t *vertexData
Vertex data.
-
bool needs32BitIndices
Specifies whether 32 bit indicies are required.
-
inline VolumeMesh()
Volume::VolumeTriangle#
Defined in Volume.h
Nested Relationships#
This struct is a nested type of Volume.
Struct Documentation#
-
struct VolumeTriangle
Represents an face (triangle).
Public Members
-
uint32_t vertexIndices[3]
The indexes of the three vertices of the triangle.
-
uint32_t edgeIndices[3]
The indexes of the three vertices of the three edges of the triangle.
-
glm::vec3 normal
The normal of the triangle.
-
int32_t winding
The winding of the triangle (clockwise / counterclockwise)
-
uint32_t vertexIndices[3]