ひきつづきDirectX12の魔導書を学習中
Amazon.co.jp: DirectX 12の魔導書 3Dレンダリングの基礎からMMDモデルを踊らせるまで eBook: 川野 竜一: Kindleストア
頂点シェーダーファイルの追加方法
・プロジェクトを右クリック
・追加>新しい項目を選択
・HLSL>頂点シェーダーファイル
を選択することで頂点シェーダーファイルを作成
・シェーダーの中身を作成
float4 BasicVS( float4 pos : POSITION ) : SV_POSITION
{
return pos;
}
・作成したシェーダーファイルを右クリック
・プロパティを選択
・HLSLコンパイラから
エントリポイント、シェーダーモデルを変更する必要がある
昔はテキストファイルを作っていたのですが、
VisualStudioにこんな機能できたんですね?
ピクセルシェーダーファイルの作成手順
ピクセルシェーダーも手順はだいたい同じ
シェーダーの中身、エントリポイント名、シェーダーモデルを変更して作成すること
float4 BasicPS() : SV_TARGET
{
return float4(0.5f, 0.5f, 1.0f, 1.0f);
}
HLSLヘッダーファイルの作成手順
頂点シェーダーとピクセルシェーダーのやり取りを行うため
HLSLヘッダーファイルなる仕組みも存在する。
・プロジェクトを右クリック
・追加>新しい項目を選択
・HLSL>HLSLヘッダーファイル
を選択することでHLSLヘッダーファイルを作成
hlslもC++と同様#includeでインクルードすることができる。
HLSLヘッダー)
struct BasicType
{
float4 svpos:SV_POSITION;
float2 uv:TEXCOORD;
};
頂点シェーダー)
#include"BasicShaderHeader.hlsli"
float4 BasicPS(BasicType input ) : SV_TARGET
{
return float4(input.uv, 1, 1);
}
ピクセルシェーダー)
#include"BasicShaderHeader.hlsli"
BasicType BasicVS(float4 pos : POSITION,float2 uv:TEXCOORD)
{
BasicType output;
output.svpos = pos;
output.uv = uv;
return output;
}
つづく。