OpenGLでお絵かきアプリ制作中で困っています。

723 views
Skip to first unread message

Mazzi

unread,
Jan 10, 2013, 7:26:10 AM1/10/13
to android-g...@googlegroups.com
初めましてMazziと申します。
どなたかご助言お願いいただけないでしょうか。

OpenGLでお絵かきアプリ制作中です。
onTouchEventで取得した座標に点(の様なテクスチャ)を描画し,点の間の空間は点を並べて埋めています。
このとき,onTouchEventの度に今まで描いた点が点滅している様に描画されます。
いったん指を話しても,今まで描いた点は表示されていないだけで情報は残っているらしく,再度描き始めると,今まで描いた点が再度点滅します。
よく見ると,点滅は3枚のViewが順番に表示されているように思えます。(3パターン表示されているのは間違いありません。)

ここ一ケ月ほどいろいろ試したのですが解決できず,プログラムを公開しようにもどの部分を公開すればよいかすら分かりません。
どなたか解決方法をご存知の方はいらっしゃいませんか?

Tank2005

unread,
Jan 10, 2013, 7:42:18 AM1/10/13
to android-g...@googlegroups.com
glClearColorおよびglClearをonDrawFrameが呼び出されるたびに実行していますでしょうか。

私も2D描画のためにOpenGLを使っているのですが、いつのまにやらシェーダーまで学習する羽目に。OpenGLは茨の道です。

Mazzi

unread,
Jan 10, 2013, 7:46:07 AM1/10/13
to android-g...@googlegroups.com
Tank2005様
早速のお返事ありがとうございます。
glClearColorは白紙に戻すときのみ使用しております。
また,念のためすべてのglClearColorはコメントアウトしてもダメでした。

ほんとに茨の道ですね。


2013年1月10日木曜日 21時42分18秒 UTC+9 Tank2005:
glClearColorおよびglClearをonDrawFrameが呼び出されるたびに実行していますでしょうか。

私も2D描画のためにOpenGLを使っているのですが、いつのまにやらシェーダーまで学習する羽目に。OpenGLは茨の道です。

Tank2005

unread,
Jan 10, 2013, 8:09:08 AM1/10/13
to android-g...@googlegroups.com
glClearを呼びださないと古い描画データが呼び出されてちらつきの原因になるので、フレーム描画のたびに常にglClearしてから必要なテクスチャーを全て貼るように修正してみてはいかがでしょうか。

Hiroaki GOTO as GORRY

unread,
Jan 10, 2013, 8:34:31 AM1/10/13
to android-g...@googlegroups.com

後藤 浩昭(GORRY)です。

OpenGLの表示バッファは「描き捨て」です。
以前の描画内容が残ることは保証されていません。

「以前の描画内容に描き足す」ような使い方をする場合は、
表示用とは別に描画内容を保持し続けるバッファを確保して、
そこから表示バッファへ都度転送するようにします。
「フレームバッファオブジェクト(FBO)」などで調べるとよいかと。


In message <4f4a2c89-86c0-4510...@googlegroups.com>
"[android-group-japan: 21568] Re: OpenGLでお絵かきアプリ制作中で困っています。"
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msg/android-group-japan/-/34_ncZua5T8J にアクセスしてください。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>



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

Mazzi

unread,
Jan 10, 2013, 6:22:21 PM1/10/13
to android-g...@googlegroups.com
Tank2005様

お返事ありがとうございます。
確かに現状では,onDrawFrameでglClearは行っていないので,onDrawFrameでglClearを前提に組み替えてみます。


2013年1月10日木曜日 22時09分08秒 UTC+9 Tank2005:
glClearを呼びださないと古い描画データが呼び出されてちらつきの原因になるので、フレーム描画のたびに常にglClearしてから必要なテクスチャーを全て貼るように修正してみてはいかがでしょうか。

Mazzi

unread,
Jan 10, 2013, 6:28:23 PM1/10/13
to android-g...@googlegroups.com
後藤 浩昭様

お返事ありがとうございます。
ご指摘通り,描画内容を保持し続けるバッファへの転送という仕組みにはなっておりませんでした。
調べて改善してみます。


2013年1月10日木曜日 22時34分31秒 UTC+9 GORRY:
Reply all
Reply to author
Forward
0 new messages