Java 类android.opengl.GLES30 实例源码

项目:Fatigue-Detection    文件:GLUtils.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (CHECK_GLES30) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:grafika    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:SbCamera    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:AndroidCollection    文件:ESShader.java   
public static int loadShader ( int type, String shaderSrc )
{
   int shader;
   int[] compiled = new int[1];

   // Create the shader object
   shader = GLES30.glCreateShader ( type );

   if ( shader == 0 )
   {
      return 0;
   }
   // Load the shader source
   GLES30.glShaderSource ( shader, shaderSrc );

   // Compile the shader
   GLES30.glCompileShader ( shader );

   // Check the compile status
   GLES30.glGetShaderiv ( shader, GLES30.GL_COMPILE_STATUS, compiled, 0 );

   if ( compiled[0] == 0 )
   {
      Log.e ( "ESShader", GLES30.glGetShaderInfoLog ( shader ) );
      GLES30.glDeleteShader ( shader );
      return 0;
   }

   return shader;
}
项目:AndroidCollection    文件:Example6_3Renderer.java   
public void onDrawFrame ( GL10 glUnused )
{
   // Set the viewport
   GLES30.glViewport ( 0, 0, mWidth, mHeight );

   // Clear the color buffer
   GLES30.glClear ( GLES30.GL_COLOR_BUFFER_BIT );

   // Use the program object
   GLES30.glUseProgram ( mProgramObject );

   // Set the vertex color to red
   GLES30.glVertexAttrib4f ( 0, 1.0f, 0.0f, 0.0f, 1.0f );

   // Load the vertex position
   mVertices.position ( 0 );
   GLES30.glVertexAttribPointer ( 1, 3, GLES30.GL_FLOAT,
                                  false,
                                  0, mVertices );

   GLES30.glEnableVertexAttribArray ( 1 );

   GLES30.glDrawArrays ( GLES30.GL_TRIANGLES, 0, 3 );

   GLES30.glDisableVertexAttribArray ( 1 );
}
项目:ShapesInOpenGLES2.0    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:FilterPlayer    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:IjkVRPlayer    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:libcommon    文件:GLHelper.java   
/**
 * Writes GL version info to the log.
 */
