使用GLES2.0绘制YUV时如何获取默认向量

时间:2013-08-27 14:02:31

标签: android opengl-es yuv

该程序在ios和大多数Android设备上运行良好,而有些Android设备会显示无序,而我可以通过修改以下两个向量的值来修复它。 我的问题是: 有没有聪明的方法来了解设备的载体?例如,通过Surface,GPU ......

static const GLfloat squareVertices[] = {
    -1.0f, -1.0f,
    1.0f, -1.0f,
    -1.0f,  1.0f,
    1.0f,  1.0f,
};

static const GLfloat coordVertices[] = {
    0.0f, 1.0f,
    1.0f, 1.0f,
    0.0f,  0.0f,
    1.0f,  0.0f,
};


glClear(GL_COLOR_BUFFER_BIT);

glUseProgram(_program);

GLuint textureUniformY = glGetUniformLocation(_program, "SamplerY");
GLuint textureUniformU = glGetUniformLocation(_program, "SamplerU");
GLuint textureUniformV = glGetUniformLocation(_program, "SamplerV");
glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, squareVertices);
glEnableVertexAttribArray(ATTRIB_VERTEX);

glVertexAttribPointer(ATTRIB_TEXTURE, 2, GL_FLOAT, 0, 0, coordVertices);
glEnableVertexAttribArray(ATTRIB_TEXTURE);

0 个答案:

没有答案