ラベル libGDX の投稿を表示しています。 すべての投稿を表示
ラベル libGDX の投稿を表示しています。 すべての投稿を表示

2014年2月20日木曜日

x86のAndroidエミュレータでlibGDXを走らせてみた

Androidでのテストは「Nexus 7」の実機で行っているので,仮想環境は今のところ不要.
とはいえ,前のマシンで話にならなかったのがどの程度改善したかなと思い,仮想環境での動作を試してみました.

Atom仮想マシンを使ってAndoidを起動.ホーム画面やブラウザは結構スムーズに動く!

これはちょっと期待できるかもと思い,制作中のプロジェクトをx86向けにビルド.
libpdのpd-for-androidはx86向けのコンパイルオプションが最初から入っているので何も考えなくてOK.
libGDXは現在の安定板ではx86非対応ですが,タイミングの良いことに開発中のnightly buildがサポートを始めているので,ライブラリを最新のものに差し替え.ビットマップフォント表示の関数でバグが出ましたが,そこだけコメントアウトしてあっさり起動しました.



描画はせいぜい30fps.マシンパワーにはまだ余裕があるのでAVD側で間引いている気がします.音も一緒に間引かれたような感じで潰れた音になってますが,一応は止まらずに動いてます.取り急ぎのテストということで.

2014年1月17日金曜日

libGDX framerate drops problem

libGDX projectをAndroidで走らせると,一部の機種でフレームレートが落ちる問題.
AppのActivityスタート時は 30〜45fpsなんですが,
・端末をスリープ→スリープ解除する
・ホーム画面や別のAppに切り替えてから戻す
・音量を変更するなどしてDialogを出す
等の操作をすると,60fpsで安定する状態になります.

以前の動画↓で最初に音量を変更しているのも,実は上記の理由があったんですが(笑)



2013年10月18日金曜日

How to embed pd-for-android in your libGDX project

libGDX supports cross-platform game development.
It is very convenient in the case of using your PC as a test environment of a mobile game application.

When you set up cross-platform project using gdx-setup-ui.jar,
following project folders will be made.
  • my-gdx-project : core project, includes main sources, common libraries and interfaces
    • your sources are connected to libGDX
  • my-gdx-project-android : Android project, includes only Android specific implementations and native libraries
    • libGDX is connected to Android: OpenGL ES, touch input, etc
  • my-gdx-project-desktop : Desktop project, includes only Win/Mac specific implementations and native libraries 
    • libGDX is connected to Win/Mac: DirectX, OpenGL, mouse input, etc
libpd is a library to embed the Data-Flow programming language Pd(Pure Data) in our application programs. Additionally, in Android systems, libpd supports OpenSL ES audio API expected to reduce audio latency after Jelly Bean.

libpd needs platform-specific implementations. So if you want to use libpd in the cross-platform projects, it would be better to trace the same way as above libGDX connection.

2013年10月16日水曜日

libpdでパッチ開いて鳴ったわー

鳴ったぜ.

libpdのJNI側のソースコードやAudio glueとサンプルプログラムを見比べてたら形が見えてきた.

2013年10月3日木曜日

libGDXでシェーダやTweenなど

進捗.stackoverflow.comに出入りする日々です…

BG面

波打つタイルのポリゴンを作成.
各頂点には位置座標の他,色と面法線ベクトルを格納.

VRAM領域に2つのフレームバッファを用意し,普通の位置座標と色を使ったレンダリング画像Aと,法線マップのレンダリング画像Bをそれぞれ描きこむ.



2013年9月26日木曜日

やっぱり3Dは避けて通れなかった

映像的な面でのモチベーションとして,色々なデザインモチーフやVFX的効果を取り入れて動きを出し,画面いっぱいを使って楽しさを演出したいというイメージをもって進めています.

プログラマブルシェーダ使いたさ故にイキナリOpenGL ES 2.0で作り始めてるのは,そんな自分の中のイメージを楽に具現化できる機能というか可能性を感じるからで,全くGPUプログラミングの経験がない自分でも楽に試作を重ねられるGLSL Sandboxは大いに活用させてもらってます.

2013年9月16日月曜日

libGDXでOpenGL ES 2.0でシェーダ動いた

やればやるほど出口の見えなかったOpenGLでのグラフィック実装ですが,
libGDXを使いはじめてようやく軌道に乗ってきました.

libGDXはJavaベースでOpenGL ESを使ったゲームを作るライブラリですが,
マルチプラットフォームで開発できるので,PC上でもOpenGL ES 2.0で
テストができて超ラクチン.今までテスト環境に困ってたのは何だったんだ.

libGDXは,工程はラップせずに手段をラップする感じのフレームワーク.
ですので自由度がかなり高いと思われる一方,私のような初心者が触るには
敷居のほうも正直高い.
日本語のドキュメントはあんまりないので,主に海外のサイトを見て回って
使い方を覚える感じです.

OpenGLの使い方と並行して,キャラクターの書き込みプロセスや
状態遷移に関するメッセージの渡し方を考えてると,
何気にそれっぽくオブジェクト指向で書けてる気がしてきました,

で,とりあえずグラフィック面では「ここまで出来れば一段落」と思っていた
フラグメントシェーダの実装を形にするところまで辿り着きました.

先日の記事でGLSL Sandboxに投稿したエフェクト.