博客
关于我
顶点坐标和纹理坐标之纹理变换
阅读量:146 次
发布时间:2019-02-28

本文共 1471 字,大约阅读时间需要 4 分钟。

顶点坐标变换与纹理调整

顶点坐标定义

顶点坐标的定义遵循反N字形顺序,确保绘制的形状是矩形。具体顶点坐标如下:

float vertices[] = {    -1.0f,  1.0f, 1.0,  0,  0, // 0 左上    -1.0f, -1.0f, 1.0,  0,  1, // 1 左下    1.0f,  1.0f, 1.0,  1,  0, // 2 右上    1.0f, -1.0f, 1.0,  1,  1  // 3 右下};

左右翻转方法

为了实现左右翻转,只需交换纹理坐标的左右值,顶点坐标顺序保持不变。变换后坐标如下:

float vertices[] = {    -1.0f,  1.0f, 1.0,  1,  0, // 0 左上    -1.0f, -1.0f, 1.0,  1,  1, // 1 左下      1.0f,  1.0f, 1.0,  0,  0, // 2 右上    1.0f, -1.0f, 1.0,  0,  1  // 3 右下};

上下翻转方法

如果需要上下翻转,可以通过调整纹理坐标的上下值来实现。变换后坐标如下:

float vertices[] = {    -1.0f,  1.0f, 1.0,  0,  1, // 0 左上    -1.0f, -1.0f, 1.0,  0,  0, // 1 左下      1.0f,  1.0f, 1.0,  1,  1, // 2 右上    1.0f, -1.0f, 1.0,  1,  0  // 3 右下};

变换前的和变换后的对比

变换前:

float vertices[] = {    -1.0f,  1.0f, 1.0,  0,  0, // 0 左上    -1.0f, -1.0f, 1.0,  0,  1, // 1 左下      1.0f,  1.0f, 1.0,  1,  0, // 2 右上    1.0f, -1.0f, 1.0,  1,  1  // 3 右下};

变换后(左右翻转):

float vertices[] = {    -1.0f,  1.0f, 1.0,  1,  0, // 0 左上    -1.0f, -1.0f, 1.0,  1,  1, // 1 左下      1.0f,  1.0f, 1.0,  0,  0, // 2 右上    1.0f, -1.0f, 1.0,  0,  1  // 3 右下};

变换前(上下翻转):

float vertices[] = {    -1.0f,  1.0f, 1.0,  0,  1, // 0 左上    -1.0f, -1.0f, 1.0,  0,  0, // 1 左下      1.0f,  1.0f, 1.0,  1,  1, // 2 右上    1.0f, -1.0f, 1.0,  1,  0  // 3 右下};

变换后(上下翻转):

float vertices[] = {    -1.0f,  1.0f, 1.0,  0,  0, // 0 左上    -1.0f, -1.0f, 1.0,  0,  1, // 1 左下      1.0f,  1.0f, 1.0,  1,  1, // 2 右上    1.0f, -1.0f, 1.0,  1,  0  // 3 右下};

通过上述方法,可以轻松实现顶点坐标的左右翻转和上下翻转,确保纹理坐标与顶点坐标的反N字形连线相匹配。

转载地址:http://nfld.baihongyu.com/

你可能感兴趣的文章
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>
node~ http缓存
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中同步与异步的方式读取文件
查看>>
node中的get请求和post请求的不同操作【node学习第五篇】
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>
node全局对象 文件系统
查看>>
Node出错导致运行崩溃的解决方案
查看>>
Node响应中文时解决乱码问题
查看>>
node基础(二)_模块以及处理乱码问题
查看>>
node安装卸载linux,Linux运维知识之linux 卸载安装node npm
查看>>
node安装及配置之windows版
查看>>