惑星の表面にアイソメトリックタイルベースのマップを使用するゲームに取り組んでいます(例)。各タイルセルは小さなBufferedImage要素です。昼と夜のシクルは、これらの画像のピクセルを変更することによって実装され(暗くなり、青にシフトします)、次にウィンドウライトマップ(別の静的BufferedImage)が各建物にレンダリングされます。適切なZオーダーは、右上から左下の順序で維持され、タイルのストリップのみが描画されます。残念ながら、このアプローチは画像の加速を実質的に破壊し、昼夜の遷移が非常に速いゲーム速度で発生すると、レンダリングが非常に遅くなります。現在の解決策は、メモリの大幅な増加を犠牲にして、タイルごとにいくつかのシェードをキャッシュすることです。
この目的で使用されるGraphics2DのJava合成モードは、たとえば、通常の色のタイルを描画し、その上に暗い表面を描画してから、ライトマップを適用できますか?通常のタイルのピクセルのみが色の変更の影響を受けるようにするにはどうすればよいですか?