Home | History | Annotate | Download | only in webrtc

Lines Matching defs:shader

50   // Simple vertex shader, used for both YUV and OES.
121 private static class Shader {
125 public Shader(String fragmentShader) {
132 private final Map<String, Shader> shaders = new IdentityHashMap<String, Shader>();
190 final Shader shader;
192 shader = shaders.get(fragmentShader);
195 shader = new Shader(fragmentShader);
196 shaders.put(fragmentShader, shader);
197 shader.glShader.useProgram();
198 // Initialize fragment shader uniform values.
200 GLES20.glUniform1i(shader.glShader.getUniformLocation("y_tex"), 0);
201 GLES20.glUniform1i(shader.glShader.getUniformLocation("u_tex"), 1);
202 GLES20.glUniform1i(shader.glShader.getUniformLocation("v_tex"), 2);
204 GLES20.glUniform1i(shader.glShader.getUniformLocation("rgb_tex"), 0);
206 GLES20.glUniform1i(shader.glShader.getUniformLocation("oes_tex"), 0);
208 throw new IllegalStateException("Unknown fragment shader: " + fragmentShader);
210 GlUtil.checkNoGLES2Error("Initialize fragment shader uniform values.");
211 // Initialize vertex shader attributes.
212 shader.glShader.setVertexAttribArray("in_pos", 2, FULL_RECTANGLE_BUF);
213 shader.glShader.setVertexAttribArray("in_tc", 2, FULL_RECTANGLE_TEX_BUF);
215 shader.glShader.useProgram();
217 GLES20.glUniformMatrix4fv(shader.texMatrixLocation, 1, false, texMatrix, 0);
225 for (Shader shader : shaders.values()) {
226 shader.glShader.release();