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


Java GLES20.glUniform2fv方法代碼示例

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


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

示例1: b

import android.opengl.GLES20; //導入方法依賴的package包/類
protected void b(int paramInt1, int paramInt2, int paramInt3)
{
    float[] arrayOfFloat = new float[2];
    arrayOfFloat[0] = (this.aV.i[paramInt2][paramInt3].x / this.aW);
    if (this.aY) {
        arrayOfFloat[1] = (1.0F - this.aV.i[paramInt2][paramInt3].y / this.aX);
    } else {
        arrayOfFloat[1] = (this.aV.i[paramInt2][paramInt3].y / this.aX);
    }
    GLES20.glUniform2fv(paramInt1, 1, arrayOfFloat, 0);
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:12,代碼來源:GPUImageFilterE.java

示例2: a

import android.opengl.GLES20; //導入方法依賴的package包/類
protected void a(int paramInt, PointF paramPointF)
{
    float[] arrayOfFloat = new float[2];
    arrayOfFloat[0] = paramPointF.x;
    arrayOfFloat[1] = paramPointF.y;
    GLES20.glUniform2fv(paramInt, 1, arrayOfFloat, 0);
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:8,代碼來源:GPUImageFilter.java

示例3: setUniform2fv

import android.opengl.GLES20; //導入方法依賴的package包/類
public void setUniform2fv(final int programId, final String name,final float[] arrayValue) {
    int location=GLES20.glGetUniformLocation(programId,name);
    GLES20.glUniform2fv(location, 1, FloatBuffer.wrap(arrayValue));
}
 
開發者ID:zhangyaqiang,項目名稱:Fatigue-Detection,代碼行數:5,代碼來源:AbsFilter.java

示例4: draw

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * Issues the draw call.  Does the full setup on every call.
 *
 * @param mvpMatrix The 4x4 projection matrix.
 * @param vertexBuffer Buffer with vertex position data.
 * @param firstVertex Index of first vertex to use in vertexBuffer.
 * @param vertexCount Number of vertices in vertexBuffer.
 * @param coordsPerVertex The number of coordinates per vertex (e.g. x,y is 2).
 * @param vertexStride Width, in bytes, of the position data for each vertex (often
 *        vertexCount * sizeof(float)).
 * @param texMatrix A 4x4 transformation matrix for texture coords.  (Primarily intended
 *        for use with SurfaceTexture.)
 * @param texBuffer Buffer with vertex texture data.
 * @param texStride Width, in bytes, of the texture data for each vertex.
 */
public void draw(float[] mvpMatrix, FloatBuffer vertexBuffer, int firstVertex,
        int vertexCount, int coordsPerVertex, int vertexStride,
        float[] texMatrix, FloatBuffer texBuffer, int textureId, int texStride) {
    GlUtil.checkGlError("draw start");

    // Select the program.
    GLES20.glUseProgram(mProgramHandle);
    GlUtil.checkGlError("glUseProgram");

    // Set the texture.
    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    GLES20.glBindTexture(mTextureTarget, textureId);

    // Copy the model / view / projection matrix over.
    GLES20.glUniformMatrix4fv(muMVPMatrixLoc, 1, false, mvpMatrix, 0);
    GlUtil.checkGlError("glUniformMatrix4fv");

    // Copy the texture transformation matrix over.
    GLES20.glUniformMatrix4fv(muTexMatrixLoc, 1, false, texMatrix, 0);
    GlUtil.checkGlError("glUniformMatrix4fv");

    // Enable the "aPosition" vertex attribute.
    GLES20.glEnableVertexAttribArray(maPositionLoc);
    GlUtil.checkGlError("glEnableVertexAttribArray");

    // Connect vertexBuffer to "aPosition".
    GLES20.glVertexAttribPointer(maPositionLoc, coordsPerVertex,
        GLES20.GL_FLOAT, false, vertexStride, vertexBuffer);
    GlUtil.checkGlError("glVertexAttribPointer");

    // Enable the "aTextureCoord" vertex attribute.
    GLES20.glEnableVertexAttribArray(maTextureCoordLoc);
    GlUtil.checkGlError("glEnableVertexAttribArray");

    // Connect texBuffer to "aTextureCoord".
    GLES20.glVertexAttribPointer(maTextureCoordLoc, 2,
            GLES20.GL_FLOAT, false, texStride, texBuffer);
        GlUtil.checkGlError("glVertexAttribPointer");

    // Populate the convolution kernel, if present.
    if (muKernelLoc >= 0) {
        GLES20.glUniform1fv(muKernelLoc, KERNEL_SIZE, mKernel, 0);
        GLES20.glUniform2fv(muTexOffsetLoc, KERNEL_SIZE, mTexOffset, 0);
        GLES20.glUniform1f(muColorAdjustLoc, mColorAdjust);
    }

    // Draw the rect.
    GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, firstVertex, vertexCount);
    GlUtil.checkGlError("glDrawArrays");

    // Done -- disable vertex array, texture, and program.
    GLES20.glDisableVertexAttribArray(maPositionLoc);
    GLES20.glDisableVertexAttribArray(maTextureCoordLoc);
    GLES20.glBindTexture(mTextureTarget, 0);
    GLES20.glUseProgram(0);
}
 
開發者ID:AndyZhu1991,項目名稱:grafika,代碼行數:72,代碼來源:Texture2dProgram.java

示例5: draw

import android.opengl.GLES20; //導入方法依賴的package包/類
/**
 * Issues the draw call.  Does the full setup on every call.
 *
 * @param mvpMatrix The 4x4 projection matrix.
 * @param vertexBuffer Buffer with vertex position data.
 * @param firstVertex Index of first vertex to use in vertexBuffer.
 * @param vertexCount Number of vertices in vertexBuffer.
 * @param coordsPerVertex The numbermatrix of coordinates per vertex (e.g. x,y is 2).
 * @param vertexStride Width, in bytes, of the position data for each vertex (often
 *        vertexCount * sizeof(float)).
 * @param texMatrix A 4x4 transformation matrix for texture coords.  (Primarily intended
 *        for use with SurfaceTexture.)
 * @param texBuffer Buffer with vertex texture data.
 * @param texStride Width, in bytes, of the texture data for each vertex.
 */
public void draw(float[] mvpMatrix, FloatBuffer vertexBuffer, int firstVertex,
                 int vertexCount, int coordsPerVertex, int vertexStride,
                 float[] texMatrix, FloatBuffer texBuffer, int textureId, int texStride) {
    GlUtil.checkGlError("draw start");

    // Select the program.
    GLES20.glUseProgram(mProgramHandle);
    GlUtil.checkGlError("glUseProgram");

    // Set the texture.
    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
    GLES20.glBindTexture(mTextureTarget, textureId);

    // Copy the model / view / projection matrix over.
    GLES20.glUniformMatrix4fv(muMVPMatrixLoc, 1, false, mvpMatrix, 0);
    GlUtil.checkGlError("glUniformMatrix4fv");

    // Copy the texture transformation matrix over.
    GLES20.glUniformMatrix4fv(muTexMatrixLoc, 1, false, texMatrix, 0);
    GlUtil.checkGlError("glUniformMatrix4fv");

    // Enable the "aPosition" vertex attribute.
    GLES20.glEnableVertexAttribArray(maPositionLoc);
    GlUtil.checkGlError("glEnableVertexAttribArray");

    // Connect vertexBuffer to "aPosition".
    GLES20.glVertexAttribPointer(maPositionLoc, coordsPerVertex,
        GLES20.GL_FLOAT, false, vertexStride, vertexBuffer);
    GlUtil.checkGlError("glVertexAttribPointer");

    // Enable the "aTextureCoord" vertex attribute.
    GLES20.glEnableVertexAttribArray(maTextureCoordLoc);
    GlUtil.checkGlError("glEnableVertexAttribArray");

    // Connect texBuffer to "aTextureCoord".
    GLES20.glVertexAttribPointer(maTextureCoordLoc, 2,
            GLES20.GL_FLOAT, false, texStride, texBuffer);
        GlUtil.checkGlError("glVertexAttribPointer");

    // Populate the convolution kernel, if present.
    if (muKernelLoc >= 0) {
        GLES20.glUniform1fv(muKernelLoc, KERNEL_SIZE, mKernel, 0);
        GLES20.glUniform2fv(muTexOffsetLoc, KERNEL_SIZE, mTexOffset, 0);
        GLES20.glUniform1f(muColorAdjustLoc, mColorAdjust);
    }

    // Draw the rect.
    GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, firstVertex, vertexCount);
    GlUtil.checkGlError("glDrawArrays");

    // Done -- disable vertex array, texture, and program.
    GLES20.glDisableVertexAttribArray(maPositionLoc);
    GLES20.glDisableVertexAttribArray(maTextureCoordLoc);
    GLES20.glBindTexture(mTextureTarget, 0);
    GLES20.glUseProgram(0);
}
 
開發者ID:TobiasLee,項目名稱:FilterPlayer,代碼行數:72,代碼來源:Texture2dProgram.java

示例6: setupShaderInputs

import android.opengl.GLES20; //導入方法依賴的package包/類
void setupShaderInputs(int program, FloatBuffer vertex, FloatBuffer textureCoord, int[] iResolution, int[] iChannels, int[][] iChannelResolutions) {
    GLES20.glUseProgram(program);

    int iResolutionLocation = GLES20.glGetUniformLocation(program, "iResolution");
    GLES20.glUniform3fv(iResolutionLocation, 1,
            FloatBuffer.wrap(new float[]{(float) iResolution[0], (float) iResolution[1], 1.0f}));

    float time = ((float) (System.currentTimeMillis() - START_TIME)) / 1000.0f;
    int iGlobalTimeLocation = GLES20.glGetUniformLocation(program, "iGlobalTime");
    GLES20.glUniform1f(iGlobalTimeLocation, time);

    int iFrameLocation = GLES20.glGetUniformLocation(program, "iFrame");
    GLES20.glUniform1i(iFrameLocation, iFrame);

    int vPositionLocation = GLES20.glGetAttribLocation(program, "vPosition");
    GLES20.glEnableVertexAttribArray(vPositionLocation);
    GLES20.glVertexAttribPointer(vPositionLocation, 2, GLES20.GL_FLOAT, false, 4 * 2, vertex);

    int vTexCoordLocation = GLES20.glGetAttribLocation(program, "vTexCoord");
    GLES20.glEnableVertexAttribArray(vTexCoordLocation);
    GLES20.glVertexAttribPointer(vTexCoordLocation, 2, GLES20.GL_FLOAT, false, 4 * 2, textureCoord);

    for (int i = 0; i < iChannels.length; i++) {
        int sTextureLocation = GLES20.glGetUniformLocation(program, "iChannel" + i);
        GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + i);
        GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, iChannels[i]);
        GLES20.glUniform1i(sTextureLocation, i);
    }

    float _iChannelResolutions[] = new float[iChannelResolutions.length * 3];
    for (int i = 0; i < iChannelResolutions.length; i++) {
        _iChannelResolutions[i * 3] = iChannelResolutions[i][0];
        _iChannelResolutions[i * 3 + 1] = iChannelResolutions[i][1];
        _iChannelResolutions[i * 3 + 2] = 1.0f;
    }

    int iChannelResolutionLocation = GLES20.glGetUniformLocation(program, "iChannelResolution");
    GLES20.glUniform3fv(iChannelResolutionLocation,
            _iChannelResolutions.length, FloatBuffer.wrap(_iChannelResolutions));

    // For beauty
    int singleStepOffsetLocation = GLES20.glGetUniformLocation(program, "singleStepOffset");
     GLES20.glUniform2fv(singleStepOffsetLocation, 1, FloatBuffer.wrap(new float[] { 2.0f / 320.0f, 2.0f / 480.0f}));
}
 
開發者ID:SimonCherryGZ,項目名稱:face-landmark-android,代碼行數:45,代碼來源:CameraFilter.java


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