Bonjour,
Un ami et moi passons un jeu de C++/DX à C#/XNA et nous rencontrons notamment une difficulté avec DrawIndexedPrimitive.
Le problème est justement que mon ami n'a aucun soucis alors que, pour ma part, j'ai droit à une belle exception! Après plusieurs tests, il semblerait que la version des shaders soit en cause...
Le code suivant plante :
Alors que celui-ci fonctionne très bien (2.0) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 technique Colored { pass Pass0 { VertexShader = compile vs_1_1 ColoredVS(); PixelShader = compile ps_1_1 ColoredPS(); } }
Là où c'est étrange, c'est qu'il me semblait que les problèmes de compatibilité étaient plutôt dans l'autre sens (on veut du 2.0 mais la carte est trop ancienne)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 technique Colored_2_0 { pass Pass0 { VertexShader = compile vs_2_0 ColoredVS(); PixelShader = compile ps_2_0 ColoredPS(); } }
Est-ce que, à votre avis, cela vous semble une raison valable pour jeter une exception? Est-ce bien possible qu'une carte intégre les VS2.0 mais pas les 1.1?
Si c'est le cas, comment peut-on tester avec XNA la version disponible?
Merci
Cordialement
Partager