2010-03-04 12 views
0

Comment résoudre une erreur Impossible de jeter l'objet de type « System.Int32 » taper « Microsoft.DirectX.Direct3D.VertexShader »Coulée de Int32 à « Microsoft.DirectX.Direct3D.VertexShader »

Nous voulons case '' System.Int32 'valeur dans' Microsoft.DirectX.Direct3D.VertexShader ' J'ai essayé avec CType mais ne fonctionnait pas. également essayé mD3DDevice.VertexShader = cObj (D3DFVF_CUSTOMVERTEX_BOX) mais pas de chance Pouvez-vous s'il vous plaît aider

Répondre

0

Le Microsoft.DirectX.Direct3D.VertexShader est une classe, un type de référence, pas un type de valeur. Vous ne pouvez pas convertir directement un System.Int32 en VertexShader, car VertexShader n'est pas basé sur System.Int32 et il n'y a pas de conversion prédéfinie. Si vous pensez à un moyen légitime de convertir un System.Int32 en un VertexShader, vous pouvez implémenter la conversion vous-même.

Sinon, il semble que vous devez soit:

  1. Consulter le VertexShader documentation, et plus précisément sa documentation constructors.
  2. Utilisez Device.GetVertexShaderInt32Constant et Device.SetVertexShaderConstantInt32 méthodes d'un appareil spécifique.
+0

Merci de répondre. Ses 21h15 et il est temps de partir .... va essayer demain. Merci ... !!! – Avinash