Parameters = { mat4x4 gMatWorldViewProj : auto("WVP"); mat4x4 gMatWorld : auto("W"); mat4x4 gMatInvWorld : auto("IW"); mat4x4 gMatWorldNoScale : auto("WNoScale"); mat4x4 gMatInvWorldNoScale : auto("IWNoScale"); float gWorldDeterminantSign : auto("WorldDeterminantSign"); }; Blocks = { Block PerObject : auto("PerObject"); Block PerCall : auto("PerCall"); }; Technique : base("PerObjectData") = { Language = "HLSL11"; Pass = { Common = { cbuffer PerObject { float4x4 gMatWorld; float4x4 gMatInvWorld; float4x4 gMatWorldNoScale; float4x4 gMatInvWorldNoScale; float gWorldDeterminantSign; } cbuffer PerCall { float4x4 gMatWorldViewProj; } }; }; }; Technique : base("PerObjectData") = { Language = "GLSL"; Pass = { Common = { layout(binding = 2, std140) uniform PerObject { mat4 gMatWorld; mat4 gMatInvWorld; mat4 gMatWorldNoScale; mat4 gMatInvWorldNoScale; float gWorldDeterminantSign; }; layout(binding = 3, std140) uniform PerCall { mat4 gMatWorldViewProj; }; }; }; };