Commit d2fb190d by leonwind Committed by microkatz

Bind contrastFactor in constructor instead of drawFrame method.

PiperOrigin-RevId: 469438747
(cherry picked from commit 9a1e7fbd)
parent 2af7d877
...@@ -31,13 +31,12 @@ import java.io.IOException; ...@@ -31,13 +31,12 @@ import java.io.IOException;
private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_contrast_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_contrast_es2.glsl";
private final GlProgram glProgram; private final GlProgram glProgram;
private final float contrastFactor;
public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHdr) public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHdr)
throws FrameProcessingException { throws FrameProcessingException {
super(useHdr); super(useHdr);
// Use 1.0001f to avoid division by zero issues. // Use 1.0001f to avoid division by zero issues.
contrastFactor = (1 + contrastEffect.contrast) / (1.0001f - contrastEffect.contrast); float contrastFactor = (1 + contrastEffect.contrast) / (1.0001f - contrastEffect.contrast);
try { try {
glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH);
...@@ -55,6 +54,7 @@ import java.io.IOException; ...@@ -55,6 +54,7 @@ import java.io.IOException;
Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0);
glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix);
glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix);
glProgram.setFloatUniform("uContrastFactor", contrastFactor);
} }
@Override @Override
...@@ -67,7 +67,6 @@ import java.io.IOException; ...@@ -67,7 +67,6 @@ import java.io.IOException;
try { try {
glProgram.use(); glProgram.use();
glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0);
glProgram.setFloatUniform("uContrastFactor", contrastFactor);
glProgram.bindAttributesAndUniforms(); glProgram.bindAttributesAndUniforms();
// The four-vertex triangle strip forms a quad. // The four-vertex triangle strip forms a quad.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment