OpenGL による2Dの表示でジャギーが目立つ

640 views
Skip to first unread message

大貫

unread,
Aug 29, 2013, 12:24:55 AM8/29/13
to android-g...@googlegroups.com
書籍「Android ゲームプログラミング A to Z」を参考にしながら、OpenGLによる2Dゲームを作成しています。

デバック用端末として、IS12S(解像度 720 x 1280) を使用しています。
720 x 1280 の画像を表示しようとしているのですが、かなりジャギーが目立ちます。

最初は、こんなもんかなーと思っていたのですが、他のアプリを見ると、OpenGLを使用していると思われるアプリも、はっきりグラフィクスが表示されています。

この違いはどこから来るのか、お教えください。
お願い申し上げます。

Hirokazu Fukami

unread,
Aug 29, 2013, 1:16:35 AM8/29/13
to android-g...@googlegroups.com
こんにちはfkmです。

想像なのですが、テクスチャーとして使用している画像の1辺の長さが
2のn乗以外になっていたりしませんか?

2013/8/29 大貫 <techb...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
-------------------------------------------------------------
深見 浩和(Hirokazu Fukami)

URI:http://www.fkmsoft.jp
email: f...@fkmsoft.jp

Hiroaki GOTO as GORRY

unread,
Aug 29, 2013, 1:20:16 AM8/29/13
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

「ジャギーが目立ち」「はっきりグラフィクスが表示されて」と
いうのは感覚的でわかりにくいので、比較可能なスクリーンショット
(の当該部拡大)などを例示しておくと、回答しやすくなるかと
思います。


In message <b7841f5a-0f5a-40cb...@googlegroups.com>
"[android-group-japan: 24215] OpenGL による2Dの表示でジャギーが目立つ"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL: gorr...@gmail.com

大貫

unread,
Aug 30, 2013, 12:27:02 PM8/30/13
to android-g...@googlegroups.com
fkm様、大貫でございます。ご返信ありがとうございます。

テクスチャーのサイズは2048x2048, 1024x1024, 512x512 と試してみましたが、あまり関係ないように見えました。
もっとも2048x2048,とか大きいサイズのテクスチャーを、一般的にサポートしているかわかりませんが。


On Thursday, August 29, 2013 2:16:35 PM UTC+9, fkm wrote:
こんにちはfkmです。

想像なのですが、テクスチャーとして使用している画像の1辺の長さが
2のn乗以外になっていたりしませんか?

2013/8/29 大貫 <techb...@gmail.com>:
> 書籍「Android ゲームプログラミング A to Z」を参考にしながら、OpenGLによる2Dゲームを作成しています。
>
> デバック用端末として、IS12S(解像度 720 x 1280) を使用しています。
> 720 x 1280 の画像を表示しようとしているのですが、かなりジャギーが目立ちます。
>
> 最初は、こんなもんかなーと思っていたのですが、他のアプリを見ると、OpenGLを使用していると思われるアプリも、はっきりグラフィクスが表示されています。
>
> この違いはどこから来るのか、お教えください。
> お願い申し上げます。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com
> にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

大貫

unread,
Aug 30, 2013, 12:38:43 PM8/30/13
to android-g...@googlegroups.com
GORRY様、大貫でございます。ご返信ありがとうございます。

スクリーンショットの件、了解いたしました。
アップローダーに画像をアップして、そこのリンクを張る感じでいいのでしょうか?
画像を採取でき次第、張りたいと思います。
取り急ぎ、お礼、申し上げます。


On Thursday, August 29, 2013 2:20:16 PM UTC+9, GORRY wrote:

後藤 浩昭(GORRY)です。

「ジャギーが目立ち」「はっきりグラフィクスが表示されて」と
いうのは感覚的でわかりにくいので、比較可能なスクリーンショット
(の当該部拡大)などを例示しておくと、回答しやすくなるかと
思います。


  "[android-group-japan: 24215] OpenGL による2Dの表示でジャギーが目立つ"
  "大貫 <techb...@gmail.com>" wrote:

> 書籍「Android ゲームプログラミング A to Z」を参考にしながら、OpenGLによる2Dゲームを作成しています。
>
> デバック用端末として、IS12S(解像度 720 x 1280) を使用しています。
> 720 x 1280 の画像を表示しようとしているのですが、かなりジャギーが目立ちます。
>
> 最初は、こんなもんかなーと思っていたのですが、他のアプリを見ると、OpenGLを使用していると思われるアプリも、はっきりグラフィクスが表示されています。
>
> この違いはどこから来るのか、お教えください。
> お願い申し上げます。
>
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-japan+unsubscribe@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-group-ja...@googlegroups.com にメールを送信してください。

