我尝试绘制一些 3D 正方形(在 iPhone 上使用 OpenGL)并让它们旋转,现在它们看起来像一个球体。
http://i618.photobucket.com/albums/tt265/LoyalMoral/Post/ScreenShot2013-05-15at23249PM.png
但是正方形是平的(下图中的第一个),我想弯曲它:
http://i618.photobucket.com/albums/tt265/LoyalMoral/Post/Untitled-1.jpg
有人告诉我必须使用glsl,但我不懂着色语言。
这是我的顶点和片段(遵循 Ray Wenderlich 的教程):
// Vertex.glsl
attribute vec4 Position;
attribute vec4 SourceColor;
varying vec4 DestinationColor;
uniform mat4 Projection;
uniform mat4 Modelview;
attribute vec2 TexCoordIn;
varying vec2 TexCoordOut;
void main(void) {
DestinationColor = SourceColor;
gl_Position = Projection * Modelview * Position;
TexCoordOut = TexCoordIn;
}
// Fragment.glsl
varying lowp vec4 DestinationColor;
varying lowp vec2 TexCoordOut;
uniform sampler2D Texture;
void main(void) {
gl_FragColor = DestinationColor * texture2D(Texture, TexCoordOut);
}
有人可以帮助我吗? :)
最佳答案
不要使用四边形(一对三角形)作为正方形,而是使用网格。因此,您将能够手动放置网格的顶点,从而形成您想要的形状。
关于iphone - 如何使用 OpenGL ES 弯曲 3D 纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16559588/