射影テクスチャ
お仕事で使いそうなので実装テストしてみた。
tex2DProjが使えないので自分でwで割ることになる。
カメラから四角形にテクスチャを投影。
//-------------------------------------------------------------------------------------- // Vertex Shader //-------------------------------------------------------------------------------------- PS_INPUT VS(VS_INPUT input) { PS_INPUT output = (PS_INPUT)0; output.Pos = mul(input.Pos, World); output.Pos = mul(output.Pos, View); output.Pos = mul(output.Pos, Projection); output.Tex = output.Pos; return output; } //-------------------------------------------------------------------------------------- // Pixel Shader //-------------------------------------------------------------------------------------- float4 PS(PS_INPUT input) : SV_Target { float2 projTexCoord = float2(input.Tex.x/input.Tex.w*0.5f+0.5f, -input.Tex.y/input.Tex.w*0.5f+0.5f); projTexCoord = 5.0f*projTexCoord;// 模様を細かくするために return Texture0.Sample(SamplerLinear0, projTexCoord); }