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
        };

  • 相关阅读:
    【转】HTTP协议/IIS 原理及ASP.NET运行机制浅析【图解】
    【转】windows server 2012 R2搭建IIS服务器
    【转】新建网站(CodeFile)与新建Web应用(Codebehind)的区别
    微信小程序前端坑
    开题报告
    十大API网站
    animate使用方法
    简易音乐小程序
    如何在app.js 和其他页面中更改globalData的值
    qq音乐解析API
  • 原文地址:https://www.cnblogs.com/8335IT/p/15599082.html
Copyright © 2011-2022 走看看