当前位置: 首页>>代码示例>>Java>>正文


Java GLES30.glDeleteProgram方法代码示例

本文整理汇总了Java中android.opengl.GLES30.glDeleteProgram方法的典型用法代码示例。如果您正苦于以下问题:Java GLES30.glDeleteProgram方法的具体用法?Java GLES30.glDeleteProgram怎么用?Java GLES30.glDeleteProgram使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.opengl.GLES30的用法示例。


在下文中一共展示了GLES30.glDeleteProgram方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadProgram

import android.opengl.GLES30; //导入方法依赖的package包/类
public static int loadProgram ( String vertShaderSrc, String fragShaderSrc )
{
   int vertexShader;
   int fragmentShader;
   int programObject;
   int[] linked = new int[1];

   // Load the vertex/fragment shaders
   vertexShader = loadShader ( GLES30.GL_VERTEX_SHADER, vertShaderSrc );

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

   fragmentShader = loadShader ( GLES30.GL_FRAGMENT_SHADER, fragShaderSrc );

   if ( fragmentShader == 0 )
   {
      GLES30.glDeleteShader ( vertexShader );
      return 0;
   }

   // Create the program object
   programObject = GLES30.glCreateProgram();

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

   GLES30.glAttachShader ( programObject, vertexShader );
   GLES30.glAttachShader ( programObject, fragmentShader );

   // Link the program
   GLES30.glLinkProgram ( programObject );

   // Check the link status
   GLES30.glGetProgramiv ( programObject, GLES30.GL_LINK_STATUS, linked, 0 );

   if ( linked[0] == 0 )
   {
      Log.e ( "ESShader", "Error linking program:" );
      Log.e ( "ESShader", GLES30.glGetProgramInfoLog ( programObject ) );
      GLES30.glDeleteProgram ( programObject );
      return 0;
   }

   // Free up no longer needed shader resources
   GLES30.glDeleteShader ( vertexShader );
   GLES30.glDeleteShader ( fragmentShader );

   return programObject;
}
 
开发者ID:zhuangzaiku,项目名称:AndroidCollection,代码行数:55,代码来源:ESShader.java

示例2: loadProgramFromAsset

import android.opengl.GLES30; //导入方法依赖的package包/类
public static int loadProgramFromAsset ( Context context, String vertexShaderFileName, String fragShaderFileName )
{
   int vertexShader;
   int fragmentShader;
   int programObject;
   int[] linked = new int[1];

   String vertShaderSrc = null;
   String fragShaderSrc = null;

   // Read vertex shader from assets
   vertShaderSrc = readShader ( context, vertexShaderFileName );

   if ( vertShaderSrc == null )
   {
      return 0;
   }

   // Read fragment shader from assets
   fragShaderSrc = readShader ( context, fragShaderFileName );

   if ( fragShaderSrc == null )
   {
      return 0;
   }

   // Load the vertex shader
   vertexShader = loadShader ( GLES30.GL_VERTEX_SHADER, vertShaderSrc );

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

   // Load the fragment shader
   fragmentShader = loadShader ( GLES30.GL_FRAGMENT_SHADER, fragShaderSrc );

   if ( fragmentShader == 0 )
   {
      GLES30.glDeleteShader ( vertexShader );
      return 0;
   }

   // Create the program object
   programObject = GLES30.glCreateProgram();

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

   GLES30.glAttachShader ( programObject, vertexShader );
   GLES30.glAttachShader ( programObject, fragmentShader );

   // Link the program
   GLES30.glLinkProgram ( programObject );

   // Check the link status
   GLES30.glGetProgramiv ( programObject, GLES30.GL_LINK_STATUS, linked, 0 );

   if ( linked[0] == 0 )
   {
      Log.e ( "ESShader", "Error linking program:" );
      Log.e ( "ESShader", GLES30.glGetProgramInfoLog ( programObject ) );
      GLES30.glDeleteProgram ( programObject );
      return 0;
   }

   // Free up no longer needed shader resources
   GLES30.glDeleteShader ( vertexShader );
   GLES30.glDeleteShader ( fragmentShader );

   return programObject;
}
 
开发者ID:zhuangzaiku,项目名称:AndroidCollection,代码行数:75,代码来源:ESShader.java

示例3: Floor

