Gorilla.FBX.Types

Unit Gorilla.FBX.Types.pas

Classes

Records

Enumerations

  • enum  TFBXAxis  = ( axisX, axisY, axisZ ) ;
  • enum  TFBXMappingInformationType  = ( ByPolygon, ByPolygonVertex, ByVertex, ByEdge, AllSame ) ;
  • enum  TFBXReferenceInformationType  = ( Direct, IndexToDirect ) ;
  • enum  TFBXTransformationProperty  = ( TransformationComp_Translation, TransformationComp_RotationOffset, TransformationComp_RotationPivot, TransformationComp_PreRotation, TransformationComp_Rotation, TransformationComp_PostRotation, TransformationComp_RotationPivotInverse, TransformationComp_ScalingOffset, TransformationComp_ScalingPivot, TransformationComp_Scaling, TransformationComp_ScalingPivotInverse, TransformationComp_GeometricScaling, TransformationComp_GeometricRotation, TransformationComp_GeometricTranslation, TransformationComp_GeometricScalingInverse, TransformationComp_GeometricRotationInverse, TransformationComp_GeometricTranslationInverse, TransformationComp_MAXIMUM ) ;
  • enum  TFBXDataType  = ( fbxInt16, fbxBool, fbxInt32, fbxSingle, fbxDouble, fbxInt64, fbxArrSingle, fbxArrDouble, fbxArrInt64, fbxArrInt32, fbxArrBool, fbxString, fbxBinary ) ;
  • enum  TFBXInheritType  = ( eInheritUndef, eInheritRrSs, eInheritRSrs, eInheritRrs ) ;
  • enum  TFBXNodeType  = ( ntUnknown, ntMesh, ntNull, ntLimbNode, ntSkin, ntCluster ) ;
  • enum  TFBXConnectionKind  = ( fbxOO, fbxOP, fbxPP ) ;

