我很高兴地使用LibGDX框架的SpriteBatch类。 我的目标是通过着色器修改精灵的表示。
batch = new SpriteBatch(2, shaderProgram);
我从SpriteBatch类中复制了默认的着色器,并添加了另一个uniform采样器2d。
+ "uniform sampler2D u_Texture2;\n"//
有没有一种有效的方法将纹理传递给着色器?像这样做,总是会导致ClearColor屏幕。
batch.begin();
texture2.bind(1);
shaderProgram.setUniformi("u_Texture2", 1);
batch.draw(spriteTexture,positions[0].x,positions[0].y);
batch.draw(spriteTexture,positions[1].x,positions[1].y);
batch.end();
每个纹理单独使用都能正常工作。在 Mesh 类的帮助下手动绘制也能按预期运行。那么,我该怎么做才能使用 SpriteBatch 的便利呢?
谢谢帮助。