import android.opengl.GLES30; //导入方法依赖的package包/类
public Floor() {
    // make a floor
    ByteBuffer bbFloorVertices = ByteBuffer.allocateDirect(FLOOR_COORDS.length * 4);
    bbFloorVertices.order(ByteOrder.nativeOrder());
    floorVertices = bbFloorVertices.asFloatBuffer();
    floorVertices.put(FLOOR_COORDS);
    floorVertices.position(0);

    ByteBuffer bbFloorNormals = ByteBuffer.allocateDirect(FLOOR_NORMALS.length * 4);
    bbFloorNormals.order(ByteOrder.nativeOrder());
    floorNormals = bbFloorNormals.asFloatBuffer();
    floorNormals.put(FLOOR_NORMALS);
    floorNormals.position(0);

    ByteBuffer bbFloorColors = ByteBuffer.allocateDirect(FLOOR_COLORS.length * 4);
    bbFloorColors.order(ByteOrder.nativeOrder());
    floorColors = bbFloorColors.asFloatBuffer();
    floorColors.put(FLOOR_COLORS);
    floorColors.position(0);

    //now setup the shaders and program object
    int vertexShader = myStereoRenderer.LoadShader(GLES30.GL_VERTEX_SHADER, light_vertex);
    int gridShader = myStereoRenderer.LoadShader(GLES30.GL_FRAGMENT_SHADER, grid_fragment);
    int programObject;
    int[] linked = new int[1];

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        Log.e(TAG, "So some kind of error, but what?");
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, gridShader);

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;
}
 
开发者ID:JimSeker,项目名称:CardBoardVR,代码行数:54,代码来源:Floor.java

示例4: Pyramid

import android.opengl.GLES30; //导入方法依赖的package包/类
public Pyramid() {
    //first setup the mVertices correctly.
    mVertices = ByteBuffer
            .allocateDirect(mVerticesData.length * 4)
            .order(ByteOrder.nativeOrder())
            .asFloatBuffer()
            .put(mVerticesData);
    mVertices.position(0);

    //setup the shaders
    int vertexShader;
    int fragmentShader;
    int programObject;
    int[] linked = new int[1];

    // Load the vertex/fragment shaders
    vertexShader = myStereoRenderer.LoadShader(GLES30.GL_VERTEX_SHADER, vShaderStr);
    fragmentShader = myStereoRenderer.LoadShader(GLES30.GL_FRAGMENT_SHADER, fShaderStr);

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        Log.e(TAG, "So some kind of error, but what?");
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, fragmentShader);

    // Bind vPosition to attribute 0
    GLES30.glBindAttribLocation(programObject, 0, "vPosition");

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;

    //now everything is setup and ready to draw.
}
 
开发者ID:JimSeker,项目名称:CardBoardVR,代码行数:52,代码来源:Pyramid.java

示例5: Cube

import android.opengl.GLES30; //导入方法依赖的package包/类
public Cube() {
    //first setup the mVertices correctly.
    mVertices = ByteBuffer
            .allocateDirect(mVerticesData.length * 4)
            .order(ByteOrder.nativeOrder())
            .asFloatBuffer()
            .put(mVerticesData);
    mVertices.position(0);

    //setup the shaders
    int vertexShader;
    int fragmentShader;
    int programObject;
    int[] linked = new int[1];

    // Load the vertex/fragment shaders
    vertexShader = myStereoRenderer.LoadShader(GLES30.GL_VERTEX_SHADER, vShaderStr);
    fragmentShader = myStereoRenderer.LoadShader(GLES30.GL_FRAGMENT_SHADER, fShaderStr);

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        Log.e(TAG, "So some kind of error, but what?");
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, fragmentShader);

    // Bind vPosition to attribute 0
    GLES30.glBindAttribLocation(programObject, 0, "vPosition");

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;

    //now everything is setup and ready to draw.
}
 
开发者ID:JimSeker,项目名称:CardBoardVR,代码行数:52,代码来源:Cube.java

示例6: Pyramid

import android.opengl.GLES30; //导入方法依赖的package包/类
public Pyramid() {
    //first setup the mVertices correctly.
    mVertices = ByteBuffer
            .allocateDirect(mVerticesData.length * 4)
            .order(ByteOrder.nativeOrder())
            .asFloatBuffer()
            .put(mVerticesData);
    mVertices.position(0);

    //setup the shaders
    int vertexShader;
    int fragmentShader;
    int programObject;
    int[] linked = new int[1];

    // Load the vertex/fragment shaders
    vertexShader = myRenderer.LoadShader(GLES30.GL_VERTEX_SHADER, vShaderStr);
    fragmentShader = myRenderer.LoadShader(GLES30.GL_FRAGMENT_SHADER, fShaderStr);

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        Log.e(TAG, "So some kind of error, but what?");
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, fragmentShader);

    // Bind vPosition to attribute 0
    GLES30.glBindAttribLocation(programObject, 0, "vPosition");

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;

    //now everything is setup and ready to draw.
}
 