Constants

  • const FBX_PROPERTY_TYPE_INT16 : Byte = $59;
  • const FBX_PROPERTY_TYPE_BOOL : Byte = $43;
  • const FBX_PROPERTY_TYPE_INT32 : Byte = $49;
  • const FBX_PROPERTY_TYPE_SINGLE : Byte = $46;
  • const FBX_PROPERTY_TYPE_DOUBLE : Byte = $44;
  • const FBX_PROPERTY_TYPE_INT64 : Byte = $4C;
  • const FBX_PROPERTY_TYPE_ARRAY_SINGLE : Byte = $66;
  • const FBX_PROPERTY_TYPE_ARRAY_DOUBLE : Byte = $64;
  • const FBX_PROPERTY_TYPE_ARRAY_INT64 : Byte = $6C;
  • const FBX_PROPERTY_TYPE_ARRAY_INT32 : Byte = $69;
  • const FBX_PROPERTY_TYPE_ARRAY_BOOL : Byte = $62;
  • const FBX_PROPERTY_TYPE_STRING : Byte = $53;
  • const FBX_PROPERTY_TYPE_BINARY : Byte = $52;
  • const FBX_TANGENT_AUTO : Integer = $100;
  • const FBX_TANGENT_TCB : Integer = $200;
  • const FBX_TANGENT_USER : Integer = $400;
  • const FBX_TANGENT_GENERIC_BREAK : Integer = $800;
  • const FBX_TANGENT_BREAK : Integer = $C00;
  • const FBX_TANGENT_AUTO_BREAK : Integer = $900;
  • const FBX_TANGENT_GENERIC_CLAMP : Integer = $1000;
  • const FBX_TANGENT_GENERIC_TIME_INDEPENDENT : Integer = $2000;
  • const FBX_TANGENT_GENERIC_CLAMP_PROGRESSIVE : Integer = $6000;
  • const FBX_INTERPOLATION_CONSTANT : Integer = $2;
  • const FBX_INTERPOLATION_LINEAR : Integer = $4;
  • const FBX_INTERPOLATION_CUBIC : Integer = $8;
  • const FBX_WEIGHTED_NONE : Integer = $0;
  • const FBX_WEIGHTED_RIGHT : Integer = $1000000;
  • const FBX_WEIGHTED_NEXT_LEFT : Integer = $2000000;
  • const FBX_WEIGHTED_ALL : Integer = $3000000;
  • const FBX_CONSTANT_STANDARD : Integer = $0;
  • const FBX_CONSTANT_NEXT : Integer = $100;
  • const FBX_VELOCITY_NONE : Integer = $0;
  • const FBX_VELOCITY_RIGHT : Integer = $10000000;
  • const FBX_VELOCITY_NEXT_LEFT : Integer = $20000000;
  • const FBX_VELOCITY_ALL : Integer = $30000000;
  • const FBX_TANGENT_SHOW_NONE : Integer = $0;
  • const FBX_TANGENT_SHOW_LEFT : Integer = $100000;
  • const FBX_TANGENT_SHOW_RIGHT : Integer = $200000;
  • const FBX_TANGENT_SHOW_BOTH : Integer = $300000;
  • const FBX_RIGHT_SLOPE : Integer = $0;
  • const FBX_NEXT_LEFT_SLOPE : Integer = $1;
  • const FBX_WEIGHTS : Integer = $2;
  • const FBX_RIGHT_WEIGHT : Integer = $2;
  • const FBX_NEXT_LEFT_WEIGHT : Integer = $3;
  • const FBX_VELOCITY : Integer = $4;
  • const FBX_RIGHT_VELOCITY : Integer = $4;
  • const FBX_NEXT_LEFT_VELOCITY : Integer = $5;
  • const FBX_TCB_TENSION : Integer = $0;
  • const FBX_TCB_CONTINUITY : Integer = $1;
  • const FBX_TCB_BIAS : Integer = $2;
  • const FBX_CURVENODE_TRANSFORM : string = "Transform";
  • const FBX_CURVENODE_TRANSLATION : Char = $54;
  • const FBX_CURVENODE_ROTATION : Char = $52;
  • const FBX_CURVENODE_SCALING : Char = $53;
  • const FBX_CURVENODE_COMPONENT_X : Char = $58;
  • const FBX_CURVENODE_COMPONENT_Y : Char = $59;
  • const FBX_CURVENODE_COMPONENT_Z : Char = $5A;
  • const FBX_CURVENODE_COLOR : string = "Color";
  • const FBX_CURVENODE_COLOR_RED : Char = $58;
  • const FBX_CURVENODE_COLOR_GREEN : Char = $59;
  • const FBX_CURVENODE_COLOR_BLUE : Char = $5A;
  • const FBX_MATERIAL_NAME_SUFFIX : string = "Mat";
  • const FBX_CTRL_NAME_PREFFIX : string = "Controller";
  • const FBX_DEFORMER_NAME_SUFFIX : string = "Deformer";
  • const FBX_SKIN_NAME_SUFFIX : string = "Skin";
  • const FBX_ARMATURE_NAME : string = "Armature";
  • const FBX_NODETYPE_GLOBALSETTINGS : string = "GlobalSettings";
  • const FBX_NODETYPE_CONNECTIONS : string = "Connections";
  • const FBX_NODETYPE_DEFINITIONS : string = "Definitions";
  • const FBX_NODETYPE_OBJECTS : string = "Objects";
  • const FBX_NODETYPE_MODEL : string = "Model";
  • const FBX_NODETYPE_MESH : string = "Mesh";
  • const FBX_NODETYPE_GEOMETRY : string = "Geometry";
  • const FBX_NODETYPE_MATERIAL : string = "Material";
  • const FBX_NODETYPE_MATERIALS : string = "Materials";
  • const FBX_NODETYPE_TEXTURE : string = "Texture";
  • const FBX_NODETYPE_LAYEREDTEXTURE : string = "LayeredTexture";
  • const FBX_NODETYPE_DEFORMER : string = "Deformer";
  • const FBX_NODETYPE_POSE : string = "Pose";
  • const FBX_NODETYPE_SKIN : string = "Skin";
  • const FBX_NODETYPE_CLUSTER : string = "Cluster";
  • const FBX_NODETYPE_NULL : string = "Null";
  • const FBX_NODETYPE_LIMBNODE : string = "LimbNode";
  • const FBX_NODETYPE_LAYER_ELEMENT_MAT : string = "LayerElementMaterial";
  • const FBX_NODETYPE_NODEATTR : string = "NodeAttribute";
  • const FBX_NODETYPE_ANIMSTACK : string = "AnimationStack";
  • const FBX_NODETYPE_ANIMLAYER : string = "AnimationLayer";
  • const FBX_NODETYPE_ANIMCURVE : string = "AnimationCurve";
  • const FBX_NODETYPE_ANIMCURVENODE : string = "AnimationCurveNode";
  • const FBX_NODETYPE_WEIGHTS : string = "Weights";
  • const FBX_NODETYPE_INDEXES : string = "Indexes";
  • const FBX_NODETYPE_KEYVALUEFLOAT : string = "KeyValueFloat";
  • const FBX_NODETYPE_KEYVER : string = "KeyVer";
  • const FBX_NODETYPE_KEYTIME : string = "KeyTime";
  • const FBX_NODETYPE_KEYATTRFLAGS : string = "KeyAttrFlags";
  • const FBX_NODETYPE_MEDIA : string = "Media";
  • const FBX_NODETYPE_RELATIVEFILENAME : string = "RelativeFilename";
  • const FBX_NODETYPE_PROPERTIES70 : string = "Properties70";
  • const FBX_NODETYPE_PROP : Char = $50;
  • const FBX_NODETYPE_TRANSFORM : string = "Transform";
  • const FBX_NODETYPE_TRANSFORMLINK : string = "TransformLink";
  • const FBX_NODETYPE_TRANSFORMASSOC : string = "TransformAssociateModel";
  • const FBX_NODETYPE_OBJECTTYPE : string = "ObjectType";
  • const FBX_NODETYPE_PROPERTYTEMPLATE : string = "PropertyTemplate";
  • const FBX_NODETYPE_LAYERELEMENT_NORMAL : string = "LayerElementNormal";
  • const FBX_NODETYPE_LAYERELEMENT_BINORMAL : string = "LayerElementBinormal";
  • const FBX_NODETYPE_LAYERELEMENT_TANGENT : string = "LayerElementTangent";
  • const FBX_NODETYPE_LAYERELEMENT_UV : string = "LayerElementUV";
  • const FBX_NODETYPE_VERTICES : string = "Vertices";
  • const FBX_NODETYPE_POLYGONVERTEXINDEX : string = "PolygonVertexIndex";
  • const FBX_NODETYPE_NORMALS : string = "Normals";
  • const FBX_NODETYPE_BINORMALS : string = "Binormals";
  • const FBX_NODETYPE_TANGENTS : string = "Tangents";
  • const FBX_NODETYPE_NORMALSINDEX : string = "NormalsIndex";
  • const FBX_NODETYPE_BINORMALSINDEX : string = "BinormalsIndex";
  • const FBX_NODETYPE_TANGENTSINDEX : string = "TangentsIndex";
  • const FBX_NODETYPE_NAME : string = "Name";
  • const FBX_NODETYPE_UVMAP : string = "UVMap";
  • const FBX_NODETYPE_UVW : string = "UVW";
  • const FBX_NODETYPE_UV : string = "UV";
  • const FBX_NODETYPE_UVINDEX : string = "UVIndex";
  • const FBX_NODETYPE_MAPPINGINFOTYPE : string = "MappingInformationType";
  • const FBX_NODETYPE_REFINFOTYPE : string = "ReferenceInformationType";
  • const FBX_MAPPINGINFOTYPE_BYPOLYGON : string = "ByPolygon";
  • const FBX_MAPPINGINFOTYPE_BYPOLYGONVERTEX : string = "ByPolygonVertex";
  • const FBX_MAPPINGINFOTYPE_BYVERTEX : string = "ByVertex";
  • const FBX_MAPPINGINFOTYPE_BYVERTICE : string = "ByVertice";
  • const FBX_MAPPINGINFOTYPE_BYEDGE : string = "ByEdge";
  • const FBX_MAPPINGINFOTYPE_ALLSAME : string = "AllSame";
  • const FBX_REFERENCEINFOTYPE_DIRECT : string = "Direct";
  • const FBX_REFERENCEINFOTYPE_INDEXTODIRECT : string = "IndexToDirect";
  • const FBX_REFERENCEINFOTYPE_INDEX : string = "Index";
  • const FBX_TYPE_KSTRING : string = "kstring";
  • const FBX_TYPE_KTIME : string = "ktime";
  • const FBX_TYPE_BOOL : string = "bool";
  • const FBX_TYPE_COLOR : string = "color";
  • const FBX_TYPE_COLORRGB : string = "colorrgb";
  • const FBX_TYPE_DOUBLE : string = "double";
  • const FBX_TYPE_ENUM : string = "enum";
  • const FBX_TYPE_INT : string = "int";
  • const FBX_TYPE_SHORT : string = "short";
  • const FBX_TYPE_ULONGLONG : string = "ulonglong";
  • const FBX_TYPE_NUMBER : string = "number";
  • const FBX_TYPE_VECTOR3D : string = "vector3d";
  • const FBX_TYPE_VECTOR : string = "vector";
  • const FBX_TYPE_VISIBILITY : string = "visibility";
  • const FBX_TYPE_LCL_SCALING : string = "lcl scaling";
  • const FBX_TYPE_LCL_ROTATION : string = "lcl rotation";
  • const FBX_TYPE_LCL_TRANSLATION : string = "lcl translation";
  • const FBX_TYPE_PRE_ROTATION : string = "PreRotation";
  • const FBX_TYPE_POST_ROTATION : string = "PostRotation";
  • const FBX_TYPE_ROTATION_PIVOT_INVERSE : string = "RotationPivotInverse";
  • const FBX_TYPE_SCALING_PIVOT_INVERSE : string = "ScalingPivotInverse";
  • const FBX_TYPE_SCALING_OFFSET : string = "ScalingOffset";
  • const FBX_TYPE_SCALING_PIVOT : string = "ScalingPivot";
  • const FBX_TYPE_ROTATION_OFFSET : string = "RotationOffset";
  • const FBX_TYPE_ROTATION_Pivot : string = "RotationPivot";
  • const FBX_TYPE_GEOMETRIC_TRANSLATION : string = "GeometricTranslation";
  • const FBX_TYPE_GEOMETRIC_ROTATION : string = "GeometricRotation";
  • const FBX_TYPE_GEOMETRIC_SCALING : string = "GeometricScaling";
  • const FBX_TYPE_GEOMETRIC_TRANSLATION_INVERSE : string = "GeometricTranslationInverse";
  • const FBX_TYPE_GEOMETRIC_ROTATION_INVERSE : string = "GeometricRotationInverse";
  • const FBX_TYPE_GEOMETRIC_SCALING_INVERSE : string = "GeometricScalingInverse";
  • const FBX_TYPE_INHERIT_TYPE : string = "InheritType";
  • const FBX_TYPE_DOUBLE_X : string = "d|X";
  • const FBX_TYPE_DOUBLE_Y : string = "d|Y";
  • const FBX_TYPE_DOUBLE_Z : string = "d|Z";
  • const FBX_TYPE_DOUBLE_W : string = "d|W";
  • const FBX_PROP_COLOR_AMBIENT : string = "AmbientColor";
  • const FBX_PROP_COLOR_DIFFUSE : string = "DiffuseColor";
  • const FBX_PROP_COLOR_EMISSIVE : string = "EmissiveColor";
  • const FBX_PROP_COLOR_SPECULAR : string = "SpecularColor";
  • const FBX_PROP_NORMALMAP : string = "NormalMap";
  • const FBX_PROP_BUMP : string = "Bump";
  • const FBX_PROP_COLOR_DISPLACE : string = "DisplacementColor";
  • const FBX_PROP_COLOR_REFLECT : string = "ReflectionColor";
  • const FBX_PROP_COLOR_TRANSPARENT : string = "TransparentColor";
  • const FBX_PROP_COLOR_VECTORDISPL : string = "VectorDisplacementColor";
  • const FBX_PROP_FACTOR_AMBIENT : string = "AmbientFactor";
  • const FBX_PROP_FACTOR_DIFFUSE : string = "DiffuseFactor";
  • const FBX_PROP_FACTOR_EMISSIVE : string = "EmissiveFactor";
  • const FBX_PROP_FACTOR_SPECULAR : string = "SpecularFactor";
  • const FBX_PROP_FACTOR_BUMP : string = "BumpFactor";
  • const FBX_PROP_FACTOR_DISPLACE : string = "DisplacementFactor";
  • const FBX_PROP_FACTOR_REFLECT : string = "ReflectionFactor";
  • const FBX_PROP_FACTOR_TRANSPARENT : string = "TransparencyFactor";
  • const FBX_PROP_FACTOR_VECTORDISPL : string = "VectorDisplacementFactor";
  • const FBX_PROP_MULTILAYER : string = "MultiLayer";
  • const FBX_PROP_OPACITY : string = "Opacity";
  • const FBX_PROP_SHADINGMODEL : string = "ShadingModel";
  • const FBX_PROP_SHININESS : string = "Shininess";
  • const FBX_PROP_SHINEEXP : string = "ShininessExponent";
  • const FBX_PROP_GLOBAL_UPAXIS : string = "UpAxis";
  • const FBX_PROP_GLOBAL_UPAXIS_SIGN : string = "UpAxisSign";
  • const FBX_PROP_GLOBAL_FRONTAXIS : string = "FrontAxis";
  • const FBX_PROP_GLOBAL_FRONTAXIS_SIGN : string = "FrontAxisSign";
  • const FBX_PROP_GLOBAL_COORDAXIS : string = "CoordAxis";
  • const FBX_PROP_GLOBAL_COORDAXIS_SIGN : string = "CoordAxisSign";
  • const FBX_PROP_GLOBAL_ORIGINAL_UPAXIS : string = "OriginalUpAxis";
  • const FBX_PROP_GLOBAL_ORIGINAL_UPAXIS_SIGN : string = "OriginalUpAxisSign";
  • const FBX_PROP_GLOBAL_UNITSCALEFACTOR : string = "UnitScaleFactor";
  • const FBX_PROP_GLOBAL_ORIGINAL_UNITSCALEFACTOR : string = "OriginalUnitScaleFactor";
  • const FBX_PROP_GLOBAL_AMBIENTCOLOR : string = "AmbientColor";
  • const FBX_PROP_GLOBAL_DEFAULTCAMERA : string = "DefaultCamera";
  • const FBX_PROP_GLOBAL_TIMEMODE : string = "TimeMode";
  • const FBX_PROP_GLOBAL_TIMEPROTOCOL : string = "TimeProtocol";
  • const FBX_PROP_GLOBAL_SNAPONFRAMEMODE : string = "SnapOnFrameMode";
  • const FBX_PROP_GLOBAL_TIMESPANSTART : string = "TimeSpanStart";
  • const FBX_PROP_GLOBAL_TIMESPANSTOP : string = "TimeSpanStop";
  • const FBX_PROP_GLOBAL_CUSTOMFRAMERATE : string = "CustomFrameRate";
  • const FBX_PROP_GLOBAL_TIMEMARKER : string = "TimeMarker";
  • const FBX_PROP_GLOBAL_CURRENTTIMEMARKER : string = "CurrentTimeMarker";
  • const FBX_SHADING_LAMBERT : string = "Lambert";
  • const FBX_SHADING_PHONG : string = "Phong";
  • const FBX_SHADING_BLINN : string = "Blinn";
  • const FBX_CONNECTION_OBJECT_OBJECT : string = "OO";
  • const FBX_CONNECTION_OBJECT_PROP : string = "OP";
  • const FBX_CONNECTION_PROP_PROP : string = "PP";
  • const FBX_INTERPOLATOR_PATH_T : string = "Position.Point";
  • const FBX_INTERPOLATOR_PATH_R : string = "RotationAngle.Point";
  • const FBX_INTERPOLATOR_PATH_S : string = "Scale.Point";
  • const FBX_INTERPOLATOR_PATH_QUATERNION : string = "Quaternion";