@SuppressLint("InlinedApi")
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (BuildCheck.isAndroid4_3()) {
        final int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        final int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        final int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "version: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:libcommon    文件:GLHelper.java   
/**
 * Writes GL version info to the log.
 */
@SuppressLint("InlinedApi")
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES10.glGetString(GLES10.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES10.glGetString(GLES10.GL_RENDERER));
    Log.i(TAG, "version : " + GLES10.glGetString(GLES10.GL_VERSION));

    if (BuildCheck.isAndroid4_3()) {
        final int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        final int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        final int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "version: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:MockCamera    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:firework    文件:FireworkView.java   
@Override
public void onDrawFrame(GL10 unused) {
    // Set the view-port
    GLES20.glViewport ( 0, 0,getWidth(),getHeight() );
    // Clear the color buffer
    GLES20.glClear ( GLES30.GL_COLOR_BUFFER_BIT );
    if (mBackground != null)
        mTextureLayer.draw();

    glDepthMask(false);
    glEnable(GL_BLEND);

    //TODO particle system support BlendFuc
    glBlendFunc(GL_SRC_ALPHA, GL_ONE);

    mParticleSystem.update(1f / 60f);
    mParticleSystem.updateBuffer();
    mParticleSystem.draw();


}
项目:mediacodec    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:pause-resume-video-recording    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:CardBoardVR    文件:myStereoRenderer.java   
/**
 * Draws a frame for an eye.
 *
 * @param eye The eye to render. Includes all required transformations.
 */
@Override
public void onDrawEye(Eye eye) {
    // Clear the color buffer  set above by glClearColor.
    GLES30.glClear(GLES30.GL_COLOR_BUFFER_BIT | GLES30.GL_DEPTH_BUFFER_BIT);

    //need this otherwise, it will over right stuff and the cube will look wrong!
    GLES30.glEnable(GLES30.GL_DEPTH_TEST);

    // Apply the eye transformation to the camera.
    Matrix.multiplyMM(view, 0, eye.getEyeView(), 0, camera, 0);

    // combine the model with the view matrix to create the modelview matreix
    Matrix.multiplyMM(modelview, 0, view, 0, mRotationMatrix, 0);

    // combine the model-view with the projection matrix
    float[] perspective = eye.getPerspective(Z_NEAR, Z_FAR);
    Matrix.multiplyMM(mMVPMatrix, 0, perspective, 0, modelview, 0);

    //finally draw the cube with the full Model-view-projection matrix.
    mCube.draw(mMVPMatrix);

}
项目:CardBoardVR    文件:myStereoRenderer.java   
@Override
public void onSurfaceCreated(EGLConfig eglConfig) {
    mRotationMatrix = new float[16];
    camera = new float[16];
    view = new float[16];
    mMVPMatrix = new float[16];
    modelview = new float[16];
    headView = new float[16];
    forward = new float[3];

    GLES30.glClearColor(0.1f, 0.1f, 0.1f, 0.5f); // Dark background so text shows up well.
    //initialize the cube code for drawing.
    mCube = new Cube();

    // Build the camera matrix
    Matrix.setLookAtM(camera, 0, 0.0f, 0.0f, CAMERA_Z, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f);

    // Object first appears directly in front of user.
    Matrix.setIdentityM(mRotationMatrix, 0);
    Matrix.translateM(mRotationMatrix, 0, 0, 0, -objectDistance);
}
项目:CardBoardVR    文件:myStereoRenderer.java   
/**
 * Draws a frame for an eye.
 *
 * @param eye The eye to render. Includes all required transformations.
 */
@Override
public void onDrawEye(Eye eye) {
    // Clear the color buffer  set above by glClearColor.
    GLES30.glClear(GLES30.GL_COLOR_BUFFER_BIT | GLES30.GL_DEPTH_BUFFER_BIT);

    //need this otherwise, it will over right stuff and the cube will look wrong!
    GLES30.glEnable(GLES30.GL_DEPTH_TEST);

    // Apply the eye transformation to the camera.
    Matrix.multiplyMM(view, 0, eye.getEyeView(), 0, camera, 0);

    // combine the model with the view matrix to create the modelview matreix
    Matrix.multiplyMM(modelview, 0, view, 0, mRotationMatrix, 0);

    // combine the model-view with the projection matrix
    float[] perspective = eye.getPerspective(Z_NEAR, Z_FAR);
    Matrix.multiplyMM(mMVPMatrix, 0, perspective, 0, modelview, 0);

    //finally draw the cube with the full Model-view-projection matrix.
    mCube.draw(mMVPMatrix);

}
项目:CardBoardVR    文件:myStereoRenderer.java   
@Override
public void onSurfaceCreated(EGLConfig eglConfig) {
    mRotationMatrix = new float[16];
    camera = new float[16];
    view = new float[16];
    mMVPMatrix = new float[16];
    modelview = new float[16];
    headView = new float[16];

    GLES30.glClearColor(0.1f, 0.1f, 0.1f, 0.5f); // Dark background so text shows up well.
    //initialize the cube code for drawing.
    mCube = new Cube();

    // Object first appears directly in front of user.
    Matrix.setIdentityM(mRotationMatrix, 0);
    Matrix.translateM(mRotationMatrix, 0, 0, 0, -objectDistance);
}
项目:HardwareEncodingTest    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:binea_project_for_android    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:AndroidPlayground    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:PerchBroadcast-Android-SDK    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:opengl    文件:HelloTriangleRenderer.java   
public void onDrawFrame(GL10 glUnused) {
    // Set the viewport
    GLES30.glViewport(0, 0, mWidth, mHeight);

    // Clear the color buffer, which was set above in glClearColor
    GLES30.glClear(GLES30.GL_COLOR_BUFFER_BIT);

    // Use the program object
    GLES30.glUseProgram(mProgramObject);

    // Load the vertex data
    GLES30.glVertexAttribPointer(0, 3, GLES30.GL_FLOAT, false, 0, mVertices);
    //set the starting vertex at 0.
    GLES30.glEnableVertexAttribArray(0);

    //actually draw the traingle here
    GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 3);
}
项目:BlackLight    文件:Utility.java   
public static int getSupportedMaxPictureSize() {
    int[] array = new int[1];
    GLES10.glGetIntegerv(GLES10.GL_MAX_TEXTURE_SIZE, array, 0);

    if (array[0] == 0) {
        GLES11.glGetIntegerv(GLES11.GL_MAX_TEXTURE_SIZE, array, 0);

        if (array[0] == 0) {
            GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, array, 0);

            if (array[0] == 0) {
                GLES30.glGetIntegerv(GLES30.GL_MAX_TEXTURE_SIZE, array, 0);
            }
        }
    }

    return array[0] != 0 ? array[0] : 2048;
}
项目:opengl    文件:LessonOneRenderer.java   
@Override
public void onSurfaceChanged(GL10 glUnused, int width, int height) 
{
    // Set the OpenGL viewport to the same size as the surface.
    GLES30.glViewport(0, 0, width, height);

    // Create a new perspective projection matrix. The height will stay the same
    // while the width will vary as per aspect ratio.
    final float ratio = (float) width / height;
    final float left = -ratio;
    final float right = ratio;
    final float bottom = -1.0f;
    final float top = 1.0f;
    final float near = 1.0f;
    final float far = 10.0f;

    Matrix.frustumM(mProjectionMatrix, 0, left, right, bottom, top, near, far);
}
项目:opengl    文件:MyGLRenderer.java   
@Override
public void onSurfaceCreated(GL10 unused, EGLConfig config) {

    // Set the background frame color
    GLES30.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

    mTriangle = new Triangle();
    mSquare   = new Square();
}
项目:kickflip-android-sdk    文件:GlUtil.java   
/**
 * Writes GL version info to the log.
 */
