読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

ふと自分が気になった事を書いてます

DirectX9のプログラムをコマンドラインでビルドする

Win32APIで気を良くしたのか、DirectX9でもやってみることにしました。まあ、そろそろ11か12を使えという話なんですけど、持ってる資料が9向けのものが多いです。Windows10でDirectX9のインストールは面倒でしたが、使えてるのでこれで良いかなと。 // Direc…

モデルの回転

ステージでは俳優に「右に90度回って」などと指示しますが、3Dグラフィックスの世界でこれと同じことを表現するには、座標系のY軸をつかんでくるくると回します。 このような回転のことを「Y軸周りの回転」と呼びます。同様に、X軸を中心とした回転のことを…

モデルの拡大縮小

モデルの拡大縮小は、上下方向、左右方向、手前奥方向、つまり、XYZの軸方向それぞれに「倍率」を設定することで実現できます。そして、拡大縮小マトリックスを作るための関数は、D3DXMatrixScaling()です。例えば、X軸方向に2倍、Y軸方向に0.5倍、Z軸方向に…

基本的な座標変換を行うプログラム

モデルの移動 移動マトリックスを生成し、モデルに適用する方法を説明します。 今回のサンプルプログラムでは、まずD3DXMatrixIdentity()関数を使って何もしないマトリックスを生成した後、D3DXMatrixTranslation()関数を使って生成したマトリックスの成分を…

DirectX9 基本的な座標変換を行うプログラム

参考書から抜粋しています。DirectX9について以前投稿した記事の続きです。マトリックスをコードに落とし込んでいきます。 何もしないマトリックス まず、何もしないマトリックスを使って、各種のマトリックスを生成し、レンダリングパイプラインに適用する…

DirectX マトリックスの表現

何もしないマトリックス まず、何もしないマトリックスを紹介します。次のような、左上から右下の対角成分だけが「1」となっているマトリックスを座標値に適用しても、座標値はまったく変更されません。 例えば、(2,5,4)という座標値にこのマトリックスを掛…

モデルの配置 (座標変換処理)

座標変換とマトリックス 3Dグラフィックスの世界では、モデルの配置やカメラの配置、パラメータなどを設定するために、「マトリックス」というものを利用します。マトリックスとは、数字を縦横に並べたもので、日本語で「行列」といったりもします。マトリッ…

DirectX9 3Dモデルの表示とマテリアル適用

頂点バッファを使って表示する方法もありますが、複雑なモデルを表示するときには3Dモデリングソフトを使ってXファイルを作り、プログラムからそのファイルを読み込むようにすることが一般的です。 まずは、Xファイルを読み込む方法について載せます。Xファ…

C/C++ DirectX9 環境設定のメモ 備忘録

DirectX9のサンプルファイルをよく試すのでその設定方法を簡単に自分用にメモします。環境はVisual Studio 2015 Community Edition,DirectX9 SDK… x86とx64があるが、確認程度ならどちらでも構わないと思います。x86版で設定していきます。 ビルドするときに…

C/C++ DirectX9 頂点シェーダ 座標系 3Dオブジェクトの表示

さて、今回はオブジェクトの表示をしただけです。サンプルプロジェクトを用意し、ビルドしただけです。DirectX9の座標系は、左手座標系です。その他のOpenGLとかでは右手座標系を使っている場合があるようです。環境によって違うということですね。 頂点デー…

VC++ DirectX9 基本的な設定と三次元シーンの構築と描画

まずはDirectXGraphicsの初期化から入る。 // レンダラーオブジェクト Renderer renderer; // レンダラーの初期化 HRESULT hr; hr = renderer.Initialize(hWnd, isFullScreen, CLIENT_WIDTH, CLIENT_HEIGHT); if(FAILED(hr)) { return 0; // 初期化失敗 } Re…

C/C++ WinAPI DirectX9 クライアント領域の計算

DirectXの積み本を消化しようと思って読んでいます。バージョンが9のため、少々古い情報となりますが、このバージョンも未だに現役で使われています。 まずはサンプルコードでビルド出来るかどうかを確認していました。ちょっと端折って書きます。 今回検証…