API Reference

Class List

pc.VertexFormat

A vertex format is a descriptor that defines the layout of vertex data inside a pc.VertexBuffer.

// Specify 3-component positions (x, y, z)
var vertexFormat = new pc.VertexFormat(graphicsDevice, [
    { semantic: pc.SEMANTIC_POSITION, components: 3, type: pc.TYPE_FLOAT32 }
]);
// Specify 2-component positions (x, y), a texture coordinate (u, v) and a vertex color (r, g, b, a)
var vertexFormat = new pc.VertexFormat(graphicsDevice, [
    { semantic: pc.SEMANTIC_POSITION, components: 2, type: pc.TYPE_FLOAT32 },
    { semantic: pc.SEMANTIC_TEXCOORD0, components: 2, type: pc.TYPE_FLOAT32 },
    { semantic: pc.SEMANTIC_COLOR, components: 4, type: pc.TYPE_UINT8, normalize: true }
]);

Summary

Static Properties

defaultInstancingFormat

Returns pc.VertexFormat used to store matrices of type pc.Mat4 for hardware instancing.[read only]

Details

Static Properties

defaultInstancingFormat

Returns pc.VertexFormat used to store matrices of type pc.Mat4 for hardware instancing.

[read only]

Constructor

VertexFormat(graphicsDevice, description)

Returns a new pc.VertexFormat object.

// Specify 3-component positions (x, y, z)
var vertexFormat = new pc.VertexFormat(graphicsDevice, [
    { semantic: pc.SEMANTIC_POSITION, components: 3, type: pc.TYPE_FLOAT32 }
]);
// Specify 2-component positions (x, y), a texture coordinate (u, v) and a vertex color (r, g, b, a)
var vertexFormat = new pc.VertexFormat(graphicsDevice, [
    { semantic: pc.SEMANTIC_POSITION, components: 2, type: pc.TYPE_FLOAT32 },
    { semantic: pc.SEMANTIC_TEXCOORD0, components: 2, type: pc.TYPE_FLOAT32 },
    { semantic: pc.SEMANTIC_COLOR, components: 4, type: pc.TYPE_UINT8, normalize: true }
]);

Parameters

graphicsDevicepc.GraphicsDevice

The graphics device used to manage this vertex format.

descriptionobject[]

An array of vertex attribute descriptions.

description[].semanticstring

The meaning of the vertex element. This is used to link the vertex data to a shader input. Can be:

If vertex data has a meaning other that one of those listed above, use the user-defined semantics: pc.SEMANTIC_ATTR0 to pc.SEMANTIC_ATTR15.

description[].componentsnumber

The number of components of the vertex attribute. Can be 1, 2, 3 or 4.

description[].typenumber

The data type of the attribute. Can be:

description[].normalizeboolean

If true, vertex attribute data will be mapped from a 0 to 255 range down to 0 to 1 when fed to a shader. If false, vertex attribute data is left unchanged. If this property is unspecified, false is assumed.