// Shader Common
// https://github.com/darknesswind/DxLib/blob/master/DxLibMake/Windows/DxShader_Common_D3D11.h
struct DX_D3D11_CONST_LIGHT {
int Type; // light type (DX_LIGHTTYPE_POINT etc)
int3 Padding1;
float3 Position; // (view)
float RangePow2;
float3 Direction; // (view)
float FallOff; // spot light FallOff
float3 Diffuse;
float SpotParam0; // spot light 0 (cos(phi / 2.0f))
float3 Specular;
float SpotParam1; // spot light 1 (1.0f / (cos(th / 2.0f) - cos(phi / 2.0f)))
float4 Ambient; // amb * material amb
float Attenuation0;
float Attenuation1;
float Attenuation2;
float Padding2;
};
struct DX_D3D11_CONST_MATERIAL {
float4 Diffuse;
float4 Specular;
float4 Ambient_Emissive; // material emissive + material amb * global amb
float Power; // power of specular
float3 Padding;
};
struct DX_D3D11_VS_CONST_FOG {
float LinearAdd; // end / (end - start)
float LinearDiv; // -1 / (end - start)
float Density;
float E; // napier
float4 Color;
};
struct DX_D3D11_CONST_BUFFER_COMMON {
DX_D3D11_CONST_LIGHT Light[6]; // length will be changed
DX_D3D11_CONST_MATERIAL Material;
DX_D3D11_VS_CONST_FOG Fog;
};