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