public static void logVersionInfo() {
    Log.i(TAG, "vendor  : " + GLES20.glGetString(GLES20.GL_VENDOR));
    Log.i(TAG, "renderer: " + GLES20.glGetString(GLES20.GL_RENDERER));
    Log.i(TAG, "version : " + GLES20.glGetString(GLES20.GL_VERSION));

    if (false) {
        int[] values = new int[1];
        GLES30.glGetIntegerv(GLES30.GL_MAJOR_VERSION, values, 0);
        int majorVersion = values[0];
        GLES30.glGetIntegerv(GLES30.GL_MINOR_VERSION, values, 0);
        int minorVersion = values[0];
        if (GLES30.glGetError() == GLES30.GL_NO_ERROR) {
            Log.i(TAG, "iversion: " + majorVersion + "." + minorVersion);
        }
    }
}
项目:opengl    文件:LessonOneRenderer.java   
@Override
public void onSurfaceChanged(GL10 glUnused, int width, int height) 
{
    // Set the OpenGL viewport to the same size as the surface.
    GLES30.glViewport(0, 0, width, height);

    // Create a new perspective projection matrix. The height will stay the same
    // while the width will vary as per aspect ratio.
    final float ratio = (float) width / height;
    final float left = -ratio;
    final float right = ratio;
    final float bottom = -1.0f;
    final float top = 1.0f;
    final float near = 1.0f;
    final float far = 10.0f;

    Matrix.frustumM(mProjectionMatrix, 0, left, right, bottom, top, near, far);
}
项目:AndroidCollection    文件:Example6_3Renderer.java   
public void onSurfaceCreated ( GL10 glUnused, EGLConfig config )
{
   String vShaderStr =
      "#version 300 es                            \n" +
      "layout(location = 0) in vec4 a_color;      \n" +
      "layout(location = 1) in vec4 a_position;   \n" +
      "out vec4 v_color;                          \n" +
      "void main()                                \n" +
      "{                                          \n" +
      "    v_color = a_color;                     \n" +
      "    gl_Position = a_position;              \n" +
      "}";


   String fShaderStr =
      "#version 300 es            \n" +
      "precision mediump float;   \n" +
      "in vec4 v_color;           \n" +
      "out vec4 o_fragColor;      \n" +
      "void main()                \n" +
      "{                          \n" +
      "    o_fragColor = v_color; \n" +
      "}" ;

   // Load the shaders and get a linked program object
   mProgramObject = ESShader.loadProgram ( vShaderStr, fShaderStr );

   GLES30.glClearColor ( 1.0f, 1.0f, 1.0f, 0.0f );
}
项目:Spectaculum    文件:Texture2D.java   
public static Texture2D generateFloatTexture(int width, int height) {
    if(GLUtils.HAS_GLES30 && GLUtils.HAS_GL_OES_texture_half_float && GLUtils.HAS_FLOAT_FRAMEBUFFER_SUPPORT) {
        return new Texture2D(GLES30.GL_RGBA16F, GLES20.GL_RGBA, width, height, GLES20.GL_FLOAT, null);
    } else {
        Log.i(TAG, "Texture fallback mode to GLES20 8 bit");
        return new Texture2D(GLES20.GL_RGBA, GLES20.GL_RGBA, width, height, GLES20.GL_UNSIGNED_BYTE, null);
    }
}
项目:raindrop    文件:RainingImageView.java   
@Override
public void onDrawFrame(GL10 unused) {
    // Set the view-port
    GLES20.glViewport ( 0, 0,getWidth(),getHeight() );
    // Clear the color buffer
    GLES20.glClear ( GLES30.GL_COLOR_BUFFER_BIT );
    mRainDrops.update();
    mRainDropLayer.draw(mRainDrops.getCanvasBitmap());

}
项目:LearningOpenGLES2-Android    文件:Square.java   
public void draw() {

        shader.begin();

        GLES30.glBindVertexArray(vaoId);
        GLES20.glDrawElements(
                GLES20.GL_TRIANGLES,        // mode
                indexes.length,             // count
                GLES20.GL_UNSIGNED_SHORT,   // type
                0);                         // offset
        GLES30.glBindVertexArray(0);

//        shader.enableVertexAttribute("a_Position");
//        shader.setVertexAttribute("a_Position", COORDS_PER_VERTEX, GLES20.GL_FLOAT, false, vertexStride, 0);
//
//        shader.enableVertexAttribute("a_Color");
//        shader.setVertexAttribute("a_Color", COLORS_PER_VERTEX, GLES20.GL_FLOAT, false, vertexStride, COORDS_PER_VERTEX * SIZE_OF_FLOAT);
//
//        GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, vertexBufferId);
//        GLES20.glBindBuffer(GLES20.GL_ELEMENT_ARRAY_BUFFER, indexBufferId);
//        GLES20.glDrawElements(
//                GLES20.GL_TRIANGLES,        // mode
//                indexes.length,             // count
//                GLES20.GL_UNSIGNED_SHORT,   // type
//                0);                         // offset
//
//        shader.disableVertexAttribute("a_Position");
//        shader.disableVertexAttribute("a_Color");

        shader.end();
    }
