2011年9月30日金曜日

Assetsフォルダにアンダーバーから始まるファイルを置いてはいけない

はまった! 超ハマったので、殴り書きだけど記述しておく。

Androidでファイルを直接読み込みたい時にAssetsに入れておいて、

getResources().getAssets().open(filename);

って感じなんだけど、なんと、このfilenameはアンダーバーから始まるファイルはFileNotFoundException が飛んでしまうのだ。 なーーーんじゃそらー!!!!!!!!

アンダーバーから始まるファイルなんて普通じゃねぇか・・。 なんだこのうんこ仕様は・・・。

2011年9月19日月曜日

AndroidGameBaseのソース

ちょいちょいと整形してここに貼り付けてーーーってやってたんですが、複数クラスが絡みあってる部分が多くて無理があるので、全部アップロードしてみました。

本当はgoogle codeとか使えば良いような気もするんだけども。 なんかよくわからなかったので
axfcさんところに。

とーいっても、まだまだ作り途中なんですけど。

しかもコレだけ渡されても使い方分からないかもですが。 まぁ、なんかしらのヒントにはなるのかなーとか。
傾きセンサーあたりがまだ微妙なので修正中です。

それでは、良いandroidライフを。

2011年9月8日木曜日

フィードバックブラー

GREEのスマホゲームで、「ぶっとびハリー」って物理演算系の・・・
なんというか、「ア○グリーバードのパクリ」みたいなゲームがあるんですが、そのゲーム内で
シーンが切り替わる時に、なんかカッコイイエフェクト(前の画面が残像で残る感じ。 きっと加算合成)
ぽいのをやっているのです。

これは、俗にいうフィードバックブラーってやつですな。
いいなぁ。 ローコストでそれなりのエフェクトに見えるなぁ。


・・・・ということで。 DirectXで言うところのRenderTargetの切り替え。 OpenGLだとFrameBufferObjectで、フィードバックブラーのテストをしてみた。


方法としては、1フレーム前の画面キャプチャをちょっと薄くして重ねて、またキャプチャしておくーーってやつです。

ついでに、回転や拡大したものを重ねてあげるようにすれば派手になりますな。 もちろん見づらくなりますが。

ソースについては、また今度ー。

2011年7月13日水曜日

今更法線付けました


キューブを横10縦10奥行き10で1000個描画です(わざとバラつかせている)。

ちなみに、これは以前「弱い」と紹介したa9pad(別名opad renesas、さらに別名 N71 もうわけわからん。)で描画してます。

うーん。そこそこ出ているじゃないか。
と・・・。いうか・・・。

実は何の工夫も無しに負荷テストをやってみると、a9padの方がIconia TAB A500 よりFPSが高かったりします。

しっかり調べてないんですが、想像するにもともとの解像度が高い故に起きているんじゃないかと。
glViewportとかで機種毎の解像度の差を吸収しようとすると、この現象が起きると思う。
例をあげると、FF14ベンチでLow(1280x720)とHigh(1920x1080)をごっちゃにするようなもん。
なので、条件を一致させなきゃベンチマークとしての正当性が無くなっちゃうよなぁ。

解決案としては、同じサイズのFBOを作成して、FBOから取ってきたテクスチャを全画面にして描画・・・かなぁー。

もちろん、FBOを全画面に広げる際のコストは解像度によってかわるけどー。 まぁ、それは誤差レベルだと信じたい。

2011年7月6日水曜日

Iconia A500のスペックテストで3D描画をしてみた。


1体3600ポリ(3角)のグラドリエルたんを25体表示(色はランダムで乗算)テストでFPSは見ての通り13fps。
ふむん。 

3600x25=90000ポリ? いや、でも行列セットのコストとか、カラーリングとか、テクスチャ切り替えとかあるから、単純にそうも言えないんですよね。

まぁ、でも、速い。 僕の持っている端末の中では当然ダントツ。

でも、あんまりスペックの高い端末で開発しても意味ないんだよなぁ。 低スペックの端末を切り捨てる気が無い限りは。

Iconia A500 も購入

というわけで、既にAmazonでポチっていたIconia A500が4日に届きました。 

まぁ、ゲームがプリインストールされてたりするんですが、まったくもってスルーして、PCとデバッグ接続。 俺に開発させてくれぃーーー!

AcerのHPにUSBドライバがあるらしいんですが・・・。 必要なの?例のごとく、今のUSBドライバのinfファイル書き換えるだけで行けるんじゃないの?

っちゅーことで、


android_winusb.inf

[Google.NTx86]
の下に

;Iconia Tab a500
%SingleAdbInterface% = USB_Install, USB\Vid_0502&Pid_3325
%CompositeAdbInterface% = USB_Install, USB\Vid_0502&Pid_3325&MI_01


を入力して、ドライバ当てたらサクっと認識しました。
記念SS

うーん。 しかし、A9Padの出番がほとんどなくなるぞ・・・こりゃ・・・。
まぁ、でもあれだ。 ブルートゥースのテストとかで活躍してもらおう。

2011年6月28日火曜日

a9pad とやらを買ってみたんだけど

正式名称がopad renesas なんだか、a9padなんだかよくわかりませんが、値段とマルチタッチ対応ってところで、開発の手助けになるかなーと思って買ってしまいました。(実はIconiaA500もポチり済みなのに、物欲センサーに負けた・・・)

んで、結果から言えば

「買わなくても良かったんじゃないかな!?」

っていう出来。


いや、普通に使う分にはいいのかもですが、開発機としてはかなり微妙。
一番愕然としたのは、加速度センサーが整数でしか返ってこない事かなぁ。
何の冗談かと思ったけど、本当です。なんか-16~16までの整数が帰ってくるっぽいです。

深度バッファもなんかヤバいのか、まだしっかりテストしてないけど、スカイボックスが表示されないのは何故だろう(その他IS01やLiftTouchNote,MEDIASなどではでてる)

あと、デュアルコアで1Gって書いてあったんだけども、これって、1コアが500GHzで足して1GHzって事なのかなぁ。
なんか弱い。具体的には言えないけど、なんか弱い

そして、メーカーが存在しないので、最新ファームがどこにあるのかさっぱりわからないのも難点です。

まぁ、価格相応っちゃー相応なのかなぁーーーー。