5,530
社区成员
发帖
与我相关
我的任务
分享
for (int x = 0; x < WIDTH; x++)
{
for (int y = 0; y < HEIGHT; y++)
{
float a = GS_Grid[x][y].a;
float b = GS_Grid[x][y].b;
//更新
GS_Grid[x][y].a = a +
((GS_DA*GS_Laplacian(x, y, GS_U)) -
(a*b*b) +
(GS_FEED*(1 - a)))*GS_DT;
GS_Grid[x][y].b = b +
((GS_DB*GS_Laplacian(x, y, GS_V)) +
(a*b*b) -
((GS_KILL + GS_FEED)*b))*GS_DT;
}
}
for (i = 0; i < HEIGHT; i++) {
for (j = 0; j < WIDTH; j++) {
//c = ((((i & 0x8) == 0) ^ ((j & 0x8)) == 0)) * 255;//黑白方块交替
//int c = max(min(texNext[i][j].a - texNext[i][j].b, 1), 0);
c = floor((GS_Grid[i][j].a - GS_Grid[i][j].b) * 255);
GS_Pix[i][j][0] = (GLubyte)c;
GS_Pix[i][j][1] = (GLubyte)GS_Grid[i][j].a*255;// floor(GS_Grid[i][j].a * 255);
GS_Pix[i][j][2] = (GLubyte)GS_Grid[i][j].b * 255;// floor(GS_Grid[i][j].b * 255);
GS_Pix[i][j][3] = (GLubyte)255;
}
}