Class PrimitiveModelBuilder
Represents a builder for primitive models.
Inherited Members
Namespace: Evergine.Components.Primitives
Assembly: Evergine.Components.dll
Syntax
public class PrimitiveModelBuilder : DisposableObject
Properties
VerticesCount
Gets the vertex count.
Declaration
public int VerticesCount { get; }
Property Value
| Type | Description |
|---|---|
| int |
Methods
AddIndex(int)
Adds a new index to the primitive model.
Declaration
public void AddIndex(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index. |
Remarks
This should only be called during the initialization process, before InitializePrimitive.
AddVertex(Vector3, Vector3)
Adds a new vertex to the primitive model.
Declaration
public void AddVertex(Vector3 position, Vector3 normal)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | The position. |
| Vector3 | normal | The normal. |
Remarks
This should only be called during the initialization process, before InitializePrimitive.
AddVertex(Vector3, Vector3, Vector2)
Adds a new vertex to the primitive model.
Declaration
public void AddVertex(Vector3 position, Vector3 normal, Vector2 texcoord)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | The position. |
| Vector3 | normal | The normal. |
| Vector2 | texcoord | The texture coordinate. |
Remarks
This should only be called during the initialization process, before InitializePrimitive.
AddVertex(Vector3, Vector3, Vector3, Vector2)
Adds a new vertex to the primitive model.
Declaration
public void AddVertex(Vector3 position, Vector3 normal, Vector3 tangent, Vector2 texcoord)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | The position. |
| Vector3 | normal | The normal. |
| Vector3 | tangent | The tangent. |
| Vector2 | texcoord | The texture coordinate. |
Remarks
This should only be called during the initialization process, before InitializePrimitive.
AddVertex(Vector3, Vector3, Vector3, Vector2, Color)
Adds a new vertex to the primitive model.
Declaration
public void AddVertex(Vector3 position, Vector3 normal, Vector3 tangent, Vector2 texcoord, Color color)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | position | The position. |
| Vector3 | normal | The normal. |
| Vector3 | tangent | The tangent. |
| Vector2 | texcoord | The texture coordinate. |
| Color | color | The color. |
Remarks
This should only be called during the initialization process, before InitializePrimitive is called.
CalculateTangentSpace()
Calculates the tangent space of the geometry.
Declaration
public void CalculateTangentSpace()
Clear()
Clears the internal structure.
Declaration
public void Clear()
CreateMesh(GraphicsContext)
Gets the Mesh by vertex and index information.
Declaration
public Mesh CreateMesh(GraphicsContext graphicsContext)
Parameters
| Type | Name | Description |
|---|---|---|
| GraphicsContext | graphicsContext | The GraphicsContext used for mesh buffer generation. |
Returns
| Type | Description |
|---|---|
| Mesh | Mesh instance. |
Destroy()
Destroys all resources of this instance.
Declaration
protected override void Destroy()
Overrides
GetSphericalTexCoord(Vector3)
Gets the spherical texture coordinates.
Declaration
public Vector2 GetSphericalTexCoord(Vector3 normal)
Parameters
| Type | Name | Description |
|---|---|---|
| Vector3 | normal | The normal. |
Returns
| Type | Description |
|---|---|
| Vector2 | Spherical coordinates. |
GetVertex(int)
Get vertex by index.
Declaration
public VertexPositionNormalTangentColorDualTexture GetVertex(int index)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The vertex index. |
Returns
| Type | Description |
|---|---|
| VertexPositionNormalTangentColorDualTexture | The vertex. |
SetCapacity(int, int)
Prepares the internal structure with the specified size for indices and vertices.
Declaration
public void SetCapacity(int indicesCount, int vertexCount)
Parameters
| Type | Name | Description |
|---|---|---|
| int | indicesCount | The maximum index count. |
| int | vertexCount | The maximum vertex count. |
SetVertex(int, VertexPositionNormalTangentColorDualTexture)
Set the vertex by index.
Declaration
public void SetVertex(int index, VertexPositionNormalTangentColorDualTexture v)
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The vertex index. |
| VertexPositionNormalTangentColorDualTexture | v | The new vertex value. |