Ruby+Ruby/SDL+ruby-openglつづき
というわけで、Ruby話つづきです。
先日のレスにあった、GL_TEXTURE_RECTANGLE_EXTはまだ触っておりませんOTL
ところで、ただいま、回転のテスト中。最初、glOrthoを使って並行射影でやっていたので、奥行きを持った回転(ちょっとマテ。それもう2Dやないやろ!) を考えていました。
というわけで、Glu.gluPerspectiveとGlu.gluLookAtを使って透視射影に変更!
# w=640 # h=480 gluPerspective(30.0, w/h, -1.0, 1.0) gluLookAt(w/2,h/2,-899.0,w/2,h/2,0.0,0.0,1.0,0.0)
試行錯誤の結果、並行投影と同じような見た目にするには、カメラ視点のz位置が-899という微妙な位置になきゃならない。三角関数(三平方の定理)使ったとしても、せいぜい480くらい。なんで2倍以上の位置になるのか、未だに理由が分からんOTL
説明できる方、お願いいたします…。