「MonoGameでHLSLにMatrixを渡す」の版間の差分

imported>Administrator
編集の要約なし
 
編集の要約なし
1行目: 1行目:
[[ハードウェアインスタンシング]]を利用するにあたりMatrix型の[[World座標]]を渡したい。
[[ハードウェアインスタンシング]]を利用するにあたり[[C♯]]から[[HLSL]]にMatrix型の[[World座標]]を渡したい。
つまり[[C♯]]から[[HLSL]]にMatrix型を渡せると嬉しい。


しかし[[HLSL]]に渡すデータ型を示すVertexElementFormatは「Vector4」が最大となっている。
しかしMonoGameでは[[HLSL]]に渡すデータ型を示すVertexElementFormatは「Vector4」が最大となっており、Vector4が4個セットになっているMatrix型は渡せない。
Matrixは渡せない。


そこでMatrixはfloat4x4であり単純に4倍と仮定してVector4を4個ズラズラ列べる。
そこでMatrixはVector4の4倍と仮定してVector4を4個ズラズラ列べる。
VertexElementUsageはfloat4型のセマンティクス、かつ誰も使ってないであろうBlendWeightを指定した。
VertexElementUsageはfloat4型のセマンティクス、かつ誰も使ってないであろうBlendWeightを指定した。