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


Java GLES20.glGetError方法代碼示例

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


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

示例1: createFrameBuffer

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * 創建FrameBuffer
 * @param hasRenderBuffer 是否啟用RenderBuffer
 * @param width 寬度
 * @param height 高度
 * @param texType 類型,一般為{@link GLES20#GL_TEXTURE_2D}
 * @param texFormat 紋理格式,一般為{@link GLES20#GL_RGBA}、{@link GLES20#GL_RGB}等
 * @param minParams 紋理的縮小過濾參數
 * @param maxParams 紋理的放大過濾參數
 * @param wrapS 紋理的S環繞參數
 * @param wrapT 紋理的W環繞參數
 * @return 創建結果,0表示成功,其他值為GL錯誤
 */
public int createFrameBuffer(boolean hasRenderBuffer,int width,int height,int texType,int texFormat,
                             int minParams,int maxParams,int wrapS,int wrapT){
    mFrameTemp=new int[4];
    GLES20.glGenFramebuffers(1,mFrameTemp,0);
    GLES20.glGenTextures(1,mFrameTemp,1);
    GLES20.glBindTexture(texType,mFrameTemp[1]);
    GLES20.glTexImage2D(texType, 0,texFormat, width, height,
            0, texFormat, GLES20.GL_UNSIGNED_BYTE, null);
    //設置縮小過濾為使用紋理中坐標最接近的一個像素的顏色作為需要繪製的像素顏色
    GLES20.glTexParameteri(texType, GLES20.GL_TEXTURE_MIN_FILTER,minParams);
    //設置放大過濾為使用紋理中坐標最接近的若幹個顏色,通過加權平均算法得到需要繪製的像素顏色
    GLES20.glTexParameteri(texType, GLES20.GL_TEXTURE_MAG_FILTER,maxParams);
    //設置環繞方向S,截取紋理坐標到[1/2n,1-1/2n]。將導致永遠不會與border融合
    GLES20.glTexParameteri(texType, GLES20.GL_TEXTURE_WRAP_S,wrapS);
    //設置環繞方向T,截取紋理坐標到[1/2n,1-1/2n]。將導致永遠不會與border融合
    GLES20.glTexParameteri(texType, GLES20.GL_TEXTURE_WRAP_T,wrapT);

    GLES20.glGetIntegerv(GLES20.GL_FRAMEBUFFER_BINDING,mFrameTemp,3);
    GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER,mFrameTemp[0]);
    GLES20.glFramebufferTexture2D(GLES20.GL_FRAMEBUFFER, GLES20.GL_COLOR_ATTACHMENT0,
            texType, mFrameTemp[1], 0);
    if(hasRenderBuffer){
        GLES20.glGenRenderbuffers(1,mFrameTemp,2);
        GLES20.glBindRenderbuffer(GLES20.GL_RENDERBUFFER,mFrameTemp[2]);
        GLES20.glRenderbufferStorage(GLES20.GL_RENDERBUFFER,GLES20.GL_DEPTH_COMPONENT16,width,height);
        GLES20.glFramebufferRenderbuffer(GLES20.GL_FRAMEBUFFER,GLES20.GL_DEPTH_ATTACHMENT,GLES20.GL_RENDERBUFFER,mFrameTemp[2]);
    }
    return GLES20.glGetError();
}
 
開發者ID:aiyaapp,項目名稱:AAVT,代碼行數:43,代碼來源:FrameBuffer.java

示例2: 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

示例3: assembleProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
private int assembleProgram(int vertexShader, int fragmentShader, ShaderParameter[] params) {
    int program = GLES20.glCreateProgram();
    checkError();
    if (program == 0) {
        throw new RuntimeException("Cannot create GL program: " + GLES20.glGetError());
    }
    GLES20.glAttachShader(program, vertexShader);
    checkError();
    GLES20.glAttachShader(program, fragmentShader);
    checkError();
    GLES20.glLinkProgram(program);
    checkError();
    int[] mLinkStatus = mTempIntArray;
    GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, mLinkStatus, 0);
    if (mLinkStatus[0] != GLES20.GL_TRUE) {
        Log.e(TAG, "Could not link program: ");
        Log.e(TAG, GLES20.glGetProgramInfoLog(program));
        GLES20.glDeleteProgram(program);
        program = 0;
    }
    for (ShaderParameter param : params) {
        param.loadHandle(program);
    }
    return program;
}
 
