Вычисления общего назначения с шейдерами Vertex / Pixel (Open GL / DirectX)

У меня есть вопрос по поводу вычислительных шейдеров. компьютерные шейдеры доступны в DX 9? Можно ли по-прежнему использовать вычислительный шейдер с драйвером DX9, если на графическом процессоре нет фрагмента вычислительного шейдера? (У SGX 545 его нет, но у поколения SGX 6X будет), насколько говорит IMG. Я хотел бы знать, могу ли я сделать простое программирование общего назначения на графических процессорах SGX с драйверами DirectX9 или OpenGL.

Кроме того, могу ли я использовать вершинные шейдеры OpenGL для программирования GPGPU? Вот что я думаю: я загружу свои матрицы / данные в буфер вершин и свяжу их с контекстом программы. Я загружу некоторые другие статические переменные в унифицированные переменные, а мою настоящую вычислительную программу - в вершинный шейдер. До этого момента он выглядит выполнимым (не так ли?), Но вывод вершинного шейдера пройдет растеризацию и будет передан фрагментному шейдеру (в зависимости от того, как обстоят дела в openGL). В любом случае я могу предотвратить прохождение данных через всю графическую линию, или я могу перехватить после выполнения вершинного шейдера выполнение и каким-то образом прочитать значения и время, затраченное на выполнение?

Ответы на вопрос(2)

Ваш ответ на вопрос