(Untitled)

May 29, 2009 09:17

Открыт новый сайт, посвященный OpenGL Shading Language:
http://glsl.ru

(:

opengl

Leave a comment

snvampyre May 29 2009, 14:57:18 UTC
Что тебя в glsl не устраивает?

Reply

xaerox May 29 2009, 15:41:57 UTC
Ну, это вопрос из разряда "Чем тебя не устраивает DirectX, раз используешь OpenGL?" (:

Reply

snvampyre May 29 2009, 15:55:46 UTC
Нет, этот вопрос вызван тем, что ты написал слово "говно".
Значит тебя в нём что-то не устраивает, ведь это стандартная вещь, которая поддерживается всеми производителями.

Я не использую Direct3D, но не пишу что оно говно, хотя бы потому что это не так.
GLSL хорош тем, что позволяет писать одни и те же шейдеры под любое железо, без версий шейдеров, которых в Direct3D уже целых 11 штук.

Reply

xaerox May 29 2009, 16:38:39 UTC
Где я написал "говно"? о.О

Насчет того, что что-то не устраивает - да, есть кое-какие вещи. Скажем так, Cg мне нравится тем, что я знаю наверняка, как мой шейдер скомпилится, и могу его подтачивать, чтобы сократить число инструкций или темпорарей. В глсл я нихрена не знаю. Черный ящик. Может, каких-то программеров, воспитанных на вижуал бейсике и сишарпе, это устраивает, но меня - нет.
Второй момент - Сг позволяет писать шейдеры для моделей 1.х. Хотя, впрочем, тут я ему не доверяю, и всегда пишу RC/TS/AFS вручную - получается намного лучше.

По поводу того, что все уже забыли про карточки без шейдеров 2.0 и дров без поддержки ГЛСЛ, и слышать ничего не хочу, это бред, и периодически возникающие на гдру темы про "старые технологии" это доказывают.

Reply

snvampyre May 29 2009, 17:04:04 UTC
Ты не можешь имея Cg-шейдер узнать сколько инструкций получится в итоге, потому что этот асм-код потом ещё раз компилируется драйвром.
Чтобы узнать для AMD, есть программа GPU shader analyzer, а для NVidia никак не унать вообще.

Reply

xaerox May 29 2009, 17:10:39 UTC
Ты не путаешь с EXT_Cg_shader?
Cg компилит в конкретный профиль, и драйвер в этом процессе участвует самую малость (а именно - сообщает о лимитах профиля).

>а для NVidia никак не унать вообще
Я NVShaderPerf юзал, он профилирует под разные профили и видеокарты. Или ты о чем?

Reply

snvampyre May 29 2009, 17:14:27 UTC
Я говорю о количестве ALU/TMU инструкций в результирующем шейдере.
Видеочип не исполняет asm-профиль, он дальше этот асм-код компилирует ещё раз в свой набор инструкций.
Посмотри на код шейдеров в GPU shader analyzer, это совсем не тот асм-код, который идёт у тебя.

Reply

xaerox May 29 2009, 17:18:11 UTC
это не важно
обычно проблема как раз в компиляторах с высокоуровневых языков в язык ассемблера. Ты вспомни пейперы, не такие уж старые, где советуют писать
x = (a + b) + (c + d)
вместо
x = a + b + c + d

значит, сами понимают, что херово у них с компиляторами (:

Reply

snvampyre May 29 2009, 20:20:22 UTC
Чот не припомню такого.
Если посмотреть на компилятор AMD, то он компилит расталкивая 1-wide в 5-wide.
И делает это довольно успешно.
Повторяющиеся инструкции самостоятельно убирает.
И это "кривая ATI".
У NVidia наверняка не хуже.

Reply

xaerox May 29 2009, 17:13:34 UTC
а, сори, не увидел
>потому что этот асм-код
асм-код компилируется очень прозрачно, на то он и язык ассемблера, чтобы прямо транслироваться в машинные команды.

Reply

xaerox May 29 2009, 16:40:55 UTC
>GLSL хорош тем, что позволяет писать одни и те же шейдеры под любое железо
Кто тебе сказал такую глупость?
Может сейчас он и устаканился, но еще год назад в порядке вещей была ситуация, когда один и тот же глсл-шейдер на одном драйвере компилится, а на другом выдает синтакс-ерроры. Причем не связанные с экстеншенами.

Reply

snvampyre May 29 2009, 17:02:03 UTC
Это уже проблема реализации драйверов, а не самой идеологии языка.
Кто ж виноват что OpenGL поддерживается по остаточному принципу.

Reply

xaerox May 29 2009, 17:07:29 UTC
Ну когда ругают винду, имеют в виду ведь конкретный глючный билд ОС, а не идеологию Виндоус вообще? Так и тут.

Reply

snvampyre May 29 2009, 17:08:41 UTC
Не знаю, не наблюдал :)
Обычно как раз вроде ругают политику и идеологию майкрософт...

Reply

xaerox May 29 2009, 17:11:40 UTC
Ну у тебя винда не "замыливалась" никогда чтоли? (: Я вот на днях переставлял, матерился. А сейчас первые дни, все летает, и все нравится.

Reply


Leave a comment

Up