Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (147 стр)

Страницы: 1146 147 148 149428 Следующая »
#2190
10:27, 6 апр. 2016

Andrey
> Скелетная анимация? там можно и нужно float4x3, можно конечно через
> кватернион+позиция, но чуток сложнее, выигрыш сомнительный и скалирование не
> поддерживается.
Я планировал побухтеть ещё, но, кажется, в HLSL таки есть неквадратные матрицы.
В GLSL таких нет, поэтому одного размера достаточно.


#2191
10:29, 6 апр. 2016

Delfigamer
> В GLSL таких нет, поэтому одного размера достаточно.
Да ладно?

mat2 a 2×2 single-precision floating-point matrix
mat3 a 3×3 single-precision floating-point matrix
mat4 a 4×4 single-precision floating-point matrix
mat2x2 same as a mat2
mat2x3 a single-precision floating-point matrix with 2 columns and 3 rows
mat2x4 a single-precision floating-point matrix with 2 columns and 4 rows
mat3x2 a single-precision floating-point matrix with 3 columns and 2 rows
mat3x3 same as a mat3
mat3x4 a single-precision floating-point matrix with 3 columns and 4 rows
mat4x2 a single-precision floating-point matrix with 4 columns and 2 rows
mat4x3 a single-precision floating-point matrix with 4 columns and 3 rows
mat4x4 same as a mat4
#2192
10:35, 6 апр. 2016

-Eugene-
> Привычка привычкой, но такие имена - явный мискатс и кривое решение.
не знаю прокатит ли, но мне кажется через #define GLSL можно запилить DXофильские float3 вместо vec3
ну и еще пример, можно продолбиться в глаза после марафона кодинга и написать

float3 val1;
float  val2;
да плюс еще и без форматирования кода (да да, есть такие умельны-говнокодеры и их пруд пруди), а потом бежать на форумы плакать, почему у меня не работает?
по мне так эта запись еще уродливей чем была б с vec и float :)

Delfigamer
> А у тебя дефицит буков?
у меня нет дефицита буков, у меня есть комплекс читабельного когда, к которому HLSL не относится на мой взгляд

-Eugene-
> беззнаковые half-ы
по мне так это больше хак, чем тип

> > Угадай за одну попытку. Подсказка - это шейдер.
> Half? Float?
а в чем разница в плане хранения данных?

Valorin
у некоторых это вызывает когнитивный диссонанс и жжения ниже поясницы, ибо неявно какой тип компонент содержится в vec3/mat3/etc., один раз взглянуть в доку и понять что где религия не позволяет.. привыкли видимо все делать без предварительного ознакомления с документацией, аля

+ Показать

и вообще, развели тут холивар "GLSL vs HLSL: у кого читабельней".. на вкус и цвет фломастеры разные.. мне вообще нравится писать int32, давайте разведем холивар по этому поводу

да еще в теме про Vulkan API :)

#2193
10:43, 6 апр. 2016

Асгарда
> не знаю прокатит ли, но мне кажется через #define GLSL можно запилить
> DXофильские float3 вместо vec3
Дык я так и делал всегда!

> а в чем разница в плане хранения данных?
Неявная разница в работе некоторых алгоритмов, см. шейдеры УЕ и Юнити.

> у меня есть комплекс читабельного когда, к которому HLSL не относится на мой
> взгляд
Я тут пропустил начало темы. А в чем нечитабельность то?
Я работал и с HLSL, и с GLSL. Они ж одинаковые почти. Ну, не считая уродских типов и инициализации массивов в GLSL.

innuendo
> Есть коммерческие движки, где просто матрицами 4x4. И ничего, живут люди,
> оптимизациями на заморачиваются. Зато бабло имеют, а ты сидишь с голой задницей
> :) 
Если некий продукт Х обрел популярность несмотря на кривые решения, это не значит, что эти кривые решения следует перенимать.
И говорю не столько о матрицах, а вообще о твоей логике. 4х3 реально нужно в полутора местах.

#2194
(Правка: 10:56) 10:52, 6 апр. 2016

-Eugene-
> А в чем нечитабельность то?
как вот это

+ Показать

можно читать? где начало шейдера, а где конец? или тут уже готовая программа (судя по префиксам VS и PS)? это какая-то нездоровая помесь Pascal + C

-Eugene-
> Если некий продукт Х обрел популярность несмотря на кривые решения, это не
> значит, что эти кривые решения следует перенимать.
вот по этому я теперь использую Arch Linux, по этому меня уже тошнит от микрософтовских решений и писанины под шиндовс

#2195
11:02, 6 апр. 2016
-Eugene-
> Если некий продукт Х обрел популярность несмотря на кривые решения, это не
> значит, что эти кривые решения следует перенимать.
> И говорю не столько о матрицах, а вообще о твоей логике. 4х3 реально нужно в
> полутора местах.

