Vertex Elements

Vertex Elements — Aspose.3D FOSS for Java

Pakket: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement is de abstracte basisklasse voor per-vertex (of per-polygon, per-edge) gegevenslagen die zijn gekoppeld aan een Mesh.Elke subklasse slaat een specifiek type geometrisch attribuut op – normalen, UV-coördinaten, vertexkleuren, of smoothing-groepen.


Example

Example

ClassDescription
VertexElementAbstract base for all vertex element types. Carries getMappingMode() , getReferenceMode() , and a data list.

VertexElementNormal

Slaat één normaalvector per vertex of per polygonhoek op, afhankelijk van getMappingMode(). Gegevenswaarden zijn Vector4 instanties met w ongebruikt.

import com.aspose.threed.*;

VertexElement normals = mesh.createElement(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT
);

Example

ClassDescription
VertexElementNormalStores per-vertex or per-corner normal vectors as Vector4 (w unused).
VertexElementUVStores texture-coordinate pairs ( Vector2 ) per vertex or per polygon corner. A mesh may carry multiple UV layers.
VertexElementVertexColorStores per-vertex or per-corner RGBA colour data as Vector4 (r, g, b, a in 0–1 range).
VertexElementTangentStores tangent vectors for normal-map shading.
VertexElementBinormalStores binormal (bitangent) vectors, perpendicular to both the normal and the tangent.
VertexElementMaterialStores per-face material index references.

Retourneert: VertexElementUV

Slaat textuurcoördinaatparen op (Vector2) per vertex of per polygonhoek. Een mesh kan meerdere UV-lagen voor verschillende textuurkanalen bevatten.


VertexElementUV uv = mesh.createElementUV(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT
);

Example

EnumerationDescription
VertexElementTypeSemantic role: NORMAL , UV , VERTEX_COLOR , TANGENT , BINORMAL , and others.
MappingModeControls which primitive a value maps to: CONTROL_POINT , POLYGON_VERTEX , or POLYGON .
ReferenceModeControls indexing: DIRECT or INDEX_TO_DIRECT .

VertexElementVertexColor

Slaat per-vertex of per-corner RGBA-kleurgegevens op als Vector4 (r, g, b, a in het bereik 0–1).

Example


VertexElementType-enumeratie

Identificeert de semantische rol van een vertex-elementlaag.

import com.aspose.threed.*;

MappingMode-enumeratie

Bepaalt bij welke geometrische primitive elke vertex-elementwaarde hoort.


ReferenceMode-enumeratie

Bepaalt hoe de vertex-elementgegevensarray wordt geïndexeerd.


Example

import com.aspose.threed.Scene;
import com.aspose.threed.*;

Scene scene = Scene.fromFile("model.obj");

for (Node node : scene.getRootNode().getChildNodes()) {
    if (node.getEntity() instanceof Mesh) {
        Mesh mesh = (Mesh) node.getEntity();
        for (VertexElement ve : mesh.getVertexElements()) {
            System.out.println("  Element: " + ve.getVertexElementType()
                + " mapping=" + ve.getMappingMode()
                + " ref=" + ve.getReferenceMode());
        }
    }
}

Zie ook

 Nederlands