Skip to content

Commit 33d5eab

Browse files
committed
fix edgefilter
1 parent f294ea6 commit 33d5eab

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

app/src/main/java/com/pedro/streamer/utils/FilterMenu.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ class FilterMenu(private val context: Context) {
180180
return true
181181
}
182182
R.id.edge_detection -> {
183-
glInterface.setFilter(EdgeDetectionFilterRender())
183+
glInterface.setFilter(EdgeDetectionFilterRender(false))
184184
return true
185185
}
186186
R.id.exposure -> {

encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/EdgeDetectionFilterRender.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class EdgeDetectionFilterRender extends BaseFilterRender {
5454
private int uMVPMatrixHandle = -1;
5555
private int uSTMatrixHandle = -1;
5656
private int uSamplerHandle = -1;
57-
private int uPixelSizeHandle = -1;
57+
private int uEdgeSizeHandle = -1;
5858
private int uEdgeColorHandle = -1;
5959
private int uBackgroundColorHandle = -1;
6060

@@ -70,18 +70,17 @@ public class EdgeDetectionFilterRender extends BaseFilterRender {
7070
private final boolean performanceMode;
7171

7272
public EdgeDetectionFilterRender(boolean performanceMode) {
73-
super();
74-
this.performanceMode = performanceMode;
75-
}
76-
77-
public EdgeDetectionFilterRender() {
7873
squareVertex = ByteBuffer.allocateDirect(squareVertexDataFilter.length * FLOAT_SIZE_BYTES)
7974
.order(ByteOrder.nativeOrder())
8075
.asFloatBuffer();
8176
squareVertex.put(squareVertexDataFilter).position(0);
8277
Matrix.setIdentityM(MVPMatrix, 0);
8378
Matrix.setIdentityM(STMatrix, 0);
84-
performanceMode = true;
79+
this.performanceMode = performanceMode;
80+
}
81+
82+
public EdgeDetectionFilterRender() {
83+
this(true);
8584
}
8685

8786
@Override
@@ -96,7 +95,7 @@ protected void initGlFilter(Context context) {
9695
uSTMatrixHandle = GLES20.glGetUniformLocation(program, "uSTMatrix");
9796
uSamplerHandle = GLES20.glGetUniformLocation(program, "uSampler");
9897
if (!performanceMode) {
99-
uPixelSizeHandle = GLES20.glGetUniformLocation(program, "uPixelSize");
98+
uEdgeSizeHandle = GLES20.glGetUniformLocation(program, "uEdgeSize");
10099
uEdgeColorHandle = GLES20.glGetUniformLocation(program, "uEdgeColor");
101100
uBackgroundColorHandle = GLES20.glGetUniformLocation(program, "uBackgroundColor");
102101
}
@@ -122,7 +121,7 @@ protected void drawFilter() {
122121
if (!performanceMode) {
123122
GLES20.glUniform3f(uEdgeColorHandle, edgeRed, edgeGreen, edgeBlue);
124123
GLES20.glUniform3f(uBackgroundColorHandle, backgroundRed, backgroundGreen, backgroundBlue);
125-
GLES20.glUniform1f(uPixelSizeHandle, edgeSize);
124+
GLES20.glUniform1f(uEdgeSizeHandle, edgeSize);
126125
}
127126
GLES20.glUniform1i(uSamplerHandle, 0);
128127
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);

encoder/src/main/res/raw/edge_detection_vertex.glsl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ varying vec2 vRightCoord;
1111
varying vec2 vTopCoord;
1212
varying vec2 vBottomCoord;
1313

14-
uniform float uPixelSize;
14+
uniform float uEdgeSize;
1515

1616
void main() {
1717
gl_Position = uMVPMatrix * aPosition;
1818
vTextureCoord = (uSTMatrix * aTextureCoord).xy;
1919

20-
vLeftCoord = vTextureCoord + vec2(-uPixelSize, 0.0);
21-
vRightCoord = vTextureCoord + vec2(uPixelSize, 0.0);
22-
vTopCoord = vTextureCoord + vec2(0.0, -uPixelSize);
23-
vBottomCoord = vTextureCoord + vec2(0.0, uPixelSize);
20+
vLeftCoord = vTextureCoord + vec2(-uEdgeSize, 0.0);
21+
vRightCoord = vTextureCoord + vec2(uEdgeSize, 0.0);
22+
vTopCoord = vTextureCoord + vec2(0.0, -uEdgeSize);
23+
vBottomCoord = vTextureCoord + vec2(0.0, uEdgeSize);
2424
}

0 commit comments

Comments
 (0)