Ограничения программы построения теней

Я записал библиотеку Perl, CAM:: PDF, с интерфейс командной строки , который может решить это. Я попытался использовать решение FDF несколько лет назад, но нашел, что оно слишком усложнило, который является, почему я записал CAM:: PDF во-первых. Моя библиотека использует несколько эвристики для замены формы требуемым текстом, таким образом, это не прекрасно. Но это работает большую часть времени, и это быстро, свободно и довольно просто для использования.

13
задан Daniel Rodriguez 24 November 2009 в 20:48
поделиться

4 ответа

Шейдерные формы обычно реализуются аппаратным обеспечением как регистры (или иногда путем исправления значений непосредственно в микрокод шейдера, например, фрагментные шейдеры nVidia ). Таким образом, ограничение во многом зависит от реализации.

11
ответ дан 2 December 2019 в 01:21
поделиться

Чтобы узнать, как получить максимальное число, поддерживаемое вашей реализацией OpenGL, см. Ответ moonshadow.

Чтобы понять, где на самом деле ограничение для произвольных графических процессоров, я бы рекомендовал посмотреть, какие Версия DX, поддерживаемая графическим процессором.

Оборудование уровня DX9:

  • vs2_0 поддерживает 256 vec4. ps2_0 поддерживает 32 vec4.
  • vs3_0 - 256 vec4, ps3_0 - 224 vec4.

Оборудование уровня DX10:

vs4_0 / ps4_0 минимум 4096 констант на буфер констант - и у вас может быть их 16.

Короче говоря, вряд ли у вас закончится что-то, основанное на DX10.

2
ответ дан 2 December 2019 в 01:21
поделиться

Думаю, максимальное количество униформ определяется объемом видеопамяти, поскольку это всего лишь переменная. Обычные переменные на процессоре тоже ограничены вашей оперативной памятью, верно?

-6
ответ дан 2 December 2019 в 01:21
поделиться

См. 4.3.5 Uniform спецификации OpenGL® Shading Language . :

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

Он завершится ошибкой при компоновке или во время компиляции, но не при использовании программы.

3
ответ дан 2 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: