當前位置: 首頁>>代碼示例>>Java>>正文


Java GLES20類代碼示例

本文整理匯總了Java中android.opengl.GLES20的典型用法代碼示例。如果您正苦於以下問題:Java GLES20類的具體用法?Java GLES20怎麽用?Java GLES20使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


GLES20類屬於android.opengl包,在下文中一共展示了GLES20類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: drawQuadSet

import android.opengl.GLES20; //導入依賴的package包/類
public void drawQuadSet( Vertexbuffer buffer, int length, int offset ){

		if (length == 0) {
			return;
		}

		buffer.updateGLData();

		buffer.bind();

		aXY.vertexBuffer( 2, 4, 0 );
		aUV.vertexBuffer( 2, 4, 2 );

		buffer.release();

		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
			GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * length, GLES20.GL_UNSIGNED_SHORT, Quad.SIZE * Short.SIZE/8 * offset );
		} else {
			FroyoGLES20Fix.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * length, GLES20.GL_UNSIGNED_SHORT, Quad.SIZE * Short.SIZE/8 * offset );
		}
	}
 
開發者ID:mango-tree,項目名稱:UNIST-pixel-dungeon,代碼行數:22,代碼來源:NoosaScript.java

示例2: createShader

import android.opengl.GLES20; //導入依賴的package包/類
private int createShader(int shaderType, String shaderString) {
    int shader = GLES20.glCreateShader(shaderType);
    if (shader == 0) {
        checkGLESError("create shader " + shaderType);
    }

    GLES20.glShaderSource(shader, shaderString);
    GLES20.glCompileShader(shader);
    int[] compiled = new int[1];
    GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0);
    if (compiled[0] == 0) {
        GLES20.glDeleteShader(shader);
        checkGLESError("compile shader " + shaderType);
    }
    return shader;
}
 
開發者ID:TedaLIEz,項目名稱:ParsingPlayer,代碼行數:17,代碼來源:VideoRenderThread.java

示例3: YuvConverter

import android.opengl.GLES20; //導入依賴的package包/類
/**
 * This class should be constructed on a thread that has an active EGL context.
 */
public YuvConverter() {
  threadChecker.checkIsOnValidThread();
  textureFrameBuffer = new GlTextureFrameBuffer(GLES20.GL_RGBA);
  shader = new GlShader(VERTEX_SHADER, FRAGMENT_SHADER);
  shader.useProgram();
  texMatrixLoc = shader.getUniformLocation("texMatrix");
  xUnitLoc = shader.getUniformLocation("xUnit");
  coeffsLoc = shader.getUniformLocation("coeffs");
  GLES20.glUniform1i(shader.getUniformLocation("oesTex"), 0);
  GlUtil.checkNoGLES2Error("Initialize fragment shader uniform values.");
  // Initialize vertex shader attributes.
  shader.setVertexAttribArray("in_pos", 2, DEVICE_RECTANGLE);
  // If the width is not a multiple of 4 pixels, the texture
  // will be scaled up slightly and clipped at the right border.
  shader.setVertexAttribArray("in_tc", 2, TEXTURE_RECTANGLE);
}
 
開發者ID:Piasy,項目名稱:VideoCRE,代碼行數:20,代碼來源:YuvConverter.java

示例4: drawLight

import android.opengl.GLES20; //導入依賴的package包/類
private void drawLight() {
    final int pointMVPMatrixHandle = GLES20.glGetUniformLocation(mPointProgramHandle, "u_MVPMatrix");
    final int pointPositionHandle = GLES20.glGetAttribLocation(mPointProgramHandle, "a_Position");

    // Pass in the position.
    GLES20.glVertexAttrib3f(pointPositionHandle, mLightPosInModelSpace[0], mLightPosInModelSpace[1], mLightPosInModelSpace[2]);

    // Since we are not using a buffer object, disable vertex arrays for this attribute.
    GLES20.glDisableVertexAttribArray(pointPositionHandle);

    // Pass in the transformation matrix.
    Matrix.multiplyMM(mMVPMatrix, 0, mViewMatrix, 0, mLightModelMatrix, 0);
    Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mMVPMatrix, 0);
    GLES20.glUniformMatrix4fv(pointMVPMatrixHandle, 1, false, mMVPMatrix, 0);

    // Draw the point.
    GLES20.glDrawArrays(GLES20.GL_POINTS, 0, 1);
}
 
開發者ID:biezhihua,項目名稱:Android_OpenGL_Demo,代碼行數:19,代碼來源:LessonSixRenderer.java

示例5: compileShader

import android.opengl.GLES20; //導入依賴的package包/類
private static int compileShader(int shaderType, String source) {
  final int shader = GLES20.glCreateShader(shaderType);
  if (shader == 0) {
    throw new RuntimeException("glCreateShader() failed. GLES20 error: " + GLES20.glGetError());
  }
  GLES20.glShaderSource(shader, source);
  GLES20.glCompileShader(shader);
  int[] compileStatus = new int[] {GLES20.GL_FALSE};
  GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compileStatus, 0);
  if (compileStatus[0] != GLES20.GL_TRUE) {
    Logging.e(
        TAG, "Could not compile shader " + shaderType + ":" + GLES20.glGetShaderInfoLog(shader));
    throw new RuntimeException(GLES20.glGetShaderInfoLog(shader));
  }
  GlUtil.checkNoGLES2Error("compileShader");
  return shader;
}
 
