ひっと

ゲームプログラミング技術集

DirectX等、ゲーム制作に必要なプログラミング例をソースコードと共に紹介しています。
ゲーム作ってみたい初心者の方。プログラミングの参考にご活用ください。
更新情報

[2013.10.05]

点と平面の距離
平面上の最近点


[2013.09.29]
点と三角形の内外判定
点と三角形の当たり判定をします。


[2013.09.28]
ポリゴンの表裏判定
OPenGLとDirectXで混乱した。結局一緒なのかー。


[2013.09.27]
十字キーと8方向キーの方向判定
スマホで仮想十字キー作ったりドラッグ方向の判定にどうぞ。

[2013.09.26]
2線の交点を求める方法
3次元でも2次元でも大丈夫な2線の交点を求める方法です。
[2013.02.16]
お詫びと訂正。 斜方投射で説明していた式に誤りがありました。ご指摘いただいた方ありがとうございます。 http://www.sousakuba.com/Programming/algo_dandoukeisan2.html
ルートの中のプラスマイナスが逆でした。
[2012.11.30]
平面と線分の交点を求める方法

[2012.11.25]
平面と平面方程式の求め方
Adobeのイラストレータを使ってみたら結構きれいな図が描けるようになったよ。

[2012.11.23]
ベクトルの内積
ベクトルの内積についてまとめてみたよ。

[2012.11.20]
ポリゴンの法線を求める
座標系の右手と左手でいつも混乱するんですよ。個人的には右手座標で世界統一してほしいよ。

[2012.11.19]
単位ベクトルの計算方法
昔書いた記事も直していくよ。


[2012.11.18]
2つのベクトルのなす角を求める方法


[2012.11.17]
線上の最近点を求める方法


[2012.11.16]
点と線の距離を求める方法


[2012.11.15]
再開するよ。
2点間の距離を求める方法


[2010.4.27]
HLSLでシェーダプログラミングしてみました
これまでやったピクセルシェーダと頂点シェーダを合体!!
アセンブラよりずっと使いやすいです。
最初からHLSLでやればよかった。




[2010.4.22]
頂点シェーダできました
頂点シェーダ使って、くるくる回すだけのプログラム。
頂点シェーダはあまり使い道が思い浮かばないなあ・・・・。
処理が早くなるなら十分ありがたいけど。




[2010.4.18]
ピクセルシェーダはじめました
とりあえず導入方法から勉強してます。




[2010.4.17]
弾道計算みたいなことをやりたくて斜方投射プログラムを作りました。
斜方投射の軌跡を求める
斜方投射で目標に当てる
サンプルプログラム




[2010.4.02]
カメラ制御でプレイヤーと一緒に連動するカメラを実装してみました。
プレイヤー目線でカメラを動かしたり、プレイヤーの背中を追いかけてカメラが回ったりします。




[2010.3.28]
ダイクストラ法で最短ルート検索でダイクストラ法アルゴリズムを紹介してます




[2010.3.17] マップ移動と当たり判定のサンプルを作りました

プレイヤーを動かせます。壁で止まったり坂を上ったりできます。
DirectXに用意されているメッシュとレイの当たり判定機能を使った単純な実装です。
VC++で見る場合は3DMoveSample.slnを開いてください。LibInput/LibGraphicはライブラリです。

ダウンロード


[2010.3.04] きれいなテキストを高速に描画するサンプルを作りました

テキスト描画に関する機能はDirectXにも用意されていますが処理が遅いとあちこちで不評です。
描画のタイミングに入ってから文字画像を作成しているだとか。

ちょっと手間がかかりますが、このサンプルでは別の方法でやってみました。
描画する文字を初期化の時点ですべてテクスチャ画像にしてしまいます。
描画での余計な処理がなくなってきれいな文字を高速に描画することができました。

せっかくだからビジュアルノベル風味にしてみました。

ダウンロード
(2010.3.7 文字テクスチャ作成部分のバグを修正しました)


[2010.02.05] Xファイルを読み込むサンプルを作りました

Xファイルを読み込みから描画までを行うサンプルです。
ロボットの顔はテクスチャで表現しています。
モデリングやXファイル出力にフリーソフトのBlenderを使いました。
Blenderは取っつきにくいですが慣れると最強のツールですね。

ダウンロード


[2010.01.05] DirectShowのサンプルを作りました

音声ファイル再生サンプルです。
DirectShowを使うとMP3やWMFを簡単に再生できます。
サンプルはBGMのループ再生と、BGMと効果音の同時再生を想定しています。

ダウンロード

[2010.12.29] DirectInputのサンプルを作りました

キーボード、マウス、ゲームパッドの入力を処理します。
画面をマウスでつついたり矢印キーを押すと赤い丸が動きますよ。
十字キーのような押しっぱなしの入力チェックだけでなくてクリックのような押した直後もチェックできます。

ダウンロード

[2010.12.19] Direct3Dを使って2D描画するサンプルを作りました

あくまでも描画だけ。兵隊さんは動きません。
背景の透過はできてますから重ねても大丈夫。

ダウンロード