>А зачем тебе разделение на уровне выше рендер АПИ?
Часто нужны несколько фрагментных шейдеров с одинаковым вершинным и наоборот. А иногда у одинаковых шейдеров должны быть одинаковые наборы uniform'ов.
Да даже, если я выберу другой и постараюсь их объединить, то возникнут проблемы в DX-рендере, где на каждый шейдер приходится свой набор констант. Придётся устанавливать их по нескольку раз. То есть проблемы будут в любом случае, поэтому я выбираю более гибкий вариант.
>(все в одном файле) и есть возможность легко добавлять вспомогательную информацию или вообще генерить из материала (высокоуровнего шейдера).
Этому вроде никак не мешает возможность разделения шейдеров.
gammaker
> То есть проблемы будут в любом случае, поэтому я выбираю более гибкий вариант.
Как показывает практика, GLSL идея более продумана...
Ataman
Ради интереса, X-Plane сильно будет глючить на вашем железе ?
gammaker
> Часто нужны несколько фрагментных шейдеров с одинаковым вершинным и наоборот.
Пишешь ссылку на исходник в другом файле. А в реализации своего рендера делаешь как удобней. Грубо говоря, надо просто взглянуть на такой "шейдер", как на настройку всей программируемой части нативного рендерного пайплайна.
gammaker
> Да даже, если я выберу другой и постараюсь их объединить, то возникнут проблемы
> в DX-рендере, где на каждый шейдер приходится свой набор констант.
Вопрос в том, насколько универсальным и быстрым надо сделать интерфейс установки констант. В самом низкоуровневом варианте можно просто добавить тип стейджа. В более высокоуровневом это прозрачно для кода установки, так же как и создание и биндинг cb, так как все прописано в самом шейдере (или через рефлекшн).
gammaker
> Этому вроде никак не мешает возможность разделения шейдеров.
Это скорее неудобно, чем мешает - больше писать каждый раз при установке шейдера, легче ошибиться. И нужно дополнительно менеджить на GL.
innuendo
> Ради интереса, X-Plane сильно будет глючить на вашем железе ?
У нас ассортимент необычных карт минимальный, и мы не используем никакие специфические расширения. Так что ничего не могу сказать. А вот у тебя, наверно, будет возможность попробовать вживую на редких экземплярах. ;)
Ataman
> А вот у тебя, наверно, будет возможность попробовать вживую на редких
> экземплярах. ;)
Думаю нет, я затроллил даже там :)
> нас ассортимент необычных карт минимальный, и мы не используем никакие
> специфические расширения
Да нет там никаких специфических... Кстати, известный авиасим ( последний ) имел проблемы на Radeon... вот тебе и не GL :)
Тема в архиве.