Работает ли код opengl на GPU? - PullRequest
0 голосов
/ 29 декабря 2011

Когда есть программа, которая состоит из нормального кода на c ++ и кода opengl.Итак, и c ++, и opengl скомпилированы и связаны с ELF.И, похоже, они оба работают на процессоре.

Почему код opengl имеет больше возможностей для рисования на экране, чем код c ++?

Ответы [ 2 ]

4 голосов
/ 29 декабря 2011

Почему код opengl имеет больше возможностей для рисования на экране, чем код c ++?

Поскольку OpenGL просто отправляет команды рисования в графический процессор, который затем выполняет основную работу. Обратите внимание, что существуют также реализации OpenGL, которые не ускоряются GPU и, следовательно, не быстрее, чем другие программные растеризаторы, работающие на CPU.

2 голосов
/ 29 декабря 2011

Если вы не говорите о GLSL, нет никакого различия между "кодом C ++" и "кодом OpenGL".Это всего лишь C или C ++, в зависимости от того, что вы создаете.OpenGL - это API, библиотека, которая содержит функции, которые делают вещи.

Ваш код вызывает функции OpenGL, которые функционально не отличаются от любой другой функции C ++, которую вы можете вызвать.Функции в C ++ что-то делают, основываясь на том, как они реализованы.

Функции OpenGL сообщают графическому процессору, что делать, используя специфичные для GPU конструкции.Для этого и предназначен OpenGL: абстрагироваться от особенностей аппаратного обеспечения, чтобы вы могли писать код, не зависящий от аппаратного обеспечения.Ваш код, который вызывает функции OpenGL, должен работать в любой реализации OpenGL, которая поддерживает вашу минимальную версию GL (и расширения, если вы их используете).

Аналогично, std::fstream абстрагирует различия между, скажем, Windows иКоманды доступа к файлам Linux.Один и тот же API для пользователя, но он имеет разные реализации в разных ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...