项目:CardBoardVR    文件:Floor.java   
/**
 * Draw the floor.
 *
 * <p>This feeds in data for the floor into the shader. Note that this doesn't feed in data about
 * position of the light, so if we rewrite our code to draw the floor first, the lighting might
 * look strange.
 */
public void drawFloor(float[] modelViewProjection, float[] modelFloor, float[] modelView, float[] lightPosInEyeSpace ) {
    GLES30.glUseProgram(mProgramObject);
    floorModelParam = GLES30.glGetUniformLocation(mProgramObject, "u_Model");
    floorModelViewParam = GLES30.glGetUniformLocation(mProgramObject, "u_MVMatrix");
    floorModelViewProjectionParam = GLES30.glGetUniformLocation(mProgramObject, "u_MVP");
    floorLightPosParam = GLES30.glGetUniformLocation(mProgramObject, "u_LightPos");

    floorPositionParam = GLES30.glGetAttribLocation(mProgramObject, "a_Position");
    floorNormalParam = GLES30.glGetAttribLocation(mProgramObject, "a_Normal");
    floorColorParam = GLES30.glGetAttribLocation(mProgramObject, "a_Color");

    GLES30.glEnableVertexAttribArray(floorPositionParam);
    GLES30.glEnableVertexAttribArray(floorNormalParam);
    GLES30.glEnableVertexAttribArray(floorColorParam);

    // Set ModelView, MVP, position, normals, and color.
    GLES30.glUniform3fv(floorLightPosParam, 1, lightPosInEyeSpace, 0);
    GLES30.glUniformMatrix4fv(floorModelParam, 1, false, modelFloor, 0);
    GLES30.glUniformMatrix4fv(floorModelViewParam, 1, false, modelView, 0);
    GLES30.glUniformMatrix4fv(floorModelViewProjectionParam, 1, false,modelViewProjection, 0);
    GLES30.glVertexAttribPointer(floorPositionParam, COORDS_PER_VERTEX, GLES30.GL_FLOAT, false, 0, floorVertices);
    GLES30.glVertexAttribPointer(floorNormalParam, 3, GLES30.GL_FLOAT, false, 0, floorNormals);
    GLES30.glVertexAttribPointer(floorColorParam, 4, GLES30.GL_FLOAT, false, 0, floorColors);

    GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, 6);


}
项目:CardBoardVR    文件:myStereoRenderer.java   
public static int LoadShader(int type, String shaderSrc) {
    int shader;
    int[] compiled = new int[1];

    // Create the shader object
    shader = GLES30.glCreateShader(type);

    if (shader == 0) {
        return 0;
    }

    // Load the shader source
    GLES30.glShaderSource(shader, shaderSrc);

    // Compile the shader
    GLES30.glCompileShader(shader);

    // Check the compile status
    GLES30.glGetShaderiv(shader, GLES30.GL_COMPILE_STATUS, compiled, 0);

    if (compiled[0] == 0) {
        Log.e(TAG, "Erorr!!!!");
        Log.e(TAG, GLES30.glGetShaderInfoLog(shader));
        GLES30.glDeleteShader(shader);
        return 0;
    }

    return shader;
}
项目:CardBoardVR    文件:myStereoRenderer.java   
public static int LoadShader(int type, String shaderSrc) {
    int shader;
    int[] compiled = new int[1];

    // Create the shader object
    shader = GLES30.glCreateShader(type);

    if (shader == 0) {
        return 0;
    }

    // Load the shader source
    GLES30.glShaderSource(shader, shaderSrc);

    // Compile the shader
    GLES30.glCompileShader(shader);

    // Check the compile status
    GLES30.glGetShaderiv(shader, GLES30.GL_COMPILE_STATUS, compiled, 0);

    if (compiled[0] == 0) {
        Log.e(TAG, "Erorr!!!!");
        Log.e(TAG, GLES30.glGetShaderInfoLog(shader));
        GLES30.glDeleteShader(shader);
        return 0;
    }

    return shader;
}
项目:CardBoardVR    文件:myStereoRenderer.java   
public static int LoadShader(int type, String shaderSrc) {
    int shader;
    int[] compiled = new int[1];

    // Create the shader object
    shader = GLES30.glCreateShader(type);

    if (shader == 0) {
        return 0;
    }

    // Load the shader source
    GLES30.glShaderSource(shader, shaderSrc);

    // Compile the shader
    GLES30.glCompileShader(shader);

    // Check the compile status
    GLES30.glGetShaderiv(shader, GLES30.GL_COMPILE_STATUS, compiled, 0);

    if (compiled[0] == 0) {
        Log.e(TAG, "Erorr!!!!");
        Log.e(TAG, GLES30.glGetShaderInfoLog(shader));
        GLES30.glDeleteShader(shader);
        return 0;
    }

    return shader;
}
项目:opengl    文件:Square.java   
/**
 * Sets up the drawing object data for use in an OpenGL ES context.
 */
