田中 正造

田中 正造

記事一覧

DirectX ボールを転がす2

「DirectX ボールを転がす1」でGolfBallクラスを作成し、Golfクラスの概要を解説をしました。本稿ではGolfBallクラスのインスタンスを生成し、転がす方向と力を設定してゴ…

田中 正造
2年前
2

DirectX ボールを転がす1

これまでのところでグラフィックアセットを利用可能になりました。これからはDirectX Graphicsを活用して「ゴルフボールを転がす」プログラムを作成してみましょう。 Dire…

田中 正造
2年前
4

DirectX 「Content Pipeline」 を使う

Visual Studio 2022にグラフィックス アセットを読み込み、コンテンツパイプラインを使用してアセット(FBX形式からCMO形式)を変換します。 ゴルフボールの3Dモデルを用意…

田中 正造
2年前
1

DirectX「線分と線分の交差判定」で外積を応用する

「DirectXで内積と外積を探る」の稿で、外積を用いるとベクトル間の左右判定が可能であることを説明しました。この外積の機能を活用すると、線分と線分の交差判定を行うこ…

田中 正造
2年前
4

DirectX「円と線分の交差判定」で内積と外積を応用する

内積と外積を使用し、「円と線分の交差判定」について考察してみましょう。 線分と円の中心へのベクトルの外積を計算する 線分と円の交差判定を行うには、はじめに線分v1…

田中 正造
2年前
3

DirectXで内積と外積を探る

ゲームプログラミングで線形代数を学習すると、はじめに現れるのが「ベクトル」ではないでしょうか。実際にゲーム中のキャラクタの移動やキャラクタ同士の位置関係を調べた…

田中 正造
2年前
6

DirectX Graphicsコンポーネントを作る

DirectX TKのグラフィックスを使いやすくするためにDirectX Graphicsコンポーネントを作成し、フレームワークをGithubに公開します。 ここでDirectX Graphicsクラス宣言の…

田中 正造
2年前
2

constのすすめ

C++を使用してチーム開発を行う場合、自分が作成したクラスや関数を他のメンバーが使用することがあります。このような場合、クラスや関数内部のリソースの保護、関数の呼…

田中 正造
2年前
3

DirectX TKとは

DirectX TK(DirectX Tool Kit)は、マイクロソフト社が提供するDirectX 11と12に対応したゲーム開発を行うためのオープンソースのクラスライブラリです。DirectX TKは、2006…

田中 正造
2年前
9

C++ デザインパターン シングルトン

DirectX TK そしてC++を使用したゲームを開発するときには、グラフィックス、サウンド、物理、人工知能、ネットワークなど、様々なコンポーネントを作るためにデザインパ…

田中 正造
2年前
4

DirectXTKをセットアップする

1 DirectXTKアプリケーションをビルドするにはDirectXTKのアプリケーションをビルドするには、初めにマイクロソフト社のDirectXTKのサイトからクラスライブラリのソースを…

田中 正造
2年前
7
DirectX ボールを転がす2

DirectX ボールを転がす2

「DirectX ボールを転がす1」でGolfBallクラスを作成し、Golfクラスの概要を解説をしました。本稿ではGolfBallクラスのインスタンスを生成し、転がす方向と力を設定してゴルフボールを転がしてみましょう。

GraphSceneクラスでヘッダファイルをインクルードする初めに、GraphSceneクラスのヘッダーファイル(GraphScene.h)にGolfBallクラスのヘッダファ

もっとみる
DirectX ボールを転がす1

DirectX ボールを転がす1

これまでのところでグラフィックアセットを利用可能になりました。これからはDirectX Graphicsを活用して「ゴルフボールを転がす」プログラムを作成してみましょう。

DirectX TKは右手系

3Dグラフィックスのプログラミングでは、左手系(Left Handed System)と右手系(Right Handed System)の座標系を使用します。右手系の場合、下図のようにx軸とy軸

もっとみる
DirectX 「Content Pipeline」 を使う

DirectX 「Content Pipeline」 を使う

Visual Studio 2022にグラフィックス アセットを読み込み、コンテンツパイプラインを使用してアセット(FBX形式からCMO形式)を変換します。

