private void doBlurPass(FrameBuffer fboInput, boolean vertical) {
GL20 gl = Gdx.gl20;
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
spriteBatch.setShader(blurPassShaderProgram);
gl.glDisable(GL20.GL_BLEND);
spriteBatch.begin();
if (useInverseTarget) {
blurPassShaderProgram.setUniformf("u_size",
vertical ? horizontalOnePixelSize : verticalOnePixelSize,
0);
} else {
blurPassShaderProgram.setUniformf("u_size",
vertical ? 0 : horizontalOnePixelSize,
vertical ? verticalOnePixelSize : 0);
}
blurPassShaderProgram.setUniform4fv("u_offsets", offsets, 0, 4);
blurPassShaderProgram.setUniformf("u_weightAtCenter", weightAtCenter);
blurPassShaderProgram.setUniform4fv("u_weights", weights, 0, 4);
spriteBatch.draw(fboInput.getColorBufferTexture(), -1, -1, 2, 2);
spriteBatch.end();
spriteBatch.setShader(null);
}
GaussianBlur.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:LWPTools
作者:
评论列表
文章目录