DXUTでggr
>>948 初期化に関してはD3Dより微妙に楽…かも
すいませんおかしな質問なのかもしれないのですが
常に視線方向に向いたポリゴン(ビルボード)を積み重ねて描きたいのですが
回転は視点が動くことで実装しようと思っています。
それで気になったのですが
1 視点が動くたびに、積み重なったポリゴンを再描画するのと
2 視点の回転に合わせて、積み重なったポリゴンも一緒にこっち側を向いたまま回転してついてくるの
どちらの方が高速なのでしょうか
後者の方が行列を掛け合わせるだけだと思うので速いと思うのですが
ビルボードなので、テクスチャもそれにあわせて動いてくれるかが少し気になります。
>1 視点が動くたびに、積み重なったポリゴンを再描画するのと
いずれにしろ毎フレーム画面全体を再描画してるはずでは?
>2 視点の回転に合わせて、積み重なったポリゴンも一緒にこっち側を向いたまま回転してついてくるの
そもそも、常に視点方向を向くポリゴンのことをビルボードっていうはずだよね
>どちらの方が高速なのでしょうか
どちらっていうか、1と2はどのへんが対立するので?
>ビルボードなので、テクスチャもそれにあわせて動いてくれるかが少し気になります。
それに合わせて動くってどういう動き方?
全体的に意味がわからん
956 :
925:2007/09/19(水) 16:58:25
今更ですが法線ベクトルの設定に問題がありました
>>926さんありがとうございました
>>955 わかりにくくてすみません
ポリゴン再描画→ vertex(dx, dy, dz)のように視点が動くたびに頂点位置を指定して
再度ポリゴンを描くということです。
2以降は仰るとおりです。わけわからなくてすみません。
2のときは頂点位置を指定してポリゴン描かないの?(゚_。)?(。_゚)?
仰る通り OpenGL は描画以外のことは関知しない。
そもそも、OpenGL そのものにはキーとかマウスとかいった概念自体がない。
フルスクリーンとかウィンドウ表示とかいったことも範囲外。
単純に描画の部分しか扱わないので、それ以外はすべて OS 依存になる。
具体的には、Windows ならウィンドウメッセージを処理して IMM を叩く、
Mac なら NSTextInput プロトコルを実装する、Linux なら XIM を触る、
・・・といった感じになるかと。
個人的な経験で言うと、IME の制御は環境差が結構あって、
その差異を吸収しようとすると、わりと面倒かった記憶がある。
OS に依存したくなければ、Anthy みたいなフリーの IME を拾ってきて
自分のプログラム内に組み込むっていう方法もあるけど、どうだろうかね。
SDL-IMを使うとゆー手もあるけど、別スレで同じこと答えてる人がいるから
そっちにまかせた
IME と関係ないことだが、マルチプラットフォームに展開するつもりなら
Mac のマウスはワンボタンだという衝撃の事実を忘れずに UI 設計してもらいたい。
よろしく。
今はMacも右クリックあるんだよな
オレは1ボタンのマウス使ってるけどなー
964 :
デフォルトの名無しさん:2007/09/20(木) 13:27:42
マウスはワンボタン(笑)
むしろ
「SGのワークステーションは3ボタンマウスしかありませんが何か?」
くらいの勢いで設計して欲しい
Win32アプリケーションでglutを使わずにOpenGLを動かす方法を勉強をしようと思っているのだけど
参考になるサイトとかってありますか?
>>966 OpenGL WGL で検索するといろいろ見つかると思う
>>967 WG・・・L・・?
いろいろ調べてみます
ありがとうございました!
むしろキーボードしかなかったり、マウスしかなかったり、
カーソルキーが無かったり、マウスボタンが一つだったりホイールが無かったりする環境を考慮して、
どんな環境でも操作できるようにしておくといいよね。
まあどんな場合でも切り捨てって必要よね
971 :
759:2007/09/20(木) 21:07:18
>>960 体験談参考になります。ありがとうございます。
マウスとキーボードが無い環境となると
ふむ
パンチカード?
きっとタッチパネル
コンピュータが無い場合も考慮すべし。
脳内レンダリングの出番だな
こっちは超初心者用だから、俺こっち継続して欲しい
こっちの方が質問しやすいって人もいるでしょうね
俺みたいなへたれさんとかね
981 :
デフォルトの名無しさん:2007/09/23(日) 09:59:06
死んで
お前が死んで
はい
素直すぎですwww
こsで
OpenGL APIのリファレンスって何処にあるんですか
GLUTはすぐに見つかるのに
990 :
デフォルトの名無しさん:2007/09/26(水) 18:39:30
画面全体を揺らすという効果を実装したいのですが、よい方法をご享受下さい。
画面に最終的に表示するときに、座標をそれぞれ、加算するという方法が、
まずうかびますが、どうもスマートではありません。
一度普通にバックバッファにレンダリング
↓
glCopyTexSubImage2Dでバックバッファイメージをテクスチャにコピー
↓
テクスチャをスプライトとして表示して動かしまくりんぐ
↓
完
992 :
990:2007/09/26(水) 18:58:22
適当にやったらできてしまった。
glPushMatrix;
glTranslatef(x, y, 0);
:
//描画処理
:
glPopMatrix;
これができたのは、たぶん、2Dスプライトしかないせい・・・。
>>991 3Dの場合、そっちの方が定番なのかな?
カメラ揺らすだけでもおk
994 :
990:2007/09/26(水) 20:17:18
>>993 後学のために、カメラ操作の方法をしりたい・・・
gluLookAt の 特定の引数の座標だけを変えるようなことってできるんだろうか
?
できるだろそりゃ
単に gluLookAt の centerX〜Z を上下左右前後に揺らすってことではないかな
997 :
990:2007/09/26(水) 20:35:15
>>996 そのとおりです
調べましたが、
結局、gluLookAt は、パラメータに応じて、計算して、行列を設定しているだけですから、
適当に、glTranslatefなりなんなりで、ずらすのと変わらないんですね。
ありがとうございました。
お
とった
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。