Home | History | Annotate | Download | only in libopengltest
      1 /*
      2  * Copyright (C) 2012 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 #include <GLES2/gl2.h>
     17 #include <GLES2/gl2ext.h>
     18 
     19 #include <stdio.h>
     20 #include <stdlib.h>
     21 #include "attach_shader_one.h"
     22 #include "common.h"
     23 
     24 #define  LOG_TAG    "attach_shader_one"
     25 #define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
     26 
     27 static const char gVertexShader[] =
     28     "attribute vec4 vPosition;\n"
     29     "void main() {\n"
     30     "  gl_Position = vPosition;\n"
     31     "}\n";
     32 
     33 static const char gFragmentShader[] =
     34     "precision mediump float;\n"
     35     "void main() {\n"
     36     "  gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);\n"
     37     "}\n";
     38 
     39 
     40 Data attachShaderOne(){
     41     GLuint vertexShader = loadShader(GL_VERTEX_SHADER, gVertexShader);
     42     GLuint pixelShader = loadShader(GL_FRAGMENT_SHADER, gFragmentShader);
     43     GLuint program = glCreateProgram();
     44 
     45     glAttachShader(program, vertexShader);
     46     glAttachShader(program, pixelShader);
     47     int e1 = -1;
     48     GLsizei maxCount = 10;
     49     GLsizei count;
     50     GLuint shaders[maxCount];
     51 
     52     glGetAttachedShaders(program, maxCount,
     53          &count,
     54          shaders);
     55     LOGI("Attached Shader First elemt :  %d\n", *shaders);
     56     LOGI("ShaderCount %d\n", count);
     57     GLint error = glGetError();
     58     Data data = {error, count, -1};
     59     glDeleteShader(vertexShader);
     60     glDeleteShader(pixelShader);
     61     glDeleteProgram(program);
     62     return data;
     63 }
     64 
     65 
     66