在libGDX中绘制(形状)到纹理/精灵



在我的libGDX游戏中,我有几个精灵共享相同的纹理。现在我想"手动"绘制到一些精灵上(即我想更改某些精灵中的一些像素)。

如何在不影响其他精灵的情况下修改在精灵之间共享的纹理?
我想我需要在将其设置为精灵之前复制纹理?

您可以使用自定义着色器来自定义精灵纹理。

在使用精灵批处理绘制精灵之前,只需说:

spriteBatch.begin();
spriteBatch.useShader(shaderProgram1);
sprite1.draw(...);
spriteBatch.useShader(shaderProgram);
sprite2.draw(...);
...
spriteBatch.end();

如果您不熟悉着色器,可以查看此链接:https://github.com/libgdx/libgdx/wiki/Shaders

还可以选择使用帧缓冲区对象进行纹理自定义,但我认为如果这些纹理差异不是那么大,那么如果您正在寻找最佳性能,这是最佳解决方案。

希望这能给你一个想法。

最新更新