Android中涉及OpenGL坐标知识

2022-02-08  本文已影响0人  放羊娃华振

在使用OpenGL ES2.0渲染图像到时候,经常需要跟坐标系打交道,由于目前主要还是研究二维的坐标,所有我们就先忽略三围的z轴。
1、安卓屏幕坐标系,如下图:


image.png

2、OpenGL中顶点坐标系,如下图:


image.png
3、OpenGL中纹理坐标系,如下图:
image.png
利用上面三个坐标系,简单实现一张图片的纹理坐标和顶点坐标。

因为OpenGL ES2.0,只能支持绘制点、线、和三角形,所有其余的一些简单形状需要利用前面的几种去拼接。


image.png
如上图,我们需要拼接成一个矩形需要使用,abc,bcd连个三个形去完成。
所以就能得到顶点坐标为:
//顶点数据
private float[] vertexData = {
        -1f, 1f,
        -1f, -1f,
        1f, 1f,
        -1f, -1f,
        1f, 1f,
        1f, -1f

};

纹理坐标是:

//纹理坐标
private final float[] textureData = {

        1f, 0,
        1, 1,
        0f, 0f,
        1, 1,
        0f, 0f,
        0f, 1f

};

总结下,纹理坐标是通过顶点坐标的位置,在纹理坐标中找到该点斜对角的点坐标即可。

上一篇 下一篇

猜你喜欢

热点阅读