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


Java GLES20.glDeleteProgram方法代碼示例

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


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

示例1: createProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
public static int createProgram(String vertexSource, String fragmentSource) {
    int vs = loadShader(GLES20.GL_VERTEX_SHADER,   vertexSource);
    int fs = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
    int program = GLES20.glCreateProgram();
    GLES20.glAttachShader(program, vs);
    GLES20.glAttachShader(program, fs);
    GLES20.glLinkProgram(program);
    int[] linkStatus = new int[1];
    GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
    if (linkStatus[0] != GLES20.GL_TRUE) {
        Lg.e("Could not link program:");
        Lg.e( GLES20.glGetProgramInfoLog(program));
        GLES20.glDeleteProgram(program);
        program = 0;
    }
    return program;
}
 
開發者ID:wuyisheng,項目名稱:libRtmp,代碼行數:18,代碼來源:AndroidUntil.java

示例2: updateProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
static void updateProgram(int program, String vertexSource, String fragmentSource) {
    int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource);
    if (vertexShader == 0) {
        return;
    }
    int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
    if (pixelShader == 0) {
        return;
    }
    if (program != 0) {
        GLES20.glAttachShader(program, vertexShader);
        checkGlError("glAttachShader");
        GLES20.glAttachShader(program, pixelShader);
        checkGlError("glAttachShader");
        GLES20.glLinkProgram(program);
        int[] linkStatus = new int[1];
        GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
        if (linkStatus[0] != GLES20.GL_TRUE) {
            String info = GLES20.glGetProgramInfoLog(program);
            GLES20.glDeleteProgram(program);
            throw new RuntimeException("Could not link program: " + info);
        }
    }
}
 
開發者ID:gplibs,項目名稱:android-magic-surface-view,代碼行數:25,代碼來源:GLUtil.java

示例3: linkProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * Links a vertex shader and a fragment shader together into an OpenGL
 * program. Returns the OpenGL program object ID, or 0 if linking failed.
 */
public static int linkProgram(int vertexShaderId, int fragmentShaderId) {

    // Create a new program object.
    final int programObjectId = GLES20.glCreateProgram();

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

    // Attach the vertex shader to the program.
    GLES20.glAttachShader(programObjectId, vertexShaderId);

    // Attach the fragment shader to the program.
    GLES20.glAttachShader(programObjectId, fragmentShaderId);

    // Link the two shaders together into a program.
    GLES20.glLinkProgram(programObjectId);

    // Get the link status.
    final int[] linkStatus = new int[1];
    GLES20.glGetProgramiv(programObjectId, GLES20.GL_LINK_STATUS,
            linkStatus, 0);


    // Verify the link status.
    if (linkStatus[0] == 0) {
        // If it failed, delete the program object.
        GLES20.glDeleteProgram(programObjectId);


        return 0;
    }

    // Return the program object ID.
    return programObjectId;
}
 
開發者ID:khoatd92,項目名稱:sensor-graph-opengl-es-android,代碼行數:41,代碼來源:ShaderUtils.java

示例4: createProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
private int createProgram(String vertexSource, String fragmentSource) {
    int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource);
    if (vertexShader == 0) {
        return 0;
    }
    int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
    if (pixelShader == 0) {
        return 0;
    }

    int program = GLES20.glCreateProgram();
    if (program != 0) {
        GLES20.glAttachShader(program, vertexShader);
        checkGlError("glAttachShader");
        GLES20.glAttachShader(program, pixelShader);
        checkGlError("glAttachShader");
        GLES20.glLinkProgram(program);
        int[] linkStatus = new int[1];
        GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
        if (linkStatus[0] != GLES20.GL_TRUE) {
            Log.e(TAG, "Could not link program: ");
            Log.e(TAG, GLES20.glGetProgramInfoLog(program));
            GLES20.glDeleteProgram(program);
            program = 0;
        }
    }
    return program;
}
 
開發者ID:pavelsemak,項目名稱:alpha-movie,代碼行數:29,代碼來源:VideoRenderer.java

示例5: changeFragmentShader

import android.opengl.GLES20; //導入方法依賴的package包/類
public void changeFragmentShader(String fragmentShader) {
    GLES20.glDeleteProgram(mProgram);
    mProgram = createProgram(VERTEX_SHADER, fragmentShader);
    if (mProgram == 0) {
        throw new RuntimeException("failed creating program");
    }
}
 
開發者ID:pooyafaroka,項目名稱:PlusGram,代碼行數:8,代碼來源:TextureRenderer.java

示例6: destroy

