【问题标题】:How to get xz values as vector 3 dimensional vector如何将 xz 值作为向量 3 维向量
【发布时间】:2021-11-09 20:37:06
【问题描述】:

我在我的代码中使用了以下结构声明。但是当我只需要渲染 x 和 z 坐标时,我需要以某种方式只从 Point1.XZ 之类的值中获取 xz 坐标:

union v3
{
    struct
    {
        float x, y, z;
    };
    struct
    {
        v2 xy;
        float Ignored0_;
    };
    struct
    {
        float x;          //
        float Ignored0_;  // I Have problems with this
        float z;          //
    };
    struct
    {
        float Ignored1_;
        v2 yz;
    };
    float E[3];
};

是否可以只获取 XZ 坐标为 Vector2?

【问题讨论】:

  • 假设您想要v2 xz; 之类的东西,那么不,您的工会不可能。您必须使用单独的 xz 组件创建这样的 v2 值。
  • 我认为不可能,你需要一个帮手:v2 xz(union v3); 或宏
  • v2 xz = {.x = v3.x; .z = v3.z};
  • 我知道了,谢谢

标签: c struct unions


【解决方案1】:

正如一些程序员老兄提到的,为此我只需要创建一个函数或宏。我刚刚使用了宏:

#define XZ(Vector) (V2(Vector.x, Vector.z))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-22
    • 2022-11-20
    • 2013-07-24
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多