開發者ID:lgyjg,項目名稱:AndroidRTC,代碼行數:18,代碼來源:GlShader.java

示例6: updateFloatValue

import android.opengl.GLES20; //導入依賴的package包/類
private void updateFloatValue(float... value) {
    switch (value.length) {
        case 1:
            GLES20.glUniform1f(handle(), value[0]);
            break;
        case 2:
            GLES20.glUniform2f(handle(), value[0], value[1]);
            break;
        case 3:
            GLES20.glUniform3f(handle(), value[0], value[1], value[2]);
            break;
        case 4:
            GLES20.glUniform4f(handle(), value[0], value[1], value[2], value[3]);
            break;
        case 16:
            GLES20.glUniformMatrix4fv(handle(), 1, false, value, 0);
        default:
            break;
    }
}
 
開發者ID:gplibs,項目名稱:android-magic-surface-view,代碼行數:21,代碼來源:GLUniformParameter.java

示例7: initShader

import android.opengl.GLES20; //導入依賴的package包/類
/**
 * 初始化著色器
 * @param surfaceView
 */
private void initShader(HexagramSurfaceView surfaceView) {
    //加載頂點著色器
    mVertexShader = ShaderUtil.loadFromAeertsFile("vertex.sh" , surfaceView.getResources());
    //加載片元著色器
    mFragmentShader = ShaderUtil.loadFromAeertsFile("frag.sh" , surfaceView.getResources());
    //創建程序
    mProgram = ShaderUtil.createProgram(mVertexShader , mFragmentShader);
    //頂點位置屬性引用
    maPositionHandle = GLES20.glGetAttribLocation(mProgram , "aPosition");
    //頂點顏色屬性引用
    maColorHandle = GLES20.glGetAttribLocation(mProgram , "aColor");
    //總變換矩陣引用
    muMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram , "uMVPMatrix");

}
 
開發者ID:ynztlxdeai,項目名稱:GLhexagram,代碼行數:20,代碼來源:Hexagram.java

示例8: setupPreScene

import android.opengl.GLES20; //導入依賴的package包/類
private void setupPreScene(int glProgram) {
    GLES20.glUseProgram(glProgram);
    mTexHandle = GLES20.glGetUniformLocation(glProgram, "s_texture");
    mTexCoordHandle = GLES20.glGetAttribLocation(glProgram, "a_texCoord");
    mTriangleVerticesHandle = GLES20.glGetAttribLocation(glProgram, "vPosition");
    mTransformHandle = GLES20.glGetUniformLocation(glProgram, "u_xform");
    mMVPTransformHandle = GLES20.glGetUniformLocation(glProgram, "u_mvp_xform");
    if (CHECK_GL_ERRORS) OpenGLUtils.checkGlError("glUseProgram");

    GLES20.glUniformMatrix4fv(mTransformHandle, 1, false, mVideoTransform, 0);
    if (CHECK_GL_ERRORS) OpenGLUtils.checkGlError("glUniformMatrix4fv");

    GLES20.glEnable(GLES20.GL_DEPTH_TEST);
    
    mColorFilterHandle = GLES20.glGetUniformLocation(glProgram, "u_filter");
    mColorFilter = CLEAR_COLOR_FILTER;
}
 
開發者ID:archos-sa,項目名稱:aos-Video,代碼行數:18,代碼來源:StereoDiveEffect.java

示例9: onDrawFrame

import android.opengl.GLES20; //導入依賴的package包/類
@Override
public void onDrawFrame(GL10 gl) {

	if (width == 0 || height == 0) {
		return;
	}

	SystemTime.tick();
	long rightNow = SystemClock.elapsedRealtime();
	step = (now == 0 ? 0 : rightNow - now);
	now = rightNow;

	step();

	NoosaScript.get().resetCamera();
	NoosaScriptNoLighting.get().resetCamera();
	GLES20.glDisable(GLES20.GL_SCISSOR_TEST);
	GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
	draw();
}
 
開發者ID:G2159687,項目名稱:ESPD,代碼行數:21,代碼來源:Game.java

示例10: drawLight

import android.opengl.GLES20; //導入依賴的package包/類
/**
 * Draws a point representing the position of the light.
 */
private void drawLight()
{
	final int pointMVPMatrixHandle = GLES20.glGetUniformLocation(mPointProgramHandle, "u_MVPMatrix");
       final int pointPositionHandle = GLES20.glGetAttribLocation(mPointProgramHandle, "a_Position");

	// Pass in the position.
	GLES20.glVertexAttrib3f(pointPositionHandle, mLightPosInModelSpace[0], mLightPosInModelSpace[1], mLightPosInModelSpace[2]);

	// Since we are not using a buffer object, disable vertex arrays for this attribute.
       GLES20.glDisableVertexAttribArray(pointPositionHandle);

	// Pass in the transformation matrix.
	Matrix.multiplyMM(mMVPMatrix, 0, mViewMatrix, 0, mLightModelMatrix, 0);
	Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mMVPMatrix, 0);
	GLES20.glUniformMatrix4fv(pointMVPMatrixHandle, 1, false, mMVPMatrix, 0);

	// Draw the point.
	GLES20.glDrawArrays(GLES20.GL_POINTS, 0, 1);
}
 
