[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
基本的には普通にgl関数を呼ぶだけでいいみたいですが、いちおうメモ。
まず生成について。
GLSurfaceView.Rendererの継承関数内であれば正常に生成できます。
次に破棄、これも
生成と同タイミングで可能です。
プログラム |
public abstract class Scene { public abstract void Init(); // 初期化. ロードはしない. public abstract void Step(); // 毎ループの更新処理. public abstract void Draw();// 毎ループの描画処理. public abstract void Destroy(); // 全メンバ変数の解放 public abstract void DeleteTexture(); // Textureのみの破棄 public abstract void LoadResources( resources ); // 全リソースのロード public abstract void LoadTexture( resources ); // Textureのみのロード public abstract void TouchEvent( event ); // Androidの入力処理 } |
さて、簡単に画像が表示出来たところで何か1品作ってみています。
実際に使ってみないと処理に抜けがあったり不便な部分があったりしますからね。
必要なテストです。
2Dのみで表現できるカンタンな脱出ゲームでもいいですねぇ。
目的のないアクションゲームも最高な暇つぶしができそうです。
惜しむらくは私に絵心が全くなくて棒人間くらいしか描けない事ですね(笑)
さて、何を作るか悩みながらゆっくり暖まって寝たいと思います。
おやすみなさい。
作業に没頭していると全然記事を書こうっていう気分にならないんですよねぇ。
日記はすぐ無くしますし……。
基本的に記録するのに向いてないのかもしれないなぁ。
まぁ忘備録もかねてますんで続けますけどね。
さて、今日はAndroidのプログラムをずっとしてました。しかもEclipceで。
Unityでやったほうが楽なんでしょうけど、一回やってみたかったんですよね。
javaとOpenGLによる開発です。
OpenGL触ったことあんまりなかったんで
取り敢えず3つほどのサイト調べつつ
Android公式リファレンス広げてふむふむと進めていきました。
慣れてない言語は手探り感がひどいですね。(笑)
***
まず嵌ったのがByteBufferの作成です。
ByteBuffer.allocate関数を呼んで救ったBufferはGLに使用できないんですね。
ByteBuffer.allocateDirect関数を使わねばなりません。
じゃないとエラーです。これはうっかりミス。
またglEnableClientStateで許可をだした場合その要素のnullは認められないようですね。
ログにエラーが出続けました。
nullチェックぐらいしてもよさそうなものですが……。
それともチェックした上でエラーを表示してるのかな?
glDisable、glDisableClientStateで無効にした場合はその要素が適用されなくなるのですが、
設定したBufferやObjectは参照し続けます。GCの対象外になりそうで怖いですね。
うっかり外し忘れると解放を忘れたオブジェクトが残りそうです。
***
とまぁこんな感覚でずっといじってました。
普段なら気にならないでしょうが、でっかいBufferを外し忘れると
占有サイズが大きくなりそうで怖いですね。まぁ滅多にない、ということなの…かな?
それにしてもホットミルクが美味しい季節ですね。
ではおやすみなさい。
いやぁ飲み会で羽目を外し過ぎました。反省反省。
更新を忘れてメモリプール作ってたらもう出来上がっちゃったんですよねぇ。
どうしようかなこれ。
まさか1日で出来るとは思ってなかったので困惑中です。
マルチスレッドに対応してないけど
クリティカルセクションを導入すれば問題はない、と思います。
ある程度自由に拡張できるってとこが大事ですね。
いちいち書くの面倒だし
後でファイルあげておこう。
今日は久々に外に出たのでインスタントの飲み物を買ってきました。
スティックタイプのカフェオレとココアなんですが、
個人的にこの味が好きでつい買っちゃうんですよねー。
インスタントのコーヒーは
めちゃくちゃ甘ったるいものか
ちゃんと漉したもの(ドリップ式)のブラックか
じゃないと飲めないんですよね。
我ながら変な味覚してるなぁとは思いますが美味しんだから仕方ない。
そう、仕方ないのです。(強引)
あともつ鍋食べました。
あったまるー。
ではおやすみなさい。