public Square() {
    // initialize vertex byte buffer for shape coordinates
    ByteBuffer bb = ByteBuffer.allocateDirect(
    // (# of coordinate values * 4 bytes per float)
            squareCoords.length * 4);
    bb.order(ByteOrder.nativeOrder());
    vertexBuffer = bb.asFloatBuffer();
    vertexBuffer.put(squareCoords);
    vertexBuffer.position(0);

    // initialize byte buffer for the draw list
    ByteBuffer dlb = ByteBuffer.allocateDirect(
            // (# of coordinate values * 2 bytes per short)
            drawOrder.length * 2);
    dlb.order(ByteOrder.nativeOrder());
    drawListBuffer = dlb.asShortBuffer();
    drawListBuffer.put(drawOrder);
    drawListBuffer.position(0);

    // prepare shaders and OpenGL program
    int vertexShader = MyGLRenderer.loadShader(
            GLES30.GL_VERTEX_SHADER,
            vertexShaderCode);
    int fragmentShader = MyGLRenderer.loadShader(
            GLES30.GL_FRAGMENT_SHADER,
            fragmentShaderCode);

    mProgram = GLES30.glCreateProgram();             // create empty OpenGL Program
    GLES30.glAttachShader(mProgram, vertexShader);   // add the vertex shader to program
    GLES30.glAttachShader(mProgram, fragmentShader); // add the fragment shader to program
    GLES30.glLinkProgram(mProgram);                  // create OpenGL program executables
}
项目:opengl    文件:myRenderer.java   
@Override
public void onDrawFrame(GL10 glUnused) {
    // Clear the color buffer  set above by glClearColor.
    GLES30.glClear(GLES30.GL_COLOR_BUFFER_BIT | GLES30.GL_DEPTH_BUFFER_BIT);

    //need this otherwise, it will over right stuff and the cube will look wrong!
    GLES30.glEnable(GLES30.GL_DEPTH_TEST);

    // Set the camera position (View matrix)  note Matrix is an include, not a declared method.
    Matrix.setLookAtM(mViewMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f);

    // Create a rotation and translation for the cube
    Matrix.setIdentityM(mRotationMatrix, 0);

    //move the cube up/down and left/right
    Matrix.translateM(mRotationMatrix, 0, mTransX, mTransY, 0);

    //mangle is how fast, x,y,z which directions it rotates.
    Matrix.rotateM(mRotationMatrix, 0, mAngle, 0.4f, 1.0f, 0.6f);

    // combine the model with the view matrix
    Matrix.multiplyMM(mMVPMatrix, 0, mViewMatrix, 0, mRotationMatrix, 0);

    // combine the model-view with the projection matrix
    Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mMVPMatrix, 0);

    mPyramid.draw(mMVPMatrix);

    //change the angle, so the cube will spin.
    mAngle+=.4;
}
项目:SilenceEngine    文件:AndroidGraphicsDevice.java   
@Override
public int glGenTextures()
{
    int[] texture = new int[1];
    GLES30.glGenTextures(1, texture, 0);

    return texture[0];
}
项目:opengl    文件:Triangle.java   
/**
 * Encapsulates the OpenGL ES instructions for drawing this shape.
 *
 * @param mvpMatrix - The Model View Project matrix in which to draw
 * this shape.
 */
