如何使用OpenGL ES展示3D纹理?

时间:2013-05-15 07:51:08

标签: iphone ios opengl-es opengl-es-2.0

我试图绘制一些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);
}
有人能帮帮我吗? :)

1 个答案:

答案 0 :(得分:1)

不使用方形的四边形(一对三角形)而是使用网格。因此,您可以手动放置网格的顶点,从而得到您想要的形状。