MrShoor
> Надо кому?
Объясни для дебилов от C++.
MrShoor
> Вектора от Mirrel-а подъехали.
Лучше бы не позорился, чем что-то выставлять.
Алексей Патрашов, давно когда-то переделывал функциональность для ZenGL и по непониманию происходящего "сотворил" вот такие структуры. А тут Шул решил блеснуть умом и показывает, что он видимо не умеет исправлять свои ошибки и тащит их по сей день в своём сундуке который вечно с ним.
Алексей Патрашов
В этих векторах зачем-то продублированы компоненты, по сути это уже не вектора, а какая-то каша.
Алексей Патрашов
> Объясни для дебилов от C++.
Переписал на С++:
struct zglTVector2D { float x1; float y1; float x2; float y2; };
totoro
> В этих векторах зачем-то продублированы компоненты
что тут не понятного? Это же тензоры. Очевидно, что автор использует это для улучшения производительности с помощью какой-нибудь OpenBLAS.
iw4nna.rock
> что тут не понятного?
Почему в названии тензора написано, что это вектор? По этой же логике можно и матрицу вектором назвать, но так никто не делает.
totoro
Ладно, раз уж пошли вопросы нейминга, то почему в хлсл флоат4, а не век4? Убогий язык?
Ты щас скажешь "ну флоат4 сразу показывает шо за тип у вектора", вот только в шейдерах 99% векторов - флоаты)
monobogdan
> почему в хлсл флоат4, а не век4?
Потому что это массив флоатов, туда можно кватернион положить например.
monobogdan
> раз уж пошли вопросы нейминга
Это вопросы не нейминга, а бардака в голове.
totoro
> массив флоатов
Гпу - не процессор общего назначения, он "мыслит" сразу векторами. Поэтому обозвать "4 флоата" vec4 - более корректно.
В GLSL нет typedef, но ничего не мешает тебе обозвать vec4 quat'ом
#define quat vec4
monobogdan
И тут Остапа понесло… Вектор, если что -это математический объект.
totoro
> По этой же логике можно и матрицу вектором назвать, но так никто не делает
Ещё как делают. Просто вы не видели. Коль цвет назвали vec4 (или float4), то матрицу назвать макаром тем же - как пить дать.
iw4nna.rock
> Просто вы не видели.
Ну и слава богу :)
iw4nna.rock
> цвет назвали vec4 (или float4)
Так vec или float? Это не одно и то же.
totoro
> Вектор, если что -это математический объект.
а я хотел сказать направление...
но да, в математике пишется что это объект, указывающий направление и имеющий свою длину.
monobogdan
> Гпу - не процессор общего назначения, он "мыслит" сразу векторами.
Уже лет 15 как не мыслит.
totoro
> И тут Остапа понесло… Вектор, если что -это математический объект.
В этом смысле, любой тензор — это вектор, потому что их можно собирать в линейные комбинации.
Mirrel
Вектор, в зависимости от контекста, определяет разные объекты:
1. Объект математики (vec2d, vec3d)
2. Объект-множество (std::vector, SIMD)