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];
 | |
| }
 |