OpenGLとテクスチャーと実機

閲覧: 239 回
最初の未読メッセージにスキップ

あべ

未読、
2009/02/03 4:47:022009/02/03
To: Android-SDK-Japan
はじめまして。
あべと申します。

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

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

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

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

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


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


あべ

[API Exp]Makoto Anjo

未読、
2009/02/03 7:50:452009/02/03
To: Android-SDK-Japan
安生です。

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

あべ

未読、
2009/02/03 10:27:082009/02/03
To: Android-SDK-Japan
安生さん

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

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

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

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


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


あべ

ktaka

未読、
2009/02/04 7:04:422009/02/04
To: Android-SDK-Japan
高橋です。

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

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

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

#GL 周りは「エミュレータでは動いたのに...」ということが多々ありますよね。(^_^;;
全員に返信
投稿者に返信
転送
新着メール 0 件