ARGENTO CUORE

 May the code be with you.

--.--.--[--] スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2009.12.31[木] AndroidOpenGLはじめました

android_opengl.png

約4年ぶりにOpenGLを触ったこともあってか、というよりOpenGLではなくてOpenGLESなので、GLにあった機能が使えなかったりして色々戸惑う今日この頃……4年ぶりに元カノに再会したときの戸惑いと似ている(そんな経験はない)。

とりあえず、ポリゴン→表示、アニメーション、テクスチャ貼り付けまで完了。
デフォルトでは正射影のため、透視投影にしようと

gluPerspective,gluLookAt

を使おうとしたんですけど、授業でOpenGL勉強して、その後も独学で勉強してたハズだったのにハマりました。
今までなんとなく過ごしてきて上手くいってたので大して疑問に思わず……のうのうと生きてきてごめんなさい。

ハマった点は、gluLookAtの挙動。
gluLookAtは視点の位置、注目する座標の位置、X,Y,Zのどの軸を上方向に定めるかを設定します。
で、一度設定すれば問題ないと思ってたんですけど、これがどうやら違う。

OpenGL1.3のリファレンスを読むと、カメラというものは動かないと書かれており、
gluLookAtに設定した値は、実際には3Dのオブジェクトに対して掛け合わされる感じ。
カメラが10ポイント移動するわけではなく、全てのオブジェクトを逆に10ポイント移動させてる。

だから、gluLookAtを使用するときには、GL_MODELVIEWにセットしておかなければならない。
さらにOpenGLの座標変換は蓄積されないので、毎描画ごとにgluLookAtで設定しなければ
カメラの位置はリセットされてしまう。

らしいです。たぶん。英語苦手だー。


NetBeans6.7.1 + jViで作業してると、なぜかエディタがまったく反応しなくなるのでvim+コマンドラインに戻ったんですけど、コンパイルはまだ良いとして、エミュや実機に転送するのとかが面倒です。

どうしたらいいかなー……。
スポンサーサイト

Comment






(編集・削除用)


管理者にだけ表示を許可

Trackback

http://ronor.blog81.fc2.com/tb.php/23-94233b4e

この記事にトラックバック(FC2Blog User)

Scala Feed

scala feed

FC2カウンター

プロフィール

RoNor

Author:RoNor
得意呪文はScalaですって言えるようになるのが夢です。
デスマーチ中、パーティメンバーの防御力を向上させたりさせなかったり。

検索フォーム

QRコード

QRコード

Copyright © 2009-2010 ARGENTO CUORE and RoNor All rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。