頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


UIImageをOpenGLのテクスチャに使う

OpenGLでオブジェクトに貼付けるテクスチャは今までこんな感じで作っていたのよ。GLKitを使う場合ね。
{
    NSDictionary *options = @{GLKTextureLoaderOriginBottomLeft: @YES};
    NSError *error;
    NSString *path = [[NSBundle mainBundle] pathForResource:@"texture.png" ofType:nil];
    GLKTextureInfo *texture = [GLKTextureLoader textureWithContentsOfFile:path options:options error:&error];
}
png画像ファイルをXcodeに持ってきといてから↑のようなコードで作成、使う時は
{
    glBindTexture(GL_TEXTURE_2D, texture.name);
}
といった感じでOK。

ふと、動的な画像を使う場合にはどうすればいいのかな、、、例えばUIImageなんかをテクスチャとして使うとか。ネットで調べてみるとstackoverflowあたりにややこしい処理でやってるのがあるなあ、、、なんて思っていたんだけど、ふとGLKitにあるんじゃないの?と思ってリファレンスを確認したら、ちゃんとあるじゃない!
{
    NSError *error;
    NSDictionary* options = @{GLKTextureLoaderOriginBottomLeft: @YES};
    GLKTextureInfo *texture = [GLKTextureLoader textureWithCGImage:image.CGImage  options:options error:&error];
}
ここでimageはUIImageオブジェクト。ありがたや、GLKit。

UILabelをテクスチャにしたスクショ
↑こんな感じでUILabelで書いた文字なんかをテクスチャとして貼付けてみたところ。

<< OpenGLでテクスチャの上下ひっくり返す  TopPage  Blenderで面取りはモディファイアのBevelで >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/909-43b37f78




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad