int z = 128;
float tu, tv;
int nArrayIndex = 0;
for(int nIndexY=0;nIndexY<bmpHeight;nIndexY+=2)
{
tv = (float)(((float)nIndexY/(float)2)/(float)128);
for(int nIndexX=0;nIndexX<bmpWidth;nIndexX+=2)
{
int x=nIndexX-128;
tu = (float)(((float)nIndexX/(float)2)/(float)128);
cvs[((nIndexY/2) * 128)+(nIndexX/2)].X = (float)x;
cvs[((nIndexY/2) * 128)+(nIndexX/2)].Y=(float)data[nIndexY,nIndexX];
cvs[((nIndexY/2) * 128)+(nIndexX/2)].Z=(float)z;
cvs[((nIndexY/2) * 128)+(nIndexX/2)].Tu=tv;
cvs[((nIndexY/2) * 128)+(nIndexX/2)].Tv=tu;
int col=data[nIndexY,nIndexX]*7;
cvs[((nIndexY/2) * 128)+(nIndexX/2)].Color = Color.FromArgb(255, col,col,col).ToArgb();
}
z-=2;
}
for(int nIndexY=0; nIndexY<128; nIndexY++)
{
for(int nIndexX=0; nIndexX<127; nIndexX++)
{
Inds[nArrayIndex]= (short)(((nIndexY+1) * 128)+nIndexX);
Inds[nArrayIndex+1]=(short)((nIndexY * 128)+nIndexX);
Inds[nArrayIndex+2]=(short)(((nIndexY+1) * 128)+nIndexX+1);
Inds[nArrayIndex+3]=(short)(((nIndexY+1) * 128)+nIndexX+1);
Inds[nArrayIndex+4]=(short)((nIndexY * 128)+nIndexX);
Inds[nArrayIndex+5]=(short)((nIndexY * 128)+nIndexX+1);
nArrayIndex+=6;
}
}
Interesuje me dali mi ko moze objasniti na koji tacno nacin kreira vertexe na osnovu koda iznad?
Znam da drugi dio koda sluzi za kreiranje indexa i to je to :)
Napomena: data[] niz sadrzi vrijednosti pixela bitmape, tj. vrijednosti boja (0-255)!
Hvala unaprijed!