Class SkinnedMeshRenderer
Renders a mesh on the screen.
Inheritance
Implements
Inherited Members
Namespace: Evergine.Components.Graphics3D
Assembly: Evergine.Framework.dll
Syntax
public class SkinnedMeshRenderer : Drawable3D, IDependencyObject
Fields
InverseBindPoses
The inverse bind matrices.
Declaration
public Matrix4x4[] InverseBindPoses
Field Value
Type | Description |
---|---|
Matrix4x4[] |
Materials
Materials used for rendering the MeshComponent.
Declaration
[BindComponent(true, true, BindComponentSource.Owner, null, true)]
public List<MaterialComponent> Materials
Field Value
Type | Description |
---|---|
List<MaterialComponent> |
MaxSupportedBlendWeights
The maximum amount of blend weight and blend indices.
Declaration
public static readonly byte MaxSupportedBlendWeights
Field Value
Type | Description |
---|---|
byte |
MeshComponent
MeshComponent to render.
Declaration
[BindComponent(false, true, BindComponentSource.Owner, null, true)]
public MeshComponent MeshComponent
Field Value
Type | Description |
---|---|
MeshComponent |
renderMeshes
The rendered meshes.
Declaration
protected RenderMeshInfo[] renderMeshes
Field Value
Type | Description |
---|---|
RenderMeshInfo[] |
Properties
JointIds
Gets or sets the joints used to skin this mesh.
Declaration
public Guid[] JointIds { get; set; }
Property Value
Type | Description |
---|---|
Guid[] |
Joints
Gets all the transform 3d components of the joints.
Declaration
public Transform3D[] Joints { get; }
Property Value
Type | Description |
---|---|
Transform3D[] |
MorphTargetWeights
Gets or sets the morph target weights.
Declaration
public float[] MorphTargetWeights { get; set; }
Property Value
Type | Description |
---|---|
float[] |
NumSkinnedVertices
Gets the number of skinned vertices.
Declaration
public uint NumSkinnedVertices { get; }
Property Value
Type | Description |
---|---|
uint |
RootJoint
Gets the root joint.
Declaration
public Transform3D RootJoint { get; }
Property Value
Type | Description |
---|---|
Transform3D |
RootJointId
Gets or sets the root joint.
Declaration
public Guid RootJointId { get; set; }
Property Value
Type | Description |
---|---|
Guid |
SkinnedNormalBuffer
Gets the Buffer containing the processed normals.
Declaration
public Buffer SkinnedNormalBuffer { get; }
Property Value
Type | Description |
---|---|
Buffer |
SkinnedNormalData
Gets the skinned normal array data (calculated when Compute shader is not available).
Declaration
public long SkinnedNormalData { get; }
Property Value
Type | Description |
---|---|
long |
SkinnedPositionBuffer
Gets the Buffer containing the processed positions.
Declaration
public Buffer SkinnedPositionBuffer { get; }
Property Value
Type | Description |
---|---|
Buffer |
SkinnedPositionData
Gets the skinned position array data (calculated when the Compute shader is not available).
Declaration
public long SkinnedPositionData { get; }
Property Value
Type | Description |
---|---|
long |
SkinnedTangentBuffer
Gets the Buffer that contains the processed normals.
Declaration
public Buffer SkinnedTangentBuffer { get; }
Property Value
Type | Description |
---|---|
Buffer |
SkinnedTangentData
Gets the skinned tangent array data (calculated when the Compute shader is not available).
Declaration
public long SkinnedTangentData { get; }
Property Value
Type | Description |
---|---|
long |
UseComputeSkinning
Gets or sets a value indicating whether the Skinning is attempted to be generated by a compute shader.
Declaration
public bool UseComputeSkinning { get; set; }
Property Value
Type | Description |
---|---|
bool |
VelocityEnabled
Gets or sets a value indicating whether the component must generate velocity information, useful for TAA or motion blur.
Declaration
public bool VelocityEnabled { get; set; }
Property Value
Type | Description |
---|---|
bool |
Methods
DestroyMeshes()
Destroys the current meshes array.
Declaration
protected void DestroyMeshes()
Draw(DrawContext)
Draws the model.
Declaration
public override void Draw(DrawContext drawContext)
Parameters
Type | Name | Description |
---|---|---|
DrawContext | drawContext | The drawing context. |
Overrides
OnActivated()
Invoked when the object is activated once it is attached.
Declaration
protected override void OnActivated()
Overrides
OnAttached()
Invoked when the object is attached to the system.
Declaration
protected override bool OnAttached()
Returns
Type | Description |
---|---|
bool | True if everything is OK. |
Overrides
OnDeactivated()
Invoked when the object is deactivated.
Declaration
protected override void OnDeactivated()
Overrides
OnDetach()
Invoked when the object is detached.
Declaration
protected override void OnDetach()
Overrides
RefreshMaterial(MaterialComponent)
Refreshes material.
Declaration
protected void RefreshMaterial(MaterialComponent materialComponent)
Parameters
Type | Name | Description |
---|---|---|
MaterialComponent | materialComponent | Material component instance. |
RefreshMeshes()
Generates a new RenderMeshInfo collection.
Declaration
protected virtual void RefreshMeshes()
UpdatePreWorldMatrix()
Updated the Pre World Matrix with the Word Matrix value. This operation must happen in the end of the each frame.
Declaration
public override void UpdatePreWorldMatrix()