#include <stdio.h>
typedef union
{
float x;
float y;
float z;
float w;
float val[4];
} VERTEX4F;
int main() {
VERTEX4F v;
v.x = 0.5f;
v.y = 0.5f;
v.z = 0.5f;
v.w = 0.5f;
printf("Sizeof VERTEX4F is %d \n",sizeof(VERTEX4F)) ; //16 (4*4)
printf("VERTEX4F component x is %f \n", v.x); //0,5
printf("VERTEX4F component y is %f \n", v.y);//0,5
printf("VERTEX4F component z is %f \n", v.z);//0,5
printf("VERTEX4F component w is %f \n", v.w);//0,5
for(int i = 0;i<4;i++)
{
printf("VERTEX4F component %d is %f \n",i, v.val[i]); //на первой итерации - 0,5, на остальных хуита.
}
return 0;
}
//Чому так?
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHVuaW9uIAp7CiAgICBmbG9hdCB4OwogICAgZmxvYXQgeTsKICAgIGZsb2F0IHo7CiAgICBmbG9hdCB3OwogICAgZmxvYXQgdmFsWzRdOwp9IFZFUlRFWDRGOwoKaW50IG1haW4oKSB7CglWRVJURVg0RiB2OwoJdi54ID0gMC41ZjsKCXYueSA9IDAuNWY7Cgl2LnogPSAwLjVmOwoJdi53ID0gMC41ZjsKCXByaW50ZigiU2l6ZW9mIFZFUlRFWDRGIGlzICVkIFxuIixzaXplb2YoVkVSVEVYNEYpKSA7ICAvLzE2ICg0KjQpCglwcmludGYoIlZFUlRFWDRGIGNvbXBvbmVudCB4IGlzICVmIFxuIiwgdi54KTsgLy8wLDUKCXByaW50ZigiVkVSVEVYNEYgY29tcG9uZW50IHkgaXMgJWYgXG4iLCB2LnkpOy8vMCw1IAoJcHJpbnRmKCJWRVJURVg0RiBjb21wb25lbnQgeiBpcyAlZiBcbiIsIHYueik7Ly8wLDUgCglwcmludGYoIlZFUlRFWDRGIGNvbXBvbmVudCB3IGlzICVmIFxuIiwgdi53KTsvLzAsNSAKCWZvcihpbnQgaSA9IDA7aTw0O2krKykKCXsKCSAgcHJpbnRmKCJWRVJURVg0RiBjb21wb25lbnQgJWQgaXMgJWYgXG4iLGksIHYudmFsW2ldKTsgLy/QvdCwINC/0LXRgNCy0L7QuSDQuNGC0LXRgNCw0YbQuNC4IC0gMCw1LCDQvdCwINC+0YHRgtCw0LvRjNC90YvRhSDRhdGD0LjRgtCwLgoJfQoJcmV0dXJuIDA7Cn0KCi8v0KfQvtC80YMg0YLQsNC6PyA=