From a1ec56a1570a35a19cec3a70da30ec8ca60f5a55 Mon Sep 17 00:00:00 2001 From: kimvde Date: Fri, 27 Aug 2021 18:40:11 +0100 Subject: [PATCH] Add basic shaders to Transformer PiperOrigin-RevId: 393381694 --- .../assets/shaders/blit_vertex_shader.glsl | 21 +++++++++++++++++++ .../copy_external_fragment_shader.glsl | 20 ++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 library/transformer/src/main/assets/shaders/blit_vertex_shader.glsl create mode 100644 library/transformer/src/main/assets/shaders/copy_external_fragment_shader.glsl diff --git a/library/transformer/src/main/assets/shaders/blit_vertex_shader.glsl b/library/transformer/src/main/assets/shaders/blit_vertex_shader.glsl new file mode 100644 index 0000000000..502a8c4493 --- /dev/null +++ b/library/transformer/src/main/assets/shaders/blit_vertex_shader.glsl @@ -0,0 +1,21 @@ +// Copyright 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +attribute vec4 a_position; +attribute vec4 a_texcoord; +uniform mat4 tex_transform; +varying vec2 v_texcoord; +void main() { + gl_Position = a_position; + v_texcoord = (tex_transform * a_texcoord).xy; +} diff --git a/library/transformer/src/main/assets/shaders/copy_external_fragment_shader.glsl b/library/transformer/src/main/assets/shaders/copy_external_fragment_shader.glsl new file mode 100644 index 0000000000..47da1ef8d3 --- /dev/null +++ b/library/transformer/src/main/assets/shaders/copy_external_fragment_shader.glsl @@ -0,0 +1,20 @@ +// Copyright 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#extension GL_OES_EGL_image_external : require +precision mediump float; +uniform samplerExternalOES tex_sampler; +varying vec2 v_texcoord; +void main() { + gl_FragColor = texture2D(tex_sampler, v_texcoord); +}