Mics. types

  • type PFBXConnection = pointer to TFBXConnection;
  • type PFBXJoint = pointer to TFBXJoint;
  • type PFBXSkeleton = pointer to TFBXSkeleton;

Functions / Procedures

TFBXMappingInformationType

enum TFBXMappingInformationType = ( ByPolygon, ByPolygonVertex, ByVertex, ByEdge, AllSame ) ;

"ByPolygon": It means that there is a normal for every polygon of the model. "ByPolygonVertex": It means that there is a normal for every vertex of every polygon of the model. For example, if the models has 8 vertices that make up four quads, then there will be 16 normals (one normal * 4 polygons * 4 vertices of the polygon). Note that generally a game engine needs the vertices to have only one normal defined. So, if you find a vertex has more tha one normal, you can either ignore the normals you find after the first, or calculate the mean from all of them (normal smoothing). "ByVertex": It means that there is a normal for every vertex of the model. "ByEdge": It means that there is a normal for every edge of the model (rare). "AllSame": It means that there is a normal that is the same for every vertex of the model (rare or impossible for most models).

TFBXReferenceInformationType

enum TFBXReferenceInformationType = ( Direct, IndexToDirect ) ;

"Direct": The normals are in order. "IndexToDirect" (or Index for older versions of the FBX format): The order of the normals is given by the NormalsIndex property.

TFBXInheritType

enum TFBXInheritType = ( eInheritUndef, eInheritRrSs, eInheritRSrs, eInheritRrs ) ;

eInheritRrSs - switches up the order so the local rotation is applied before any scaling is done.

eInheritRSrs - is what we're all used to: the effective local transform consists of applying the parent's global rotation and scale, then local rotation and scale.

eInheritRrs - literally ignores global scale, meaning the sub-hierarchy of the scene graph that hangs off the node in question becomes immune to any scaling done above it.

TFBXNode

Ancestors

Members

Fields

Methods

Properties