大貫

unread,
Aug 31, 2013, 10:34:51 AM8/31/13
to android-g...@googlegroups.com
大貫です。お世話になっております。

スクリーンキャプチャを取りました。
原画と、IS12Sで表示した際のスクリーンキャプチャ(一部)です。

かなり、実機で取得した画像がぼやけているのがわかります。
何がいけないか、心当たりのある方は、お教えくださるようお願い申し上げます。
screen1.png
screen2.png

Hiroaki GOTO as GORRY

unread,
Aug 31, 2013, 11:19:08 AM8/31/13
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

「screen1.pngを50%に縮小したあと、200%に拡大する」と、screen2.pngの
画像になります。つまり、原画を実画面に表示するまでの処理のどこかに
「50%縮小」が入ってしまっているのが原因です。

・原画を実機用テクスチャデータに変換する際に50%縮小されてしまっている。
・「実画面の50%サイズのFBOにレンダリングしたバッファ」を実画面に
200%拡大表示している。

他にもいろいろ考えられますが、とりあえず。


In message <e5cf5047-4156-4615...@googlegroups.com>
"[android-group-japan: 24272] Re: OpenGL による2Dの表示でジャギーが目立つ"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。

kentarou mukunasi

unread,
Aug 31, 2013, 11:24:36 AM8/31/13
to android-g...@googlegroups.com
こんばんわ

Android ゲームプログラミング A to Z を参考とのこと。

本に載ってるサンプルプログラムのテクスチャーのみを張り替えて確認してみては?
と思います。

テクスチャーのサイズを縮小方向になるように大きめにするとギザギザは出ません。
2048x2048のテクスチャーはIS03の古い端末でも表示可能です。


2013年8月31日 23:34 大貫 <techb...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
/***
* 椋梨 健太郎 http://twitter.com/#!/mk18
*/

大貫

unread,
Aug 31, 2013, 11:53:41 AM8/31/13
to android-g...@googlegroups.com
後藤 浩昭(GORRY)様、大貫でございます。
早速のご返信、まことにありがとうございます。

-----------------------------
・原画を実機用テクスチャデータに変換する際に50%縮小されてしまっている。 
・「実画面の50%サイズのFBOにレンダリングしたバッファ」を実画面に 
  200%拡大表示している。 
----------------------------

上記の件、了解いたしました。
フレームワークに上記の処理をしていないか、今一度、見直してみます。


On Thursday, August 29, 2013 1:24:55 PM UTC+9, 大貫 wrote:

大貫

unread,
Aug 31, 2013, 1:23:26 PM8/31/13
to android-g...@googlegroups.com
椋梨 健太郎 様、大貫でございます。
早速のご返信、ありがとうございます。

書籍「Android ゲームプログラミング A to Z」のプログラムでは512x512のテクスチャーを使用しています。
原画を、そのテクスチャーに収まるようにリサイズした後、テクスチャーに張り付けると、ジャギーなしで表示されます。

私がテストしていた時は、720x1280の画像を、2048x2048のテクスチャー.に張り付けて、表示をしていたのですが
この際はジャギーが出ていました。
私の認識では椋梨様と同じように、縮小(または等倍)時はジャギーが発生しないと思っていたので、悩んでしまいました。
上記書籍に載っているフレームワークは、512x512のテクスチャーを使用することを前提に設計されているのかもしれません。

ただ、512x512のテクスチャーに収めるようにするためには、原画の一部を切り捨てて、なおかつ解像度を落とさねばなりません。
手元の、Nexus10(解像度 2560x1600)で表示すると512x512のテクスチャーに張れるサイズでは、解像度不足のようです。

今一度、フレームワークを見直してみます。



On Thursday, August 29, 2013 1:24:55 PM UTC+9, 大貫 wrote:

Hiroaki GOTO as GORRY

unread,
Aug 31, 2013, 2:02:27 PM8/31/13
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

・当該書籍を読んでいませんが、「512x512px以上の寸法の画像は512x512px以下に
スケールして読み込む実装」になっていませんか?

・ある程度以上寸法の画像は、テクスチャとして持つ場合は1枚で持つと
メモリ効率に問題が出ることがあります。たとえば1280x720pxの画像であれば、
「256x256pxのテクスチャで横5×縦3=15枚に分割して持つ」などの実装を
して解決します。


In message <06a02597-43f0-4c62...@googlegroups.com>
"[android-group-japan: 24276] Re: OpenGL による2Dの表示でジャギーが目立つ"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、android-group-j...@googlegroups.com にメールを送信します。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
Reply all
Reply to author
Forward
0 new messages