ゴルフボールの3Dモデルを用意するフリーの3Dモデルを利用するために「Sketchfab」、「Cadnav」、「TurboSquid」のWebサイトにアクセスします。今回は、フリーのゴルフボール(FBX形式)を探索し、ダウンロードします。「

もっとみる
DirectX「線分と線分の交差判定」で外積を応用する

DirectX「線分と線分の交差判定」で外積を応用する

「DirectXで内積と外積を探る」の稿で、外積を用いるとベクトル間の左右判定が可能であることを説明しました。この外積の機能を活用すると、線分と線分の交差判定を行うことができます。では、「線分と線分の交差判定」を行ってみましょう。

はじめに、2Dの外積の計算式を示します。

C++のプログラムで記述すると次のようになります。

// Vector2の外積(v1 × v2)static float

もっとみる
DirectX「円と線分の交差判定」で内積と外積を応用する

DirectX「円と線分の交差判定」で内積と外積を応用する

内積と外積を使用し、「円と線分の交差判定」について考察してみましょう。

線分と円の中心へのベクトルの外積を計算する

線分と円の交差判定を行うには、はじめに線分v1と円の中心までのベクトルv2の「外積」を計算します。外積の結果は、「線分v1に円の中心までのベクトルv2を射影した正射影ベクトルと円の中心までの高さ」となります。従って、外積の結果が円の半径より小さいか等しい場合は円と線分は接するか交

もっとみる

DirectXで内積と外積を探る

ゲームプログラミングで線形代数を学習すると、はじめに現れるのが「ベクトル」ではないでしょうか。実際にゲーム中のキャラクタの移動やキャラクタ同士の位置関係を調べたりするのに、ベクトルはなくてはならないものの一つでしょう。ベクトルの演算の中で使用頻度が高いけれど、何かよくわからないものとして「内積と外積」があります。本稿では内積と外積をDirectXを使用してその特性を探ってみましょう。

ベクトルの

もっとみる

DirectX Graphicsコンポーネントを作る

DirectX TKのグラフィックスを使いやすくするためにDirectX Graphicsコンポーネントを作成し、フレームワークをGithubに公開します。
ここでDirectX Graphicsクラス宣言の重要な点をまとめます。

DirectX TKのクラス構成はそのまま使用する

当然のことですが、DirectX TKは「Windows Update」が行われるとDirectX TKも更新さ

もっとみる

constのすすめ

C++を使用してチーム開発を行う場合、自分が作成したクラスや関数を他のメンバーが使用することがあります。このような場合、クラスや関数内部のリソースの保護、関数の呼び出し元のリソースの保護、プログラムの高速化のために変数や関数に対してconst修飾子(以後const)を指定することができます。

クラスのメンバー関数にconstを指定する

クラスのメンバー関数にconstを指定すると、関数内部でク

もっとみる

DirectX TKとは

DirectX TK(DirectX Tool Kit)は、マイクロソフト社が提供するDirectX 11と12に対応したゲーム開発を行うためのオープンソースのクラスライブラリです。DirectX TKは、2006年に発表されたXNA Game FrameworkをC++に移植したクラスライブラリで、XNAフレームワークで実装されていた便利なクラスをC++で利用することができます。

Direct

もっとみる

C++ デザインパターン シングルトン

DirectX TK そしてC++を使用したゲームを開発するときには、グラフィックス、サウンド、物理、人工知能、ネットワークなど、様々なコンポーネントを作るためにデザインパターンの「シングルトン」を活用します。

目次

シングルトンとは

シングルトンの作り方

シングルトンのプログラム

コンストラクタをprivateに指定する

インスタンスを生成したときのポインタを格納する静的なポインタ変

もっとみる

DirectXTKをセットアップする

1 DirectXTKアプリケーションをビルドするにはDirectXTKのアプリケーションをビルドするには、初めにマイクロソフト社のDirectXTKのサイトからクラスライブラリのソースをダウンロードし、クラスライブラリをビルドします。
次にDirectXTKのアプリケーションのプロジェクトを作成し、DirectXTKのクラスライブラリとリンクします。

DirectXTKアプリケーションのビルド

もっとみる