Axiom.Animating.VertexAnimationTrack.ApplyPoseToVertexData C# (CSharp) 메소드

ApplyPoseToVertexData() 공개 메소드

Utility method for applying pose animation
public ApplyPoseToVertexData ( Pose pose, VertexData data, float influence ) : void
pose Pose
data Axiom.Graphics.VertexData
influence float
리턴 void
		public void ApplyPoseToVertexData( Pose pose, VertexData data, float influence )
		{
			if ( targetMode == VertexAnimationTargetMode.Hardware )
			{
				// Hardware
				// If target mode is hardware, need to bind our pose buffer
				// to a target texcoord
				Debug.Assert( data.HWAnimationDataList.Count == 0,
							 "Haven't set up hardware vertex animation elements!" );
				// no use for TempBlendedBufferInfo here btw
				// Set pose target as required
				int hwIndex = data.HWAnimDataItemsUsed++;
				// If we try to use too many poses, ignore extras
				if ( hwIndex < data.HWAnimationDataList.Count )
				{
					HardwareAnimationData animData = data.HWAnimationDataList[ hwIndex ];
					data.vertexBufferBinding.SetBinding( animData.TargetVertexElement.Source,
														pose.GetHardwareVertexBuffer( data.vertexCount ) );
					// save final influence in parametric
					animData.Parametric = influence;
				}
			}
			else
			{
				// Software
				Mesh.SoftwareVertexPoseBlend( influence, pose.VertexOffsetMap, data );
			}
		}