小编use*_*627的帖子

OpenGLES-在运行时创建对象

我是OpenGL的新手,从dev.android.com的小教程开始。示例代码包括Square用于正方形几何的此类。该对象将在onSurfaceCreated()方法中创建,并使用绘制每一帧onDrawFrame()。这是Square(构造函数和绘制方法)的示例代码:

   public Square() {
    // initialize vertex byte buffer for shape coordinates

    ByteBuffer bb = ByteBuffer.allocateDirect(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(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(
            GLES20.GL_VERTEX_SHADER,
            vertexShaderCode);

    int fragmentShader = MyGLRenderer.loadShader(
            GLES20.GL_FRAGMENT_SHADER,
            fragmentShaderCode);

    mProgram = GLES20.glCreateProgram();             // create empty OpenGL Program
    GLES20.glAttachShader(mProgram, vertexShader); …
Run Code Online (Sandbox Code Playgroud)

java android opengl-es opengl-es-2.0

4
推荐指数
1
解决办法
1152
查看次数

标签 统计

android ×1

java ×1

opengl-es ×1

opengl-es-2.0 ×1