FPSを作ってみる@wiki
06)
最終更新:
slice
-
view
(2011/06/06)
取り急ぎ
いや,別に何か急いでるわけではない.このまま記事を書かないとまたずるずると行ってしまいそうなのでとりあえずという意味.
unicodeの話はもう少し続きがあるがそれはまた後ほど.
unicodeの話はもう少し続きがあるがそれはまた後ほど.
ベクトルや行列のクラスは今まで自分用のを用意しておらずD3Dのクラスをtypedefして使っていたのだが
ここに来て自分用のベクトル&行列クラスが欲しくなった.
というのもD3Dには行列クラスは4x4しか存在しないので例えば「4列目は透視変換にしか使わないから,メモリと計算負荷を抑える為に普段は3x4行列で計算したい」だとか
「2Dゲームや平面的な当たり判定をするのに2x2あるいは2x3行列があれば便利だ」「3x4行列同士の掛け算(4列目は[0,0,0,1]と見なす)をしたい」
なんていう要望が出てくると既存クラスだけでやりくりするのはキツい.
ここに来て自分用のベクトル&行列クラスが欲しくなった.
というのもD3Dには行列クラスは4x4しか存在しないので例えば「4列目は透視変換にしか使わないから,メモリと計算負荷を抑える為に普段は3x4行列で計算したい」だとか
「2Dゲームや平面的な当たり判定をするのに2x2あるいは2x3行列があれば便利だ」「3x4行列同士の掛け算(4列目は[0,0,0,1]と見なす)をしたい」
なんていう要望が出てくると既存クラスだけでやりくりするのはキツい.
行列っていったら3Dの基本だからライブラリも山ほど存在すると思うが
小難しい計算ならともかくそこまで人様に頼っていたらプログラマとしてどうなん?
山ほどあるなら皆自分で書いてるという気もしたので
大したコード量でもなし,自作してみた.
(途中からテンプレート使って凝りだしたせいで3日程浪費したが!お陰でコンパイラの最適化の傾向が少しわかった)
もちろんD3DのAPIはD3DXMATRIXしか受け付けないから互換性を持たせる.
というか行列のデータ構造なんて十人が書けば十人同じになるような物であるから基本的にキャストするだけだけど.
小難しい計算ならともかくそこまで人様に頼っていたらプログラマとしてどうなん?
山ほどあるなら皆自分で書いてるという気もしたので
大したコード量でもなし,自作してみた.
(途中からテンプレート使って凝りだしたせいで3日程浪費したが!お陰でコンパイラの最適化の傾向が少しわかった)
もちろんD3DのAPIはD3DXMATRIXしか受け付けないから互換性を持たせる.
というか行列のデータ構造なんて十人が書けば十人同じになるような物であるから基本的にキャストするだけだけど.
で,こうやってて思うのは.
自分はゲームが作りたいというより,どちらかと言えばゲームの動く仕組みが知りたいんだという事(んなこたぁ見りゃわかるって?)
ライブラリ使えば一発な所も自作してみたり勉強したりとかで進みが遅いのもそのせいだなぁ
自分はゲームが作りたいというより,どちらかと言えばゲームの動く仕組みが知りたいんだという事(んなこたぁ見りゃわかるって?)
ライブラリ使えば一発な所も自作してみたり勉強したりとかで進みが遅いのもそのせいだなぁ
テンプレート使いまくってたらこういう訳ワカランtooltipが出たり.
添付ファイル