OpenGLとテクスチャーと実機

239 views
Skip to first unread message

あべ

unread,
Feb 3, 2009, 4:47:02 AM2/3/09
to Android-SDK-Japan
はじめまして。
あべと申します。

早速ですが、質問をさせて頂きます。

現在OpenGL EGL10を使って3Dプログラムの実験を行っています。
テクスチャーに使用するPNGを縦横128×128以上の画像にすると
エミュレータ上では表示されても、実機では表示されません。
テクスチャーの貼っていないポリゴンが表示されてしまいます。

サンプルにあるGLTutorialと、
日本アンドロイドの会の勉強会で公開されていた
OpenGLのサンプルプログラムを参考に組みました。

おそらくですがプログラムで使用する画像データサイズが
128×128×4 = 64KB より大きな画像データになると
表示されなくなるようです。
VRAMに転送できていないのでしょうか?

実機で128×128以上のテクスチャーを表示出来ている方は
いらっしゃいますか。


以上、よろしくお願い致します。


あべ

[API Exp]Makoto Anjo

unread,
Feb 3, 2009, 7:50:45 AM2/3/09
to Android-SDK-Japan
安生です。

あべさんこんにちは。
私の方ではテクスチャ512x512でもG1で表示できています。ただ、元画像はpngではなく
bmpですが。

あべ

unread,
Feb 3, 2009, 10:27:08 AM2/3/09
to Android-SDK-Japan
安生さん

こんばんは。
早速のご返信ありがとうございます。

回答を参考に、いろいろ修正をしていたら
無事BMP,PNG共に表示されました。

どうも実機(devphone)は128x128、512x256、512x512と
2のn乗の縦横サイズでしか表示されないようです。

エミュレータで表示されて実機でできなかった画像は206x206でした。


今回はありがとうございました。


あべ

ktaka

unread,
Feb 4, 2009, 7:04:42 AM2/4/09
to Android-SDK-Japan
高橋です。

> どうも実機(devphone)は128x128、512x256、512x512と
> 2のn乗の縦横サイズでしか表示されないようです。

そうですね。
(基本的にですが...)テクスチャのサイズは 2 の累乗である必要があります。

実機は GPU の上で OpenGL ES が動いていますので、その辺りの制限が
顕著に出たのだと思います。

#GL 周りは「エミュレータでは動いたのに...」ということが多々ありますよね。(^_^;;
Reply all
Reply to author
Forward
0 new messages