2011-12-21 3 views
0

Apple OpenGL Shader Builder позволяет вам сбрасывать шейдеры вершин (или фрагментов), а затем связывать и проверять его, а затем сообщать вам, какой GL_RENDERER используется для этого шейдера. Для меня это либо показывает: Apple Software Renderer (красным, потому что это означает, что шейдер будет медленным) или AMD Radeon HD 6970M OpenGL Engine (т. Е. Рендеринга моего gpu, который я обычно хочу запустить шейдером).Определите, какой рендерер используется для вершинного шейдера

Как я могу определить это во время выполнения в моем собственном программном обеспечении?

Edit: GL_RENDERER Запросы в моем коде CPU всегда кажется, вернуться AMD Radeon HD 6970M OpenGL Engine независимо от того, где я помещаю его в петлю дро, даже если я использую шейдер, OpenGL Shader Builder говорит работает на Apple Software Renderer (и я считаю, что это очень медленно). Это вопрос запроса GL_RENDERER в нужный момент? Если да, то когда?

ответ

0

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

Так что вы действительно действительно правильный метод.

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