private static void WriteVertexBuffer(ContentWriter output, DynamicVertexBufferContent buffer) { var vertexCount = buffer.VertexData.Length / buffer.VertexDeclaration.VertexStride; output.WriteRawObject(buffer.VertexDeclaration); output.Write((uint)vertexCount); output.Write(buffer.VertexData); }
protected virtual void ProcessVertexBuffer(DynamicModelContent dynamicModel, ContentProcessorContext context, DynamicModelMeshPartContent part) { if (VertexBufferType != DynamicModelContent.BufferType.Default) { // Replace the default VertexBufferContent with CpuAnimatedVertexBufferContent. DynamicVertexBufferContent vb; if (!_vertexBufferCache.TryGetValue(part.VertexBuffer, out vb)) { vb = new DynamicVertexBufferContent(part.VertexBuffer); vb.IsWriteOnly = (VertexBufferType == DynamicModelContent.BufferType.DynamicWriteOnly); _vertexBufferCache[part.VertexBuffer] = vb; } part.VertexBuffer = vb; } }