public void draw(float[] mvpMatrix) {
    // Add program to OpenGL environment
    GLES30.glUseProgram(mProgram);

    // get handle to vertex shader's vPosition member
    mPositionHandle = GLES30.glGetAttribLocation(mProgram, "vPosition");

    // Enable a handle to the triangle vertices
    GLES30.glEnableVertexAttribArray(mPositionHandle);

    // Prepare the triangle coordinate data
    GLES30.glVertexAttribPointer(
            mPositionHandle, COORDS_PER_VERTEX,
            GLES30.GL_FLOAT, false,
            vertexStride, vertexBuffer);

    // get handle to fragment shader's vColor member
    mColorHandle = GLES30.glGetUniformLocation(mProgram, "vColor");

    // Set color for drawing the triangle
    GLES30.glUniform4fv(mColorHandle, 1, color, 0);

    // get handle to shape's transformation matrix
    mMVPMatrixHandle = GLES30.glGetUniformLocation(mProgram, "uMVPMatrix");
    MyGLRenderer.checkGlError("glGetUniformLocation");

    // Apply the projection and view transformation
    GLES30.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mvpMatrix, 0);
    MyGLRenderer.checkGlError("glUniformMatrix4fv");

    // Draw the triangle
    GLES30.glDrawArrays(GLES30.GL_TRIANGLES, 0, vertexCount);

    // Disable vertex array
    GLES30.glDisableVertexAttribArray(mPositionHandle);
}