にsquarsに変身私は、私は波を作成するとき、それは円として出始めるように思え http://www.gamedev.net/reference/articles/article915.asp水の波及効果を作成しようとしていますが、波紋は、OpenGL
からもらった水流アルゴリズムを使用しています。時間が経過すると、円は散逸し、45°、-45°、45°の角度で線を描く。だから、もはや波のように見えませんが、正方形のような形です。
これは、波を開始するためのコードです:
WaveMapPingc(int x,int y,int rd, int str)
{
for(float a=0; a<3.14159*2; a+=.1)
{
for(int r=1; r<rd;r++)
{
// LowWaveMapPingca(x+(int)((float)r*cos(a)+.5) ,y+(int)((float)r*sin(a)+.5),str);
WaveMap[CT]
[x+(int)((float)r*cos(a)+.5)]
[y+(int)((float)r*sin(a)+.5)]=str;
}
}
}
これは、高さマップを生成するコードです:
UpdateWaveMap()
{
int x,y,n;
int Temporary_Value = CT;
CT = NW;
NW = Temporary_Value;
// { Skip the edges to allow area sampling }
for(y= 1; y<MAXY-1; y++)
{
for(x= 1;x< MAXX-1; x++)
{
n = (WaveMap[CT][x-1][y] +
WaveMap[CT][x+1][y] +
WaveMap[CT][x][y-1] +
WaveMap[CT][x][y+1])/2 -
WaveMap[NW][x][y];
float sub=(float)n/DAMP;
int isub=sub;
if (n<1 && isub==0)
n++;
else
if (n>1 && isub==0)
n--;
else
n = n-isub;
WaveMap[NW][x][y] = n;
} // x
} // y
} // function
スクリーンショットはありますか? – genpfault