Vertex Elements — Aspose.3D FOSS for Java
Paket: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement bir …‘ye eklenen per-vertex (veya per-polygon, per-edge) veri katmanları için soyut temel sınıftır Mesh.Her alt sınıf, belirli bir geometrik öznitelik türünü depolar – normaller, UV koordinatları, vertex renkleri veya yumuşatma grupları.
Example
Example
| Class | Description |
|---|---|
VertexElement | Abstract base for all vertex element types. Carries getMappingMode() , getReferenceMode() , and a data list. |
VertexElementNormal
Vertex başına ya da poligon köşesi başına bir normal vektör depolar, …‘a bağlı olarak getMappingMode(). Veri değerleri Vector4 örnekleri ile w kullanılmıyor.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Class | Description |
|---|---|
VertexElementNormal | Stores per-vertex or per-corner normal vectors as Vector4 (w unused). |
VertexElementUV | Stores texture-coordinate pairs ( Vector2 ) per vertex or per polygon corner. A mesh may carry multiple UV layers. |
VertexElementVertexColor | Stores per-vertex or per-corner RGBA colour data as Vector4 (r, g, b, a in 0–1 range). |
VertexElementTangent | Stores tangent vectors for normal-map shading. |
VertexElementBinormal | Stores binormal (bitangent) vectors, perpendicular to both the normal and the tangent. |
VertexElementMaterial | Stores per-face material index references. |
Döndürür: VertexElementUV
Doku-koordinat çiftlerini depolar (Vector2) her köşe başına ya da çokgen köşesine. Bir ağ, farklı doku kanalları için birden fazla UV katmanı taşıyabilir.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Example
| Enumeration | Description |
|---|---|
VertexElementType | Semantic role: NORMAL , UV , VERTEX_COLOR , TANGENT , BINORMAL , and others. |
MappingMode | Controls which primitive a value maps to: CONTROL_POINT , POLYGON_VERTEX , or POLYGON . |
ReferenceMode | Controls indexing: DIRECT or INDEX_TO_DIRECT . |
VertexElementVertexColor
Her köşe başına ya da köşeye göre RGBA renk verilerini şu biçimde depolar Vector4 (r, g, b, a 0–1 aralığında).
Example
VertexElementType Sayımı
Bir vertex öğesi katmanının anlamsal rolünü tanımlar.
import com.aspose.threed.*;MappingMode Sayımı
Her vertex öğesi değerinin hangi geometri ilkel öğesiyle ilişkilendirileceğini kontrol eder.
ReferenceMode Sayımı
Vertex öğesi veri dizisinin nasıl indeksleneceğini kontrol eder.
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());
}
}
}