import android.opengl.GLES20; //導入方法依賴的package包/類
public final void destroy()
{
    C();

    this.aU = false;
    GLES20.glDeleteProgram(this.aO);
    onDestroy();
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:9,代碼來源:GPUImageFilter.java

示例7: createProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
public static int createProgram(String vertexSource, String fragmentSource) {
    int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexSource);
    if (vertexShader == 0) {
        return 0;
    }
    int pixelShader = loadShader(GLES20.GL_FRAGMENT_SHADER, fragmentSource);
    if (pixelShader == 0) {
        return 0;
    }

    int program = GLES20.glCreateProgram();
    if (program != 0) {
        GLES20.glAttachShader(program, vertexShader);
        checkGlError("glAttachShader");
        GLES20.glAttachShader(program, pixelShader);
        checkGlError("glAttachShader");
        GLES20.glLinkProgram(program);
        int[] linkStatus = new int[1];
        GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, linkStatus, 0);
        if (linkStatus[0] != GLES20.GL_TRUE) {
            Log.e(TAG, "Could not link program: ");
            Log.e(TAG, GLES20.glGetProgramInfoLog(program));
            GLES20.glDeleteProgram(program);
            program = 0;
        }
    }
    return program;
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:29,代碼來源:ShaderUtils.java

示例8: loadShader

import android.opengl.GLES20; //導入方法依賴的package包/類
private static int loadShader(String vss, String fss) {
    Log.d("CameraGLRendererBase", "loadShader");
    int vshader = GLES20.glCreateShader(GLES20.GL_VERTEX_SHADER);
    GLES20.glShaderSource(vshader, vss);
    GLES20.glCompileShader(vshader);
    int[] status = new int[1];
    GLES20.glGetShaderiv(vshader, GLES20.GL_COMPILE_STATUS, status, 0);
    if (status[0] == 0) {
        Log.e("CameraGLRendererBase", "Could not compile vertex shader: "+GLES20.glGetShaderInfoLog(vshader));
        GLES20.glDeleteShader(vshader);
        vshader = 0;
        return 0;
    }

    int fshader = GLES20.glCreateShader(GLES20.GL_FRAGMENT_SHADER);
    GLES20.glShaderSource(fshader, fss);
    GLES20.glCompileShader(fshader);
    GLES20.glGetShaderiv(fshader, GLES20.GL_COMPILE_STATUS, status, 0);
    if (status[0] == 0) {
        Log.e("CameraGLRendererBase", "Could not compile fragment shader:"+GLES20.glGetShaderInfoLog(fshader));
        GLES20.glDeleteShader(vshader);
        GLES20.glDeleteShader(fshader);
        fshader = 0;
        return 0;
    }

    int program = GLES20.glCreateProgram();
    GLES20.glAttachShader(program, vshader);
    GLES20.glAttachShader(program, fshader);
    GLES20.glLinkProgram(program);
    GLES20.glDeleteShader(vshader);
    GLES20.glDeleteShader(fshader);
    GLES20.glGetProgramiv(program, GLES20.GL_LINK_STATUS, status, 0);
    if (status[0] == 0) {
        Log.e("CameraGLRendererBase", "Could not link shader program: "+GLES20.glGetProgramInfoLog(program));
        program = 0;
        return 0;
    }
    GLES20.glValidateProgram(program);
    GLES20.glGetProgramiv(program, GLES20.GL_VALIDATE_STATUS, status, 0);
    if (status[0] == 0)
    {
        Log.e("CameraGLRendererBase", "Shader program validation error: "+GLES20.glGetProgramInfoLog(program));
        GLES20.glDeleteProgram(program);
        program = 0;
        return 0;
    }

    Log.d("CameraGLRendererBase", "Shader program is built OK");

    return program;
}
 
開發者ID:vulovicv23,項目名稱:opencv-documentscanner-android,代碼行數:53,代碼來源:CameraGLRendererBase.java

示例9: destroy

import android.opengl.GLES20; //導入方法依賴的package包/類
public final void destroy() {
    mIsInitialized = false;
    GLES20.glDeleteProgram(mGLProgId);
    onDestroy();
}
 
開發者ID:lzmlsfe,項目名稱:19porn,代碼行數:6,代碼來源:GPUImageFilter.java

示例10: tearDown

import android.opengl.GLES20; //導入方法依賴的package包/類
public void tearDown() {
    GLES20.glDeleteProgram(mProgram);
}
 
開發者ID:sdrausty,項目名稱:buildAPKsSamples,代碼行數:4,代碼來源:TextureRenderer.java

示例11: deleteProgram

import android.opengl.GLES20; //導入方法依賴的package包/類
public void deleteProgram() {
    GLES20.glDeleteShader(mShaderVertex);
    GLES20.glDeleteShader(mShaderFragment);
    GLES20.glDeleteProgram(mProgram);
    mProgram = mShaderVertex = mShaderFragment = 0;
}
 
開發者ID:AgoraIO,項目名稱:Agora-Video-Source-Android,代碼行數:7,代碼來源:Shader.java

示例12: release

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * terminatinng, this should be called in GL context
 */
public void release() {
	if (hProgram >= 0)
		GLES20.glDeleteProgram(hProgram);
	hProgram = -1;
}
 
開發者ID:FacePlusPlus,項目名稱:MegviiFacepp-Android-SDK,代碼行數:9,代碼來源:GLDrawer2D.java


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