Size: a a a

pro.graphon (and gamedev)

2021 June 29

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
А с тестами для шейдеров у них как дела?
источник

KD

Kirill Dmitrenko in pro.graphon (and gamedev)
Вот там прямо очень формально и аккуратно
источник

KD

Kirill Dmitrenko in pro.graphon (and gamedev)
до dEQP ничего не было
источник

KD

Kirill Dmitrenko in pro.graphon (and gamedev)
Или ты про wgpu?
источник

S

Sergey in pro.graphon (and gamedev)
Сложность?

Когда каждый день пишешь штуки вроде
vec4 v = vec4(vals);
кажется что такая многословность как раз для парсера, а не для автора кода.

Тем более основные сложности сишного синтаксиса там не актуальны.
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Про GLSL, слышал, там какие-то conformance tests есть, но никогда их в лицо не видел
источник

KD

Kirill Dmitrenko in pro.graphon (and gamedev)
dEQP
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Ну да, а парсер каждый должен писать свой, и реализовывать и все vec4(float), и vec4(float, float, float, float), и vec4(float, float3), и так далее, и out, и inout, и структуры и массивы в юниформах, и массивы сэмплеров, и сэмплеры в качестве параметров функций, это если говорить только о ES 2.0, и всякие инвертирования матриц даже, и разнообразные циклы с continue и break
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Из этого списка реально встречал проблемы с inout (Intel), с массивами структур юниформов (Qualcomm) и массивами сэмплеров (Arm)
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
И с #define с пустым списком параметров на Intel, забыл про препроцессор
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Препроцессор даже в плюсах не могут реализовать одинаково
источник

K

Kirill in pro.graphon (and gamedev)
А в какой из них запакованные нормали?
источник

ДЦ

Дмитро Цимбалюк... in pro.graphon (and gamedev)
в .normal
источник

K

Kirill in pro.graphon (and gamedev)
Ты же скинул только .scm и .model
источник

ДЦ

Дмитро Цимбалюк... in pro.graphon (and gamedev)
ой, .model
источник

S

Sergey in pro.graphon (and gamedev)
Это скорее добавит в парсер бойлерплейт, а не сложность.

Я говорил больше про то что glsl, если не ошибаюсь, контекстно-свободный. Например * всегда значит умножение, и не может значить вдобавок  объявление указателя или разыменовывание.
Си сильно сложнее из-за контекстно-зависимости.
источник

ДЦ

Дмитро Цимбалюк... in pro.graphon (and gamedev)
источник

S

Sergey in pro.graphon (and gamedev)
Знаю, сам выгребал подобное.

Даже на нвидии доводилось ловить проблему: фактический размер массива юниформ вырастал в 2 раза и приводил к фейлу линковки, если после него объявить семплер.

Я это списывал скорее на меньшую востребованность opengl играми по сравнению с d3d.
источник

K

Kirill in pro.graphon (and gamedev)
Странно, но я не нашёл импортеров ни для блендера, ни для 3д макса
источник

ДЦ

Дмитро Цимбалюк... in pro.graphon (and gamedev)
для первого есть под блендер, для второго только под 3д макс
источник