我想创建矩形,它将呈半圆形状,并且当我将纹理添加到此窗体时,它将具有弯曲的纹理。我创建了一个简单的矩形,它看起来像下面的图像(如果我们从高度来看,它的形式就是这样): 着色器创建曲线纹理
而且通过顶点着色器,我尝试曲线形状。我试图创建这种形状
而且我用这个顶点着色器
attribute vec4 vPosition;
attribute vec4 vTexCoordinate;
uniform mat4 u_MVP;
uniform mat4 textureTransform;
varying vec2 v_TexCoordinate;
void main() {
v_TexCoordinate = (textureTransform * vTexCoordinate).xy;
vec4 try = vPosition;
if(try.x > 0.0 ){
try[2] = try.x - 100.0;
} else {
try[2] = 100.0 - try.x ;
}
gl_Position = u_MVP * try;
}
,但我没有看到Z中的任何改变的坐标,并没有看到形状任意角度。有人可以说我做错了什么吗?
你的做法是没有意义的。顶点着色器在顶点上操作。无论您如何移动顶点,三角形都会始终保持平面。在你的情况下,你只有x = -100或x = 100,所以你的z坐标总是0. – derhass