Ты не понял ?  У оптимизации есть своя цена. И я не говорил про нужность 4x3 :)

#2196
(Правка: 11:08) 11:03, 6 апр. 2016
Асгарда
> да еще в теме про Vulkan API :)
Нужно больше пуканов богу пуканов. :3

Valorin
> Да ладно?
Когда придумывали, как назвать матрицу 4*4 в GLSL, матриц 4*3 ещё не было.
В GLES2, например, их и до сих пор нет.
-Eugene-
> Half? Float?
И то, и то, и даже double; а чтобы узнать правду, надо смотреть precision float.
А если нужна определённая точность конкретно у этой переменной, надо записать её отдельным словом. Типа "lowp vec3".
Правда, это всё только в том случае если мы говорим об одном GLSL.

А вообще, точно так же можно и на сишные типы наехать. Дескать, float - какой float? А какая у него длина? long - это насколько длинный? А long long? А char имеет знак? А чем * отличается от & и &&?
Разумеется, что в Си, что в диксах, что у кроносов, все непонятки лечатся живительным RTFM.

-Eugene-
> мне не нравится *vec*
Ну это, конечно, фатальный недостаток GLSL. Надо за него автору пальцы переломать, чтобы больше не портил языки.

#2197
(Правка: 11:16) 11:15, 6 апр. 2016

Delfigamer
> Когда придумывали, как назвать матрицу 4*4 в GLSL, матриц 4*3 ещё не было.
И это означает, что в GLSL нет неквадратных матриц, как было написано выше?
Да в первой версии(1.10.59) не было, но в след версии(1.20.8) сразу же появились.

Delfigamer
> В GLES2, например, их и до сих пор нет.
Наверно потому что уже есть GLES3

#2198
(Правка: 11:27) 11:27, 6 апр. 2016

Valorin
> Да в первой версии(1.10.59) не было, но в след версии(1.20.8) сразу же
> появились.
Ну вот, как только они появились, тогда же и ввели двумерные названия. Всё правильно.

Valorin
> Наверно потому что уже есть GLES3
По-моему, его степень "есть" ещё меньше, чем у Вулкана. Хотя я, как обычно, могу и ошибаться.

#2199
(Правка: 11:31) 11:31, 6 апр. 2016

Delfigamer
> Ну вот, как только они появились, тогда же и ввели двумерные названия. Всё
> правильно.
А кто с этим спорит? :) Речь про то, что это выражение ошибочное:
Delfigamer
> в HLSL таки есть неквадратные матрицы.
> В GLSL таких нет

#2200
13:00, 6 апр. 2016

Асгарда
> как вот это
> можно читать? где начало шейдера, а где конец? или тут уже готовая программа
> (судя по префиксам VS и PS)? это какая-то нездоровая помесь Pascal + C

Чем это принципиально отличается от GLSL, кроме разного названия типа float3-vec3?

#2201
13:01, 6 апр. 2016

Названия типов им не нравится, офигеть вообще. Одна история офигительней другой просто.

#2202
13:06, 6 апр. 2016

innuendo
> Есть коммерческие движки, где просто матрицами 4x4. И ничего, живут люди,
> оптимизациями на заморачиваются. Зато бабло имеют, а ты сидишь с голой задницей :)   

То что движок коммерческий это не делает его иконой какой-то, на которую стоит молиться и делать так же.
Ну наговнокодил кто-то, это бывает независимо от того коммерческий движок или нет.
Не конкретно к матрицам относится, вообще.

#2203
(Правка: 13:12) 13:12, 6 апр. 2016
Executor
> То что движок коммерческий это не делает его иконой какой-то, на которую стоит
> молиться и делать так же.
> Ну наговнокодил кто-то, это бывает независимо от того коммерческий движок или
> нет.

Можно сколько угодно оптимизирвовать и так не заработать бабло.
Пусть работает на 10% медленней, зато раньше чем у конкурентов и тд

#2204
13:44, 6 апр. 2016

Executor
> Чем это принципиально отличается от GLSL, кроме разного названия типа
> float3-vec3?
не совсем C-style?
зачем нужно указание через ":" что это?

struct VS_OUTPUT 
{
   float4 Pos: POSITION;
   float2 texCoord: TEXCOORD0;
};
зачем нужно указывать ": COLOR"?
float4 PS_Dizzy(float2 texCoord: TEXCOORD0) : COLOR 
почему знеть нет ничего после параметров функции? слишком мутно и не понятно
VS_OUTPUT VS_Dizzy(float4 Pos: POSITION)

так что hlsl какой-то не очень.. хотя есть любители хаскеля или брейнфака :)

Страницы: 1146 147 148 149428 Следующая »
ПрограммированиеФорумГрафика