我是使用libGDX框架的游戏开发人员,但在shader
OpenGL中是新的。我试图像这张照片做外部发光:
我在不同的网站上找到了简单的教程,例如2D Selection Outline Shader in LibGDX。它工作正常,但大纲只画了,图像没画,我不知道为什么!
图片:
在渲染方法中:
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
shaderOutline.begin();
shaderOutline.setUniformf("u_viewportInverse", new Vector2(1f / 99, 1f / 94));
shaderOutline.setUniformf("u_offset", 2);
shaderOutline.setUniformf("u_step", Math.min(1f, 99 / 70f));
shaderOutline.setUniformf("u_color", new Vector3(123/255, 1, 71/255));
shaderOutline.end();
batch.setShader(shaderOutline);
batch.begin();
batch.draw(img, 240, 400);
batch.end();
batch.setShader(null);
}
输出:
最后,我在这个领域需要任何建议(着色语言)。
答案 0 :(得分:1)
您还需要添加image
本身的图纸:
在render
:
batch.setShader(shaderOutline);
batch.begin();
batch.draw(img, 240, 400);
batch.end();
batch.setShader(null);
// Add this:
batch.begin();
batch.draw(img, 240, 400);
batch.end();