投稿

2011の投稿を表示しています

クォータニオンによるボーンの回転

イメージ
クォータニオンとボーンについての解説は省きます。 クォータニオンを使って回転を合成し、ボーン1にはボーン1の回転が、ボーン2にはボーン1とボーン2の回転、ボーン3にはボーン1とボーン2とボーン3の回転を与えます。 これにより、人間の関節やロボットアームのような複雑な動きを表現する事が可能になります。 クォータニオンによる回転の合成は、クォータニオンの積の計算によって求まります。 ただしOpenGL ESの場合、クォータニオンのままでは座標変換が行えないため、クォータニオンを座標変換行列に変換する必要があります。 ※動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回し 全てのボーンが同じ原点を共有して回転してしまっています。 パタパタママ のようでもありますが、表現したい事はこれではありません。

OpenGL ES 2.0と1.1の処理速度を比較

イメージ
OpenGL ES 2.0と同程度の処理をES 1.1で実装し、処理速度を比較しました。 全く同じ処理をしているとは言えないため、厳密な比較ではありませんが。 ※端末はSC-01C 左がOpenGL ES 1,1、右がOpenGL ES 2.0です。 オブジェクトを200個描画し、秒あたりのポリゴン数を計測しました。TPSはtriangles/sec。 予想に反し、OpenGL ES 2.0の方が処理性能が高くなっています。 OpenGL ES 2.0がプログラムシェーダだからと言って、処理速度が見劣りするという訳ではないようです。 このテストは平行光源を一つのみ配置して行いましたが、OpenGL ES 1.1では最大8つライトを配置できます。 OpenGL ES 1.1で8つの平行光源を配置して測ったところ、このような結果でした。 少し処理速度が落ちています。 一方、OpenGL ES 2.0で光源を増やせば、処理速度が落ちるのは自明です。 つまりどちらを採用するにせよ、光源は少ない方が処理速度は上がる、という事になります。

OpenGL ES 2.0 test4(for Android)

イメージ
物体の質感を表現する。 ※動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回し   側面はペイントでベタ塗りしただけの手抜きです。 1つ目は拡散光のみを表現したモデル、 2つ目は環境光、拡散光、反射光を表現したモデルです。 反射光によって金属のような光沢感が表現され、絵がくるくる回るだけの状態よりは少しリアリティが増しています。 OpenGL ES2.0は、これらのシェーディング処理をシェーダプログラムで実装しますが、環境光と反射光のコードを追加した結果、フレームレートが60→40台に低下しました。 (動画は遅回しのため変化していません) 実際に追加したコードは僅か2、3行で、それも頂点シェーダ側です。それでもここまで速度低下を招くのは意外でした。 OpenGL ES 1.1よりも、上位のOpenGL ES 2.0の方が全てにおいて優れている、という訳ではないのかもしれません。同程度のシェーディング処理だとパフォーマンス的にどちかが優位なのか、比較検討する必要がありそうです。

OpenGL ES 2.0 test3(for Android)

イメージ
テクスチャを貼れるようにする。 ※動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回し   テクスチャとフラットシェーディングだけでもそれなりにリアルな絵になります。 繰り返し見てたら目が回りました。 カメラビューにこの矢印を重ねて、拡張現実的な道案内アプリなんてのもいいかもしれません。 更に空間認識技術で、GPSの測定誤差を補正してくれたり、 道路に誘導ラインが表示できるようになれば、地図アプリなんて不要になりそう。

OpenGL ES 2.0 test2(for Android)

イメージ
処理能力を確認するため、ポリゴン数の多いオブジェクトを表示する。 ※動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回し これでポリゴン数380。 60fpsを下回ってるので、既に処理能力の限界に達している事が分かります。 ただ高速化の手法は使ってないので、実際はもっと処理能力を高められるはずです。   当初は数万ポリゴンのオブジェクトを作成したものの、定数データが多すぎてコンパイルエラー。 これはAndroidというより、Java自体が65,536バイト以上の定数データを扱えないようです。 1000ポリゴン程度でもこの上限に引っかかるため、ちょっと複雑なオブジェクトになるとソースにデータを直接埋め込むようなお手軽方法は使えない、という事になります。

OpenGL ES 2.0 test1(for Android)

イメージ
OpenGL ES 2.0(for Android)の学習を始めました。 まずは、立方体をフラットシェーディングで表示する。 サンプルプログラムをちょっと変えて楽しようと思いましたが、手こずったので最初からプログラムを組みました。 動画キャプチャの都合上、端末(SC-01C)で遅回しして編集で早回しです。 参考文献。 巻末のAndroid用プログラムはES 1.0用ですが、サイトからES 2.0用プログラムがダウンロードできます。 ES 2.0に関してはまだネットの情報が少ないのでもっと書籍が欲しいところです。 Open GL ES 2.0 プログラミングガイド posted with ヨメレバ Aaftab Munshi ピアソン桐原 2009-11-01 Amazonで最安値を探す 楽天ブックスで最安値を探す 7netで最安値を探す bk1で最安値を探す ブックオフで最安値を探す e-honで最安値を探す 図書館で探す

