16 lines
476 B
HLSL
16 lines
476 B
HLSL
cbuffer cbuffer_data : register(b0) {
|
|
uint4 data[4];
|
|
};
|
|
|
|
float3x3 data_load(uint offset) {
|
|
const uint scalar_offset = ((offset + 0u)) / 4;
|
|
const uint scalar_offset_1 = ((offset + 16u)) / 4;
|
|
const uint scalar_offset_2 = ((offset + 32u)) / 4;
|
|
return float3x3(asfloat(data[scalar_offset / 4].xyz), asfloat(data[scalar_offset_1 / 4].xyz), asfloat(data[scalar_offset_2 / 4].xyz));
|
|
}
|
|
|
|
void main() {
|
|
const float3 x = mul(asfloat(data[3].xyz), data_load(0u));
|
|
return;
|
|
}
|