【发布时间】:2014-04-06 11:04:26
【问题描述】:
在我的 libGDX 游戏中,我有几个共享相同纹理的精灵。现在我想“手动”绘制到一些精灵上(即我想改变一些精灵中的一些像素)。
如何修改在几个精灵之间共享的纹理而不影响其他精灵?
我想我需要先复制纹理,然后再将其设置为精灵?
【问题讨论】:
-
您是否尝试过使用Pixmaps?
标签: libgdx
在我的 libGDX 游戏中,我有几个共享相同纹理的精灵。现在我想“手动”绘制到一些精灵上(即我想改变一些精灵中的一些像素)。
如何修改在几个精灵之间共享的纹理而不影响其他精灵?
我想我需要先复制纹理,然后再将其设置为精灵?
【问题讨论】:
标签: libgdx
您可以使用自定义着色器来自定义精灵纹理。
在用 spriteBatch 绘制精灵之前,简单说一下:
spriteBatch.begin();
spriteBatch.useShader(shaderProgram1);
sprite1.draw(...);
spriteBatch.useShader(shaderProgram);
sprite2.draw(...);
...
spriteBatch.end();
如果您不熟悉着色器,可以查看此链接: https://github.com/libgdx/libgdx/wiki/Shaders
还有使用帧缓冲对象的选项,用于纹理自定义,但我认为如果这些纹理差异不是很大,如果您正在寻找最佳性能,这是最好的解决方案。
希望这能给你一个想法。
【讨论】: