【问题标题】:Flip upside down vertex shader (GLES)倒置顶点着色器 (GLES)
【发布时间】:2012-03-25 09:37:46
【问题描述】:

给定下一个顶点着色器,什么是最简单、最有效、最快的倒置坐标的方法,因此片段着色器会产生倒置图像?

attribute vec4 a_position;
attribute vec2 a_texcoord;                                                  
varying vec2 v_texcoord;

void main()
{
    v_texcoord = a_texcoord.st;
    gl_Position = a_position;
}

【问题讨论】:

  • 顶点位置坐标还是纹理坐标?此外,将其放入您用于这些位置的转换中是否更有意义(假设您打算进行一些转换)。

标签: glsl shader flip vertex


【解决方案1】:

只需翻转v_texcoord。所以例如

v_texcoord = a_texcoord.st * vec2(1.0, -1.0);

或者,我猜:

v_texcoord = vec2(a_texcoord.s, 1.0 - a_texcoord.t);

取决于您希望在.t 的范围内发生什么。

【讨论】:

  • 太棒了!使用“vec2(a_texcoord.s, 1.0 - a_texcoord.t)”并且效果很好。
  • v_texcoord = vec2(a_texcoord.s, 1.0 - a_texcoord.t); - 简单美观的解决方案,谢谢
  • v_texcoord = vec2(a_texcoord.s, 1.0 - a_texcoord.t);工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-13
  • 2022-01-04
  • 2016-03-24
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多