开发者ID:JimSeker,项目名称:opengl,代码行数:52,代码来源:Pyramid.java

示例7: onSurfaceCreated

import android.opengl.GLES30; //导入方法依赖的package包/类
public void onSurfaceCreated(GL10 glUnused, EGLConfig config) {
    String vShaderStr =
            "#version 300 es 			  \n"
                    + "in vec4 vPosition;           \n"
                    + "void main()                  \n"
                    + "{                            \n"
                    + "   gl_Position = vPosition;  \n"
                    + "}                            \n";
    //a red ise 1.0, 0.0, 0.0, 1.0  but I prefer blue.
    String fShaderStr =
            "#version 300 es		 			          	\n"
                    + "precision mediump float;					  	\n"
                    + "out vec4 fragColor;	 			 		  	\n"
                    + "void main()                                  \n"
                    + "{                                            \n"
                    + "  fragColor = vec4 ( 0.0, 0.0, 1.0, 1.0 );	\n"
                    + "}                                            \n";

    int vertexShader;
    int fragmentShader;
    int programObject;
    int[] linked = new int[1];

    // Load the vertex/fragment shaders
    vertexShader = LoadShader(GLES30.GL_VERTEX_SHADER, vShaderStr);
    fragmentShader = LoadShader(GLES30.GL_FRAGMENT_SHADER, fShaderStr);

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, fragmentShader);

    // Bind vPosition to attribute 0
    GLES30.glBindAttribLocation(programObject, 0, "vPosition");

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;

    //set the clear buffer color to white.
    GLES30.glClearColor(1.0f, 1.0f, 1.0f, 0.0f);
}
 
开发者ID:JimSeker,项目名称:opengl,代码行数:60,代码来源:HelloTriangleRenderer.java

示例8: Cube

import android.opengl.GLES30; //导入方法依赖的package包/类
public Cube() {
    //first setup the mVertices correctly.
    mVertices = ByteBuffer
            .allocateDirect(mVerticesData.length * 4)
            .order(ByteOrder.nativeOrder())
            .asFloatBuffer()
            .put(mVerticesData);
    mVertices.position(0);

    //setup the shaders
    int vertexShader;
    int fragmentShader;
    int programObject;
    int[] linked = new int[1];

    // Load the vertex/fragment shaders
    vertexShader = myRenderer.LoadShader(GLES30.GL_VERTEX_SHADER, vShaderStr);
    fragmentShader = myRenderer.LoadShader(GLES30.GL_FRAGMENT_SHADER, fShaderStr);

    // Create the program object
    programObject = GLES30.glCreateProgram();

    if (programObject == 0) {
        Log.e(TAG, "So some kind of error, but what?");
        return;
    }

    GLES30.glAttachShader(programObject, vertexShader);
    GLES30.glAttachShader(programObject, fragmentShader);

    // Bind vPosition to attribute 0
    GLES30.glBindAttribLocation(programObject, 0, "vPosition");

    // Link the program
    GLES30.glLinkProgram(programObject);

    // Check the link status
    GLES30.glGetProgramiv(programObject, GLES30.GL_LINK_STATUS, linked, 0);

    if (linked[0] == 0) {
        Log.e(TAG, "Error linking program:");
        Log.e(TAG, GLES30.glGetProgramInfoLog(programObject));
        GLES30.glDeleteProgram(programObject);
        return;
    }

    // Store the program object
    mProgramObject = programObject;

    //now everything is setup and ready to draw.
}
 
开发者ID:JimSeker,项目名称:opengl,代码行数:52,代码来源:Cube.java

示例9: glDeleteProgram

import android.opengl.GLES30; //导入方法依赖的package包/类
@Override
public void glDeleteProgram(int... id)
{
    for (int program : id)
        GLES30.glDeleteProgram(program);
}
 
开发者ID:sriharshachilakapati,项目名称:SilenceEngine,代码行数:7,代码来源:AndroidGraphicsDevice.java


注:本文中的android.opengl.GLES30.glDeleteProgram方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。