HomeCompass::Update Ver.1.0.6

Ver.1.0.6版を公開しました。 方位センサ異常を無視する設定にすると、方位センサ異常を通知するメッセージが表示される不具合を修正しました。

HomeCompass::Update Ver.1.0.5

イメージ
Ver.1.0.5版を公開しました。 ・ コンパスのオーバーレイ表示 ホームコンパスを、他のアプリの上に重ねて表示できるようになりました。 目標の方向を確認しつつ、他のアプリを操作できます。 ※Googleマップ上に重ねて表示

Study Timer::0.9.0.15リリース

イメージ
時刻に秒表示を追加しただけです。 大きさが変更できて、秒が表示できるデジタル時計ソフトが必要だったんですが。 探したんですが見つからなかったので、自分のソフトを修正して使っています。 Vectorよりダウンロードできます。

HomeCompass::Update Ver.1.0.4

イメージ
Ver.1.0.4版を公開しました。 ・方位磁針の追加 設定でONにすると、左下に小さく表示されます。 矢印の方向がおかしいと感じた時は、方位磁針を表示して 正しい方位を指しているか確認してみてください。 狂っている場合、近くに磁気があるかセンサーの調整不足が考えられます。 なお本アプリは真北を基準にしていますので、永久磁石の方位磁針が示す磁北とはずれがあります。

HomeCompass::Update Ver.1.0.3

Ver.1.0.3版を公開しました。 ・安定性の向上 ・描画が遅い場合、矢印サイズをリセット 矢印が大きいと、動作が重くなって操作を受け付けなくなる 不具合があったため、対策を行いました。 タブレットなど大画面タイプのAndroidでも、安定して動作すると思います。

Study Timer::0.9.0.14リリース

Ver.0.9.0.13でバグが発見されました。 反復回数が2以上の項目で、作業開始のログ記録が1回しか行われません。 これにより、反復2回目以降の作業時間が集計されなくなってしまいます。 このバグの修正版は以下よりダウンロードできます。 Vectorは差し替え申請中です。 http://hp.vector.co.jp/authors/VA048156/ Ver.0.9.0.12以下、または反復回数が1の項目であれば、このバグは発生しません。

HomeCompass::Language

誤訳、他言語サポートについての要望などはこちらへコメントしてください。 Mistranslations and other language support requests, please comment here.

HomeCompass::Update Ver.1.0.1

Ver.1.0.1版を公開しました。 PC版のAndroidマーケットの説明が更新されていないようです。 更新内容は以下のとおりです。 新しい機能: ・99まで場所を登録できるようにした ・現在地を登録できるようにした ・矢印の最大サイズを指定できるようにした ・距離に関係なく、GPS更新間隔を最短に設定できるようにした バグ修正: ・住所検索時のフリーズ ・矢印が欠ける不具合 自宅に限らず、複数の場所を登録できるようになりました(お気に入り登録)。 勤務先・旅行先の、避難場所や最寄駅などを予め登録しておく事ができます。 現在位置を離れて、また現在位置に戻ってくる必要があるときは、 現在地の登録機能が役立ちます。 矢印の最大サイズ指定は負荷対策です。 大画面タブレットでは、矢印が大きく表示され動きが重くなってしまいます。 動きが重いと感じたらサイズを小さくしてみてください。 初心者が戸惑わないよう、新しい機能はデフォルトでOFFになっています。 設定で機能をONにするとボタンが表示され、新しい機能が使えるようになっています。

Home Compass::English

イメージ
(日本語) Home Compass (for Android) support homepage. Your feedback, please comment to: ・Language support -> here ・Other -> here ・ Overview ・ Use situation ・ Download ・ About Geomagnetism sensor ・ About power consumption ・ About input of the address ・ How to use the favorites feature ・ How to use "set target on the current location" ・ Supplements on the preference screen ・ Supplements on the main screen ======================================== ★Overview ======================================== It's a compass for going home (or refuge) at disaster outbreak. This software determines current position only in a GPS satellite and is not affected by the network obstacle. This software is not many functions so that anyone is easily usable. Arrow shows the direction it is easy to see even smaller screen. A flashlight and an SOS light features are attached. ======================================== ★Use situation ======================

Home Compass::Comment

ホームコンパスについてのコメントはこちらへお願いします。

Study Timer::Comment

Study Timerのコメント用ページです。