在屏幕的一部分libGDX上使用着色器

时间:2016-10-08 09:52:30

标签: libgdx shader

我使用着色器在整个屏幕上创建简单的黑白效果或模糊效果。但是有没有办法将着色器应用到屏幕的一部分。例如,我想在游戏中创建一个物体,这是一块磨砂玻璃,我的角色可以走在后面。所以我会理想地创建一个着色器,仅在磨砂玻璃覆盖的屏幕区域上创建模糊效果。这可能吗?还是有其他方法更合适?

感谢

1 个答案:

答案 0 :(得分:1)

我只是启用然后在渲染毛玻璃之前和之后禁用着色器。

例如使用SpriteBatch

// Rendering code...

// First set the shader to be used
batch.setShader(myShaderProgram);

/*
Render your frosted glass here
*/

// Go back to the default shader (flushes the buffer too)
batch.setShader(null);

// More rendering code...