zoukankan      html  css  js  c++  java
  • OpenGLES 缩放

     1原始贴图:

        //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            1, -1, 0.0f,    1.0f, 0.0f, //右下 
            -1, 1, 0.0f,    0.0f, 1.0f, //左上 
           -1, -1, 0.0f,   0.0f, 0.0f, //左下 
            1, 1, 0.0f,    1.0f, 1.0f, //右上 
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };

    顶点坐标系(蓝色图):

    纹理坐标系(绿色):

    以手机屏幕做窗口:

    原图:

    情况1 坐标:

        //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            1, -1, 0.0f,    1.0f, 0.0f, //右下 0
            -1, 1, 0.0f,    0.0f, 1.0f, //左上 1
           -1, -1, 0.0f,   0.0f, 0.0f, //左下 2
            1, 1, 0.0f,    1.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };

    情况1的显示:


    情况2 源代码:

    //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            1, -1, 0.0f,    0.5f, 0.0f, //右下 0
            -1, 1, 0.0f,    0.0f, 0.3f, //左上 1
           -1, -1, 0.0f,   0.0f, 0.0f, //左下 2
            1, 1, 0.0f,    0.5f, 0.3f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };
    修改了纹理坐标,我给图片加了两个字(我在原始图片上添加的文本,并不是用OpenGL渲染上去的字);看的更明显


    情景三代码:

    情景3-1 

     //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            0.5, -0.5, 0.0f,    1.0f, 0.0f, //右下 0
            -0.5, 0.5, 0.0f,    0.0f, 1.0f, //左上 1
            -0.5, -0.5, 0.0f,   0.0f, 0.0f, //左下 2
            0.5, 0.5, 0.0f,    1.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };
    修改顶点坐标

     情景3-2:

    //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            0.0,0.0, 0.0f,    1.0f, 0.0f, //右下 0
            -1, 1, 0.0f,    0.0f, 1.0f, //左上 1
            -1, 0, 0.0f,   0.0f, 0.0f, //左下 2
            0, 1, 0.0f,    1.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };


    情景四:

    //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            3, -3, 0.0f,    1.0f, 0.0f, //右下 0
            -1, 1, 0.0f,    0.0f, 1.0f, //左上 1
            -1, -3, 0.0f,   0.0f, 0.0f, //左下 2
            3, 1, 0.0f,    1.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };


    情景五-1:

     //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            -1, -1, 0.0f,    1.0f, 0.0f, //右下 0
            1, 1, 0.0f,    0.0f, 1.0f, //左上 1
           1, -1, 0.0f,   0.0f, 0.0f, //左下 2
            -1, 1, 0.0f,    1.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };

     情景5-2:

     //顶点数据,前三个是顶点坐标,后面两个是纹理坐标
        GLfloat squareVertexData[] =
        {
            1, -1, 0.0f,    0.0f, 0.0f, //右下 0
            -1, 1, 0.0f,    1.0f, 1.0f, //左上 1
           -1, -1, 0.0f,   1.0f, 0.0f, //左下 2
            1, 1, 0.0f,    0.0f, 1.0f, //右上 3
         
        };
    
        //顶点索引
        GLuint indices[] =
        {
            1,2,0,
            1,3,0
        };

  • 相关阅读:
    mysql数据库给别人访问权限
    linux 5-sort,uniq,tar,split
    linux 4 -awk
    Linux 3 -grep
    linux 基础2-null,cut,wc,head,tail
    linux 基础-变量,shell基本语法
    [ActionScript 3.0] 利用InteractivePNG.as类精确选择识别png图片有像素的区域
    [ActionScript 3.0] 嵌入字体
    [ActionScript 3.0] AS利用ByteArray向PHP发送二进制数据生成图片
    [ActionScript 3.0] AS向php发送二进制数据方法之——在URLRequest中构造HTTP协议发送数据
  • 原文地址:https://www.cnblogs.com/8335IT/p/15599082.html
Copyright © 2011-2022 走看看