2014-01-12 4 views
1
  • Как часто поддерживается Buffer Stencil прямо сейчас на оборудовании в OpenGL?OpenGL Stencil Buffer, насколько хорошо они поддерживаются?

  • Поддерживается ли это лучше или хуже, чем у шейдеров?

  • Если аппаратное обеспечение не поддерживает его, будет ли оно эмулироваться в программном обеспечении?

Я не смогло найти какие-либо достоверные данные по этому вопросу, к сожалению ... Я хочу, чтобы предположить, что, поскольку трафарет старой технологии, она бы вездесущий поддержку. Однако, будучи старой технологией, можно так же легко избавиться от новых аппаратных средств GPU в пользу фрагментарных шейдеров.

В моем сценарии я бы использовал 8-битный буфер трафарета в сочетании с 24-битным буфером глубины, используемым с VBOs (если это влияет на что-либо). Если я использую буфер трафарета, то те, у кого нет поддержки трафарета, не смогут играть в игру, которую я делаю, поэтому беспокоиться. Если они могут, по крайней мере, эмулировать трафаретный эффект в программном обеспечении, хотя это было бы не идеально, этого было бы достаточно, чтобы поверить моим страхам.

+1

Форматы шаблонов IIRC все еще присутствуют в 4.4. Вы вообще проверяли спецификацию? –

+0

@Bartek - Я сделал, но сложно получить представление о том, какая поддержка выглядит в дикой природе только от этого. Из того, что я читал, некоторые графические процессоры плохо реализуют его части, если они вообще это делают. –

+0

Если это спецификация, каждый значок графического процессора «Поддерживает OpenGL» должен поддерживать его. И учитывая, что у них были годы для этого ... –

ответ

2

Буферы для трафарета по-прежнему находятся в спецификации OpenGL 4.4. Они описаны в разделе 9.1, а трафаретные тесты - это раздел 17.3.5.

Вы гарантированы буферами трафарета. Независимо от того, выполняются ли они на графическом процессоре или в программном обеспечении, это детализация реализации. Любая машина, которая может запускать версию OpenGL, на которую настроен таргетинг, должна иметь возможность обрабатывать трафаретные тесты на процессоре, не нарушая пота.

1

Как часто поддерживается буфером трафарета прямо сейчас с помощью оборудования в OpenGL?

Буферы с трафаретом обычно поддерживаются графическим процессором с древних времен.

Это лучше/хуже поддерживается, чем шейдеры?

«Разве холоднее, чем снаружи ночью?» Да, этот вопрос затрагивает столько же смысла. Stencil buffers сервер совершенно другой цели, чем шейдеры.

Если аппаратное обеспечение не поддерживает его, будет ли оно эмулироваться в программном обеспечении?

Да, но не в желательном виде: весь трубопровод рендеринга отбросит до чисто программного рендеринга. Тест трафарета реализуется с помощью аппаратной функциональности и не может быть эмулирован программным обеспечением «drop-in», которое только реализует тест трафарета, в то время как остальные были реализованы по-разному. Это просто не работает.

К счастью, каждый графический процессор, с которым вы столкнетесь в дикой природе, поддерживает тесты трафарета. Так что это не имеет никакого отношения.

Смежные вопросы