開發者ID:michelelacorte,項目名稱:FlickLauncher,代碼行數:26,代碼來源:GLES20Canvas.java

示例4: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkGlError(String op) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        Lg.e( op + ": glGetError: 0x" + Integer.toHexString(error));
        throw new RuntimeException("glGetError encountered (see log)");
    }
}
 
開發者ID:wuyisheng,項目名稱:libRtmp,代碼行數:8,代碼來源:AndroidUntil.java

示例5: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * Checks to see if a GLES error has been raised.
 */
public static void checkGlError(String op) {
    int error = GLES20.glGetError();
    if (error != GLES20.GL_NO_ERROR) {
        String msg = op + ": glError 0x" + Integer.toHexString(error);
        Log.e(TAG, msg);
        throw new RuntimeException(msg);
    }
}
 
開發者ID:hoanganhtuan95ptit,項目名稱:EditPhoto,代碼行數:12,代碼來源:GlUtil.java

示例6: checkError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkError() {
    int error = GLES20.glGetError();
    if (error != 0) {
        Throwable t = new Throwable();
        Log.e(TAG, "GL error: " + error, t);
    }
}
 
開發者ID:michelelacorte,項目名稱:FlickLauncher,代碼行數:8,代碼來源:GLES20Canvas.java

示例7: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkGlError(String op) {
  int error;
  while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
    Log.e(TAG, op + ": glError " + error);
    throw new RuntimeException(op + ": glError " + error);
  }
}
 
開發者ID:pedroSG94,項目名稱:rtmp-rtsp-stream-client-java,代碼行數:8,代碼來源:GlUtil.java

示例8: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkGlError(String label) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        Log.e(TAG, label + ": glError " + error);
        throw new RuntimeException(label + ": glError " + error);
    }
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:8,代碼來源:ShaderUtils.java

示例9: checkGLError

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * Checks if we've had an error inside of OpenGL ES, and if so what that error is.
 *
 * @param label Label to report in case of error.
 * @throws RuntimeException If an OpenGL error is detected.
 */
public static void checkGLError(String tag, String label) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        Log.e(tag, label + ": glError " + error);
        throw new RuntimeException(label + ": glError " + error);
    }
}
 
開發者ID:nimbl3,項目名稱:nimbl3-arcore,代碼行數:14,代碼來源:ShaderUtil.java

示例10: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkGlError(String op) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        Log.e(TAG, op + ": glError " + error);
        throw new RuntimeException(op + ": glError " + error);
    }
}
 
開發者ID:livio,項目名稱:sdl_video_streaming_android_sample,代碼行數:8,代碼來源:TextureRender.java

示例11: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
private void checkGlError(String op) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        Log.e(TAG, op + ": glError " + error);
        throw new RuntimeException(op + ": glError " + error);
    }
}
 
開發者ID:sdrausty,項目名稱:buildAPKsSamples,代碼行數:8,代碼來源:GLES20TriangleRenderer.java

示例12: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
static void checkGlError(String op) {
    int error;
    while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        throw new RuntimeException(op + ": glError " + error);
    }
}
 
開發者ID:gplibs,項目名稱:android-magic-surface-view,代碼行數:7,代碼來源:GLUtil.java

示例13: checkNoGLES2Error

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void checkNoGLES2Error(String msg) {
  int error = GLES20.glGetError();
  if (error != GLES20.GL_NO_ERROR) {
    throw new RuntimeException(msg + ": GLES20 error: " + error);
  }
}
 
開發者ID:lgyjg,項目名稱:AndroidRTC,代碼行數:7,代碼來源:GlUtil.java

示例14: HasGLError

import android.opengl.GLES20; //導入方法依賴的package包/類
public static void HasGLError() {
    int error = GLES20.glGetError();
    if (error != 0) {
        Log.d("Paint", GLUtils.getEGLErrorString(error));
    }
}
 
開發者ID:pooyafaroka,項目名稱:PlusGram,代碼行數:7,代碼來源:Utils.java

示例15: checkGlError

import android.opengl.GLES20; //導入方法依賴的package包/類
public void checkGlError(String op) {
    int error;
    if ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) {
        throw new RuntimeException(op + ": glError " + error);
    }
}
 
開發者ID:fishwjy,項目名稱:VideoCompressor,代碼行數:7,代碼來源:TextureRenderer.java


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