Home | History | Annotate | Download | only in vertex
      1 /*
      2  * Copyright (C) 2013 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
      5  * in compliance with the License. You may obtain a copy of the License at
      6  *
      7  * http://www.apache.org/licenses/LICENSE-2.0
      8  *
      9  * Unless required by applicable law or agreed to in writing, software distributed under the License
     10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
     11  * or implied. See the License for the specific language governing permissions and limitations under
     12  * the License.
     13  */
     14 precision mediump float;
     15 uniform mat4 u_MVPMatrix;
     16 uniform mat4 u_MVMatrix;
     17 attribute vec4 a_Position;
     18 attribute vec3 a_Normal;
     19 attribute vec2 a_TexCoordinate;
     20 varying vec3 v_Position;
     21 varying vec3 v_Normal;
     22 varying vec2 v_TexCoordinate;
     23 void main() {
     24   // Transform the vertex into eye space.
     25   v_Position = vec3(u_MVMatrix * a_Position);
     26   // Pass through the texture coordinate.
     27   v_TexCoordinate = a_TexCoordinate;
     28   // Transform the normal\'s orientation into eye space.
     29   v_Normal = vec3(u_MVMatrix * vec4(a_Normal, 0.0));
     30   // Multiply to get the final point in normalized screen coordinates.
     31   gl_Position = u_MVPMatrix * a_Position;
     32 }