Semantic
Deprecated: It is planned to render this class obsolete and rely on three.js’s BufferGeometry.
Contains constants for assigning semantics to vertex attributes found in mesh buffers and to data that is uniform throughout a particular geometry draw call.
Members
- BITANGENT
Attribute semantic for a bitangent vector. - COLOR
Attribute semantic for a color. - CUSTOM
Attribute semantic for custom attributes. - JOINT
Attribute semantic for a skinning joint. - JOINTMATRIX
Uniform semantic for a joint matrix. - MODEL
Uniform semantic for a model matrix. - MODELVIEW
Uniform semantic for a model-view matrix. - MODELVIEWINVERSETRANSPOSE
Uniform semantic for the inverse of the 3 × 3 transpose of the model-view matrix. - MODELVIEWPROJECTION
Uniform semantic for a model-view-projection matrix. - NORMAL
Attribute semantic for a vertex normal. - POSITION
Attribute semantic for a vertex position. - PROJECTION
Uniform semantic for a projection matrix. - TANGENT
Attribute semantic for a tangent vector. - TEXCOORD
Attribute semantic for a tuple of texture coordinates. - VIEW
Uniform semantic for a view matrix. - VIEWINVERSE
Uniform semantic for an inverse view matrix. - WEIGHT
Attribute semantic for a skinning weight.
### Semantic.BITANGENT (constant)
Attribute semantic for a bitangent vector.
Attribute semantic for a color. In general, each color consists of three components.
### Semantic.CUSTOM (constant)
Attribute semantic for custom attributes.
Attribute semantic for a skinning joint.
### Semantic.JOINTMATRIX (constant)
Uniform semantic for a joint matrix.
Uniform semantic for a model matrix.
### Semantic.MODELVIEW (constant)
Uniform semantic for a model-view matrix.
### Semantic.MODELVIEWINVERSETRANSPOSE (constant)
Uniform semantic for the inverse of the 3 × 3 transpose of the model-view matrix.
### Semantic.MODELVIEWPROJECTION (constant)
Uniform semantic for a model-view-projection matrix.
### Semantic.NORMAL (constant)
Attribute semantic for a vertex normal.
For 3D graphics libraries to calculate a mesh buffer’s lighting and shading correctly, that mesh buffer must specify normals for all its vertices.
What are normals? A normal is a set of numbers (usually three numbers) describing a particular direction. Generally, a normal’s direction is perpendicular to a surface’s edges, and points up and away from the surface.
Normals are important in the lighting and shading model. When light hits an object’s surface, how brightly the surface will be lit depends on how directly the light points to the surface. It will be lit the most brightly if the light is directly opposite to its normal, and not at all if the light is perpendicular to the normal or in the same direction as the normal.
In general, vertex normals are 3-dimensional and are defined for a mesh buffer only if it also contains vertex positions.
### Semantic.POSITION (constant)
Attribute semantic for a vertex position. In general, vertex positions are 2-dimensional or 3-dimensional.
### Semantic.PROJECTION (constant)
Uniform semantic for a projection matrix.
### Semantic.TANGENT (constant)
Attribute semantic for a tangent vector.
### Semantic.TEXCOORD (constant)
Attribute semantic for a tuple of texture coordinates.
If a texture (array of memory units) will be applied to a mesh buffer’s geometry, then texture coordinates need to be specified for each vertex in that mesh buffer. In general, a texture coordinate is one of two numbers, called U and V, that map to a specific point in the texture. Each texture coordinate ranges from 0 to 1.
In most 3D graphics pipelines, U coordinates start at the left of the texture (0) and increase to the right (1). In some graphics pipelines, such as OpenGL, V coordinates start by default at the bottom of the texture (0) and increase to the top (1), while in others, such as WebGL, Vulkan, Metal, and Direct3D, V coordinates start by default at the top of the texture and increase to the bottom. Thus, for example, in OpenGL by default, texture coordinates (0, 1) indicate the top left corner of the texture, and texture coordinates (0.5, 0.5) indicate the center of the texture.
In general, texture coordinates describe 2-dimensional points.
However, for such texturing tasks as mapping
a square to a trapezoid, trios of 3-dimensional texture coordinates (U, V, and Z)
are useful to ensure the texturing remains perspective-correct.
In this case, the 3-D texture coordinates are converted
to 2-D by dividing the U and V components by the Z component.
In a fragment shader or pixel shader, this can look like
the following
code: texCoord.xy/texCoord.z
.
Uniform semantic for a view matrix.
### Semantic.VIEWINVERSE (constant)
Uniform semantic for an inverse view matrix.
### Semantic.WEIGHT (constant)
Attribute semantic for a skinning weight.