C++を学びながら、理解したことを記述します。 自分と、さらに誰かの役に立つことを願いながら。
シェーダ(点光源の場合)(4) ファイル(F) -> 新規作成(N) -> プロジェクト(P) Visual C++ -> Windowsユニバーサル -> DirectX11アプリ(ユニバーサルWindows) の順に操作して VS2017 を開始すると、3Dアニメーションのサンプルアプリが自動作成されます。 このサンプルアプリを改変することで、DirectX11アプリ(ユニバーサルWindows) について、ほ…
シェーダ(点光源の場合)(3) 前回《435》は 下記 (a) の効果を、前々回《434》は 下記 (b) の効果を、それぞれ使って陰影処理をしました。 今回は、(a),(b) 両方の効果を使った陰影処理です。
シェーダ(点光源の場合)(2) 前回《434》では、下記 (b) の効果について扱いました。 (a) 点光源からの光は、光源から離れるにつれて広い面積に拡散するので、明るさは減少します。 (b) ある面に光が当たるとき、光が面に垂直に当たるときが最も明るく、斜めに当たる場合は明るさが減少します。 (b) の効果のみで陰影処理…
シェーダ(点光源の場合)(1) 点光源とは、発光部の大きさが点とみなせるほど小さく、かつ被照射面との距離が比較的近い 光源のことです。今回のプログラムでは、光源を実際に点として考えます。 (a) 点光源からの光は、光源から離れるにつれて広い面積に拡散するので、明るさは減少します。 (b) ある面に光が当たるとき、光が面に垂直に当たると…
シェーダ(平行光線の場合) 本ブログ《431》の続きです。 「VS2017 VC++ DirectX11アプリ(ユニバーサルWindows)」のサンプルアプリに陰影処理を加えるため、《431》では、 Sample3DSceneRenderer.cpp に 頂点法線ベクトルのデータを加えました。 今回は、 ShaderStructures.h SamplePixelShader.…
面法線ベクトル,頂点法線ベクトル 面に垂直な直線を法線と呼びます。法線方向のベクトルを法線ベクトルといいますが、面から遠ざかる向きが正の向きです。 下図において、メッシュを構成する三角形の中の、例えば三角形576の法線ベクトル(面法線ベクトル)は薄紫色で表される右向き(x軸の正の向き)の矢印です。 したがって、 三角形576の面法線ベクトル…
シェーダ(平行光線の場合) ウィキペディアによると、「シェーダー(英: shader)とは、3次元コンピュータグラフィックスにおいて、シェーディング(陰影処理)を行うコンピュータプログラムのこと」だそうです。 本ブログの《427》~《429》では立方体を描…
座標軸の向き ビュー行列 XMMATRIX XMMatrixLookAtRH( XMVECTOR EyePosition, XMVECTOR FocusPosition, XMVECTOR UpDirection ) に、y軸の正の向きが上向きになるように設定してある(これが最も一般的な設定)ので、座標軸の向きは下記のようになっています。
視点・注視点・上方の向き を変更する 前回《427》,前々回《428》に引き続き、Sample3DSceneRenderer.cpp についてです。 CreateWindowSizeDependentResources関数内の eye, at, up の値を変更することで、図形の見え方が変わります。 以下の画像は、すべて プログラム開始時点(ゼロ秒経過時点)での 立体の状態を表しています。 //
立方体の各面を異なる単色で塗りつぶす 前回《427》の結果から、同一面上にある2つの頂点の色が異なると その2点間の色がグラデーションで表現されることが、確認できました。 今回は、立方体の6つの面を 異なる6種類の単色で塗りつぶしてみます。
《その427》DirectX11アプリ(ユニバーサルWindows)
DirectX11アプリ(ユニバーサルWindows) ファイル(F) -> 新規作成(N) -> プロジェクト(P) Visual C++ -> Windowsユニバーサル -> DirectX11アプリ(ユニバーサルWindows) の順に操作します。 VS2017 を、このようにして開始すると、3Dアニメーションのサンプルアプリが自動作成されます。 自分の場合、3Dアニメーション や DirectX11
Contentプロパティ Button要素や Label要素など、Contentプロパティを持つ要素の場合、その Contentプロパティに任意の型の子要素を設定することができます。 <Button> <Button.Content> <TextBlock Text="あいうえお"/> </Button.Content> </Button>
MapControl MapControl は地図を表示します。 MapControl自体は、 表示(V) -> ツールボックス(X) から ドラッグ&ドロップで簡単に設置できるのですが、これを使えるようにするには マップ認証キーを入手する必要があります。 マップ認証キーの入手方法の解説は
ProgressRingコントロール ProgressRing等のプログレスコントロールは、時間のかかる作業が進行中であることを示します。 下記の例では、標準色の水色を赤色に変えて、サイズを少し大きくしてあります。 ProgressRingの動作を開始させるコードは、 progressRing->IsActive…
FlipViewコントロールを利用した画像表示 今回のアプリの開始画面です。 見たい画像にチェックを入れます(最初の画像が表示されます)。 …
「ブログリーダー」を活用して、こうすけさんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。