高效照明系统

时间:2016-09-03 19:26:50

标签: java game-engine lighting

在我的游戏中,我有一个(我会称之为)相对基本的照明系统。我从经验中知道,照明系统总能显着增加游戏的整体CPU使用率。然而,我所做的方式似乎是游戏的fps的一半,这从来都不是一件好事。

我的照明系统通过从对应于每个像素的整数数组中取光值(0-14)并相应地编辑像素的rgb值来工作。这是执行rgb编辑的行。

 setPixel(x, y, ((255 & 0xFF) << 24) | (((rgb[0] - (rgb[0]/14 * invL)) & 0xFF) << 16) | ((rgb[1] - (rgb[1] / 14 * invL) & 0xFF) << 8) | ((rgb[2] - (rgb[2] / 14 * invL) & 0xFF) << 0));

invL仅代表14减去光值,而rgb []是一个整数数组,包含像素的rgb值。还要记住,此操作是针对每个像素运行的,这意味着每60秒运行数千次。

此外,这甚至不包括计算每个像素的光照水平。所以我的问题是,有什么办法可以让这项操作更有效率吗?

感谢。

0 个答案:

没有答案