我的类基本上如下所示,我想在 Visual Debugger 中使其更具可读性:
template <typename T, precision P = defaultp>
struct tvec4
{
T x, y, z, w;
};
template <typename T, precision P = defaultp>
struct tmat4x4
{
typedef tvec4<T, P> col_type;
private:
col_type value[4];
};
这是向量的 natvis 文件的样子:
<Type Name="glm::tvec4<*>">
<DisplayString>{x}, {y}, {z}, {w}</DisplayString>
<Expand>
<Item Name="x">x</Item>
<Item Name="y">y</Item>
<Item Name="z">z</Item>
<Item Name="w">w</Item>
</Expand>
</Type>
哪个工作正常。但是,对于矩阵类,我无法让任何工作。
尝试1:
<Type Name="glm::tmat4<*>">
<DisplayString>{{value[0]}, {value[1]}, {value[2]}, {value[3]}}</DisplayString>
<Expand>
<Item Name="[0]">value[0]</Item>
<Item Name="[1]">value[1]</Item>
<Item Name="[2]">value[2]</Item>
<Item Name="[3]">value[3]</Item>
</Expand>
</Type>
尝试2:
<Type Name="glm::tmat4<*>">
<DisplayString>{size = {4 x 4}}</DisplayString>
<Expand>
<Item Name="[size]">4</Item>
<Item Name="[capacity]">4</Item>
<ArrayItems>
<Size>4</Size>
<ValuePointer>value</ValuePointer>
</ArrayItems>
</Expand>
</Type>
知道我在做什么错吗?
谢谢!克里斯托夫