View Single Post
Old 29-05-2008, 23:32   #5
Radeon89
Senior Member
 
L'Avatar di Radeon89
 
Iscritto dal: Mar 2006
Cittā: Provincia di Lecco
Messaggi: 321
Boh, io non capisco, ora vi posto il ciclo...

Codice:
                    Color clInvalid = new Color();
                    clInvalid = Color.FromArgb(0, Color.Black); //colore trasparente
                    for (int x = 0; x < width; x++)
                    {
                        for (int y = 0; y < height; y++)
                        {
                            switch (validazioneVertici[x,y])
                            {
                                case 0://se non sono validi assegno il colore bianco e la componente alpha a 0 (trasparenza assoluta)
                                    vertici[x + y * width].Color = clInvalid.ToArgb();
                                    vertici[x + y * width].Z = 100;
                                    break;
                                case 1://se sono validi gli assegno un colore e l'altezza
                                    vertici[x + y * width].Color = cl.ToArgb();
                                    vertici[x + y * width].Position = new Vector3(x, y, (float)functionHeightData[x, y]);
                                    break;
                                case 2:
                                    vertici[x + y * width].Color = clInvalid.ToArgb();
                                    vertici[x + y * width].Position = new Vector3(x, y, (float)functionHeightData[x, y]);
                                    break;
                                case 3:
                                    vertici[x + y * width].Color = clInvalid.ToArgb();
                                    vertici[x + y * width].Position = new Vector3(x, y, (float)functionHeightData[x, y]);
                                    break;
                            }
                        if (avanzaCalcolo != null)
                            avanzaCalcolo(this);
}
Questo č il ciclo che passa tutti i vertici per assegnarli l'altezza e il colore, a seconda che siano validi o meno... Con l'istruzione che ho aggiunto nel case 0 ( vertici[x + y * width].Z = 100; ) i vertici non validi vengono, oltre che cambiati di colore e resi trasparenti, alzati all'altezza 100. Ora, provando il programma in questo modo noto che il vertice che non dovrebbe vedersi si alza come previsto, quindi il ciclo non salta il vertice, ed entra anche nel case, ma quindi cosa succede, l'istruzione prima non viene eseguita!!??!?!?!?!?
__________________
CONFIGURAZIONE PC FISSOAlimentatore:Levicom X-Alien 450W.CPU:Intel Core 2 Duo E6600 @2975MHz per ora...VGA:Sapphire x1950 xt 256 mb @634/945 MOBO:P5N-E SLI RAM:2Gb Corsair XMS2 6400 cas4||BENCHMARK PC FISSO 3dMark05:12810 3dMark06:6546||Internet:Fastweb 6mbit/s||PORTATILEAcer Aspire 5920G.CPU:Intel Core 2 Duo T5550.VGA:nVidia 8600M GT 512mb.RAM:3 gb.HDD:160gb
Radeon89 č offline   Rispondi citando il messaggio o parte di esso
 
Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.