Table of Contents

Enum RenderingServer.ArrayFormat

Namespace
Godot
Assembly
GodotSharp.dll
[Flags]
public enum RenderingServer.ArrayFormat : long

Fields

CompressFlagsBase = FormatVertex | FormatColor | FormatCustom1Shift
FlagCompressAttributes = 536870912

Flag used to mark that a mesh is using compressed attributes (vertices, normals, tangents, UVs). When this form of compression is enabled, vertex positions will be packed into an RGBA16UNORM attribute and scaled in the vertex shader. The normal and tangent will be packed into an RG16UNORM representing an axis, and a 16-bit float stored in the A-channel of the vertex. UVs will use 16-bit normalized floats instead of full 32-bit signed floats. When using this compression mode you must use either vertices, normals, and tangents or only vertices. You cannot use normals without tangents. Importers will automatically enable this compression if they can.

FlagFormatCurrentVersion = 34359738368

Flag used to record the current version that the engine expects. Currently this is the same as FlagFormatVersion2.

FlagFormatVersion1 = 0

Flag used to record the format used by prior mesh versions before the introduction of a version.

FlagFormatVersion2 = 34359738368

Flag used to record the second iteration of the mesh version flag. The primary difference between this and FlagFormatVersion1 is that this version supports FlagCompressAttributes and in this version vertex positions are de-interleaved from normals and tangents.

FlagFormatVersionBase = FormatCustomBits | FormatTexUV2

Flag used to mark the start of the bits used to store the mesh version.

FlagFormatVersionMask = FormatTangent | FormatColor | FormatCustom1Shift | FlagFormatVersionBase | FormatCustom0 | FormatCustom1

Flag used to isolate the bits used for mesh version after using FlagFormatVersionShift to shift them into place.

FlagFormatVersionShift = FormatCustomBits | FormatTexUV2

Flag used to shift a mesh format int to bring the version into the lowest digits.

FlagUse2DVertices = 33554432

Flag used to mark that the array contains 2D vertices.

FlagUse8BoneWeights = 134217728

Flag used to mark that the array uses 8 bone weights instead of 4.

FlagUseDynamicUpdate = 67108864
FlagUsesEmptyVertexArray = 268435456

Flag used to mark that the mesh does not have a vertex array and instead will infer vertex positions in the shader using indices and other information.

FormatBlendShapeMask = FormatCustomBits | FormatTangent
FormatBones = 1024

Flag used to mark a bone information array.

FormatColor = 8

Flag used to mark a vertex color array.

FormatCustom0 = 64

Flag used to mark an array of custom per-vertex data for the first set of custom data.

FormatCustom0Shift = FormatVertex | FormatTangent | FormatColor
FormatCustom1 = 128

Flag used to mark an array of custom per-vertex data for the second set of custom data.

FormatCustom1Shift = 16
FormatCustom2 = 256

Flag used to mark an array of custom per-vertex data for the third set of custom data.

FormatCustom2Shift = FormatCustomBits | FormatCustom1Shift
FormatCustom3 = 512

Flag used to mark an array of custom per-vertex data for the fourth set of custom data.

FormatCustom3Shift = FormatNormal | FormatTangent | FormatCustom1Shift
FormatCustomBase = FormatVertex | FormatTangent | FormatColor
FormatCustomBits = FormatVertex | FormatNormal
FormatCustomMask = FormatCustomBits | FormatTangent
FormatIndex = 4096

Flag used to mark an index array.

FormatNormal = 2

Flag used to mark a normal array.

FormatTangent = 4

Flag used to mark a tangent array.

FormatTexUV = 16

Flag used to mark a UV coordinates array.

FormatTexUV2 = 32

Flag used to mark a UV coordinates array for the second UV coordinates.

FormatVertex = 1

Flag used to mark a vertex position array.

FormatWeights = 2048

Flag used to mark a weights array.