本文共 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/