Get the latest Blender, older versions, or experimental builds.
Stay up-to-date with the new features in the latest Blender releases.
Access production assets and knowledge from the open movies.
Documentation on the usage and features in Blender.
Latest development updates, by Blender developers.
Guidelines, release notes and development docs.
A platform to collect and share results of the Blender Benchmark.
The yearly event that brings the community together.
Support core development with a monthly contribution.
Perform a single donation with more payment options available.
/* keep in sync with GlobalsUboStorage */
layout(std140) uniform globalsBlock {
vec4 colorWire;
vec4 colorWireEdit;
vec4 colorActive;
vec4 colorSelect;
vec4 colorDupliSelect;
vec4 colorDupli;
vec4 colorLibrarySelect;
vec4 colorLibrary;
vec4 colorTransform;
vec4 colorLight;
vec4 colorSpeaker;
vec4 colorCamera;
vec4 colorEmpty;
vec4 colorVertex;
vec4 colorVertexSelect;
vec4 colorVertexUnreferenced;
vec4 colorVertexMissingData;
vec4 colorEditMeshActive;
vec4 colorEdgeSelect;
vec4 colorEdgeSeam;
vec4 colorEdgeSharp;
vec4 colorEdgeCrease;
vec4 colorEdgeBWeight;
vec4 colorEdgeFaceSelect;
vec4 colorEdgeFreestyle;
vec4 colorFace;
vec4 colorFaceSelect;
vec4 colorFaceFreestyle;
vec4 colorNormal;
vec4 colorVNormal;
vec4 colorLNormal;
vec4 colorFaceDot;
vec4 colorDeselect;
vec4 colorOutline;
vec4 colorLightNoAlpha;
vec4 colorBackground;
vec4 colorEditMeshMiddle;
vec4 colorHandleFree;
vec4 colorHandleAuto;
vec4 colorHandleVect;
vec4 colorHandleAlign;
vec4 colorHandleAutoclamp;
vec4 colorHandleSelFree;
vec4 colorHandleSelAuto;
vec4 colorHandleSelVect;
vec4 colorHandleSelAlign;
vec4 colorHandleSelAutoclamp;
vec4 colorNurbUline;
vec4 colorNurbVline;
vec4 colorNurbSelUline;
vec4 colorNurbSelVline;
vec4 colorActiveSpline;
vec4 colorBonePose;
vec4 colorCurrentFrame;
vec4 colorGrid;
vec4 colorGridEmphasise;
vec4 colorGridAxisX;
vec4 colorGridAxisY;
vec4 colorGridAxisZ;
float sizeLightCenter;
float sizeLightCircle;
float sizeLightCircleShadow;
float sizeVertex;
float sizeEdge;
float sizeEdgeFix;
float sizeFaceDot;
float gridDistance;
float gridResolution;
float gridSubdivisions;
float gridScale;
float pad_globalsBlock;
};
/* data[0] (1nd byte flags) */
#define FACE_ACTIVE (1 << 0)
#define FACE_SELECTED (1 << 1)
#define FACE_FREESTYLE (1 << 2)
#define VERT_UV_SELECT (1 << 3)
#define VERT_UV_PINNED (1 << 4)
#define EDGE_UV_SELECT (1 << 5)
#define FACE_UV_ACTIVE (1 << 6)
#define FACE_UV_SELECT (1 << 7)
/* data[1] (2st byte flags) */
#define VERT_ACTIVE (1 << 0)
#define VERT_SELECTED (1 << 1)
#define EDGE_ACTIVE (1 << 2)
#define EDGE_SELECTED (1 << 3)
#define EDGE_SEAM (1 << 4)
#define EDGE_SHARP (1 << 5)
#define EDGE_FREESTYLE (1 << 6)