2013-01-23 16 views
5

Io sto cercando di realizzare il modello 3d di collisione in Silverlight 5. Per fare questo sto creando una BoundingBox (proprio come in XNA4.0):Silverlight 5 e VertexBuffer.GetData()

ho visto la stessa domanda VertexBuffer.GetData() and Silverlight 5 in questo collegamento ma nessuna risposta trovata.

public BoundingBox GetBoundingBoxFromModel(Model model) 
    {    
     BoundingBox boundingBox = new BoundingBox(); 

      foreach (ModelMeshPart part in model.Meshes[0].MeshParts) 
      { 
       VertexPositionNormalTexture[] vertices = new VertexPositionNormalTexture[part.NumVertices]; 
       Vector3[] vertexs = new Vector3[vertices.Length]; 

       part.VertexBuffer.GetData<VertexPositionNormalTexture>(vertices);      


       for (int index = 0; index < vertexs.Length; index++) 
       { 
        vertexs[index] = vertices[index].Position; 
       } 

       boundingBox = BoundingBox.CreateMerged(boundingBox, BoundingBox.CreateFromPoints(vertexs)); 
      }    
     return boundingBox; 
    } 

risposta

0

Per motivi di sicurezza, Microsoft ha accesso negato verso GPU. Quindi hanno sospeso il metodo GetData(). Per superare questo problema in Silverlight 5 è possibile scrivere una pipeline di contenuti personalizzata per caricare l'oggetto e provare a leggere i dati del vertice e risolve il problema.

Problemi correlati