1
回答
NDK下 opengles 2.0 显示 yuv
科大讯飞通用文字识别100000次/天免费使用。立即申请   
源码在这里 http://blog.csdn.net/wangchenggggdn/article/details/8896453 
非常奇怪的是顶点坐标和纹理坐标 
居然要根据不同机型设置

#if 0  
    // Galaxy Nexus 4.2.2  
    static GLfloat squareVertices[] = {  
        -1.0f, -1.0f,  
        1.0f, -1.0f,  
        -1.0f,  1.0f,  
        1.0f,  1.0f,  
    };  
  
    static GLfloat coordVertices[] = {  
        0.0f, 1.0f,  
        1.0f, 1.0f,  
        0.0f,  0.0f,  
        1.0f,  0.0f,  
    };  
#else  
 // HUAWEIG510-0010 4.1.1  
    static GLfloat squareVertices[] = {  
        0.0f, 0.0f,  
        1.0f, 0.0f,  
        0.0f,  1.0f,  
        1.0f,  1.0f,  
    };  
  
    static GLfloat coordVertices[] = {  
            -1.0f, 1.0f,  
            1.0f, 1.0f,  
            -1.0f,  -1.0f,  
            1.0f,  -1.0f,  
    };  
#endif  

但是情况确实是这样的,我手头的手机,小米和中兴,
确实需要利用这两套不同坐标,二者坐标如果互换,
就会渲染到屏幕的右上角,
但是奇怪的是,我如果在java层,用es2.0,来实现一个矩形,
并且在上面贴纹理,不管是小米还是中兴手机,都只能使用第一套坐标,
如果使用第二套坐标,就会渲染到屏幕的右上角。
这真是很诡异啊,难道NDK和java不一样?

java纹理贴图代码可以参考这里 

http://obviam.net/index.php/texture-mapping-opengl-android-displaying-images-using-opengl-and-squares/ 

最后又源码下载的

请各位3D,音视频的高手不吝赐教啊
举报
yeyunxiaopan
发帖于5年前 1回/2K+阅
顶部