34 lines
644 B
GLSL
34 lines
644 B
GLSL
#pragma pack_matrix(row_major)
|
|
|
|
struct MyBuffer1
|
|
{
|
|
column_major float4x4 mat1;
|
|
row_major float4x4 mat2;
|
|
/*floating*/ float4x4 mat3;
|
|
};
|
|
|
|
#pragma pack_matrix(column_major)
|
|
|
|
struct MyBuffer2
|
|
{
|
|
column_major float4x4 mat1;
|
|
row_major float4x4 mat2;
|
|
/*floating*/ float4x4 mat3;
|
|
};
|
|
|
|
#pragma pack_matrix(random_string_foo)
|
|
|
|
cbuffer Example
|
|
{
|
|
MyBuffer1 g_MyBuffer1;
|
|
MyBuffer2 g_MyBuffer2;
|
|
column_major float4x4 mat1a;
|
|
};
|
|
|
|
float4 main() : SV_Target0
|
|
{
|
|
return
|
|
g_MyBuffer1.mat1[0] + g_MyBuffer1.mat2[0] + g_MyBuffer1.mat3[0] +
|
|
g_MyBuffer2.mat1[0] + g_MyBuffer2.mat2[0] + g_MyBuffer2.mat3[0];
|
|
}
|