iphone - 如何使用 OpenGL ES 弯曲 3D 纹理?

标签 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);
}

有人可以帮助我吗? :)

最佳答案

不要使用四边形(一对三角形)作为正方形,而是使用网格。因此,您将能够手动放置网格的顶点,从而形成您想要的形状。

关于iphone - 如何使用 OpenGL ES 弯曲 3D 纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16559588/

相关文章:

ios - cordova-plugins-qrscanner 无法为 ios 构建

ios - 如何首先按文件夹、名称、大小、日期对 GTLQueryDrive 项目进行排序

ios - 从 UIButton 快速呈现 Popover View

java - 如何使用 libgdx 绘制边界线内的图像部分?

ios - 转换为使用 iOS 8 Popover Segues 时 UISplitViewController 崩溃

iphone - 在为 iOS 设备(iPhone、iPad)上的 Epson POS TM-T88 编写收据打印机驱动程序时需要帮助吗?

ios - 解析调用两次的 ObjectsDidLoad

java - 如何在 GLSL 中生成法线

javascript - findAttribLocation 在 WebGL 中返回 -1

iphone - 从 Iphone App 在 Dropbox 中创建文件夹