PDA

View Full Version : C# e DirectX,problemi con le mesh


Jointella
22-04-2009, 14:12
Ciao a tutti
mi sto vedendo un pò come funzionano le directx ma ho un problema che non riesco a superare

cerco di caricare una mesh da un file.x,il file viene caricato e la texture viene trovata ma non riesco a visualizzare niente sullo schermo.

posto parte del codice incriminato

questo è il form paint


private void Form1_Paint(object sender, PaintEventArgs e)
{

dev.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Blue, 1, 0);
dev.BeginScene();
dev.Transform.View = Matrix.LookAtLH(new Vector3(0, 10, -15),new Vector3(0, 0, 0),new Vector3(0, 1, 0));
dev.Transform.World = Matrix.RotationY(Environment.TickCount / 1000.0f);

for (int i = 0; i < NumeroDiMesh; i++)
{
dev.SetTexture(0,texture[i]);
dev.Material = materiale[i];
cubo.DrawSubset(i);


}
dev.SetTexture(0, null);
dev.EndScene();
dev.Present();



this.Invalidate();
}

questa la funzione con la quale carico il file nella mesh

public void MeshCostr(string fsrc, bool mateOn, bool textOn, string path)
{
ExtendedMaterial[] Mat;
cubo = Mesh.FromFile(path + fsrc, MeshFlags.Dynamic, dev, out Mat);
NumeroDiMesh = Mat.Length;
materiale = new Material[NumeroDiMesh];
texture = new Texture[NumeroDiMesh];
int i;
for (i = 0; i < NumeroDiMesh; i++)
{
materiale[i] = Mat[i].Material3D;
materiale[i].Ambient = materiale[i].Diffuse;

if (textOn == true)
{
if (Mat[i].TextureFilename != null)
{
texture[i] = TextureLoader.FromFile(dev, path + Mat[i].TextureFilename);
}
}

}

spero che mi possiate aiutare

ciao ciao

Jointella
23-04-2009, 11:00
nessuno??