開發者ID:biezhihua,項目名稱:Android_OpenGL_Demo,代碼行數:23,代碼來源:LessonTwoRenderer.java

示例11: onSetExpandData

import android.opengl.GLES20; //導入依賴的package包/類
@Override
protected void onSetExpandData() {
    //todo 根據時間修改

    if(isAdd){
        mStep+=0.08f;
    }else{
        mStep-=0.08f;
    }

    if(mStep>=1.0f){
        isAdd=false;
        mStep=1.0f;
    }else if(mStep<=0.0f){
        isAdd=true;
        mStep=0.0f;
    }

    super.onSetExpandData();
    GLES20.glUniform4fv(mGLBorderColor,1,mBorderColor,0);
    GLES20.glUniform1f(mGLStep,mStep);
}
 
開發者ID:aiyaapp,項目名稱:AAVT,代碼行數:23,代碼來源:FluorescenceFilter.java

示例12: loadShader

import android.opengl.GLES20; //導入依賴的package包/類
private int loadShader(int shaderType, String source) {
    int shader = GLES20.glCreateShader(shaderType);
    if (shader != 0) {
        GLES20.glShaderSource(shader, source);
        GLES20.glCompileShader(shader);
        int[] compiled = new int[1];
        GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, compiled, 0);
        if (compiled[0] == 0) {
            Log.e(TAG, "Could not compile shader " + shaderType + ":");
            Log.e(TAG, GLES20.glGetShaderInfoLog(shader));
            GLES20.glDeleteShader(shader);
            shader = 0;
        }
    }
    return shader;
}
 
開發者ID:pavelsemak,項目名稱:alpha-movie,代碼行數:17,代碼來源:VideoRenderer.java

示例13: prepareGl

import android.opengl.GLES20; //導入依賴的package包/類
/**
 * Prepares window surface and GL state.
 */
private void prepareGl(Surface surface) {
    Log.d(TAG, "prepareGl");

    mWindowSurface = new WindowSurface(mEglCore, surface, false);
    mWindowSurface.makeCurrent();

    // Programs used for drawing onto the screen.
    mFlatProgram = new FlatShadedProgram();
    mTexProgram = new Texture2dProgram(Texture2dProgram.ProgramType.TEXTURE_2D);
    mCoarseTexture = GeneratedTexture.createTestTexture(GeneratedTexture.Image.COARSE);
    mFineTexture = GeneratedTexture.createTestTexture(GeneratedTexture.Image.FINE);

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

    // Disable depth testing -- we're 2D only.
    GLES20.glDisable(GLES20.GL_DEPTH_TEST);

    // Don't need backface culling.  (If you're feeling pedantic, you can turn it on to
    // make sure we're defining our shapes correctly.)
    GLES20.glDisable(GLES20.GL_CULL_FACE);
}
 
開發者ID:AndyZhu1991,項目名稱:grafika,代碼行數:26,代碼來源:HardwareScalerActivity.java

示例14: loadTexture

import android.opengl.GLES20; //導入依賴的package包/類
public static int loadTexture(final Buffer data, final int width,final int height, final int usedTexId,final int type) {
if(data == null)
	return NO_TEXTURE;
   int textures[] = new int[1];
   if (usedTexId == NO_TEXTURE) {
       GLES20.glGenTextures(1, textures, 0);
       GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);
       GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
               GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
       GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
               GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
       GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
               GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
       GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
               GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
       GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, width, height,
               0, GLES20.GL_RGBA, type, data);
   } else {
       GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, usedTexId);
       GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, width,
               height, GLES20.GL_RGBA, type, data);
       textures[0] = usedTexId;
   }
   return textures[0];
  }
 
開發者ID:smartbeng,項目名稱:PaoMovie,代碼行數:26,代碼來源:OpenGLUtils.java

示例15: getTexture

import android.opengl.GLES20; //導入依賴的package包/類
public Bitmap getTexture() {
    if (!initied) {
        return null;
    }
    final Semaphore semaphore = new Semaphore(0);
    final Bitmap object[] = new Bitmap[1];
    try {
        postRunnable(new Runnable() {
            @Override
            public void run() {
                GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, renderFrameBuffer[1]);
                GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0, GLES20.GL_TEXTURE_2D, renderTexture[blured ? 0 : 1], 0);
                GLES20.glClear(0);
                object[0] = getRenderBufferBitmap();
                semaphore.release();
                GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, 0);
                GLES20.glClear(0);
            }
        });
        semaphore.acquire();
    } catch (Exception e) {
        FileLog.e("tmessages", e);
    }
    return object[0];
}
 
開發者ID:MLNO,項目名稱:airgram,代碼行數:26,代碼來源:PhotoFilterView.java


注:本文中的android.opengl.GLES20類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。