博客
关于我
顶点坐标和纹理坐标之纹理变换
阅读量: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/

你可能感兴趣的文章
opencv putText中文乱码
查看>>
OpenCV Python围绕特定点将图像旋转X度
查看>>
opencv resize
查看>>
Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
查看>>
opencv SVM分类Demo
查看>>
OpenCV VideoCapture.get()参数详解
查看>>
opencv videocapture读取视频cap.isOpened 输出总是false
查看>>
opencv waitKey() 函数理解及应用
查看>>
OpenCV 中的图像转换
查看>>
OpenCV 人脸识别 C++实例代码
查看>>
OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
查看>>
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
查看>>
opencv 模板匹配, 已解决模板过大程序不工作的bug
查看>>
OpenCV 错误:(-215)size.width>0 &&函数imshow中的size.height>0
查看>>
opencv&Python——多种边缘检测
查看>>
opencv&python——高通滤波器和低通滤波器
查看>>
OpenCV+Python识别车牌和字符分割的实现
查看>>
OpenCV-Python接口、cv和cv2的性能比较
查看>>
OpenCV/Python/dlib眨眼检测
查看>>
opencv1-加载、修改、保存图像
查看>>