И если спецификации OpenGL 4.0 принесли с собой массу новых возможностей, которые, по сути, вывели открытый стандарт OpenGL на один уровень с закрытым Microsoft Direct3D 11, то спецификации OpenGL 3.3 снабдили старое оборудование многими новыми возможностями OpenGL 4.0.
Основными добавленными возможностями OpenGL 4.0 стали аппаратная тесселяция – возможность аппаратно-ускоренного синтеза полигонов для большей реалистичности поверхностей – и вычислительные шейдеры – ключ к переложению общих компьютерных задач с CPU на GPU (подобно GPGPU). И хотя Khronos Group уже поддерживала GPGPU посредством своих спецификаций OpenCL, новая поддержка компьютерных шейдеров в OpenGL 4 позволяет интегрировать технологию непосредственно в графический движок, что упрощает ее реализацию для разработчиков.
Также новые спецификации принесли с собой поддержку выборочных фрагментных шейдеров и программируемых фрагментных шейдеров входных позиций для улучшения качества рендеринга и гибкости антиальясинга; прорисовку данных, сгенерированных OpenGL или внешними API, вроде OpenCL, без использования CPU; шейдерные подпрограммы для значительно улучшенной гибкости программирования;; 64-х битные шейдерные операции с плавающей запятой и входы/выходы для улучшения точности и качества рендеринга и, наконец, улучшения производительности, включающие шейдеры геометрии, массивы и новый запрос к таймеру.
К сожалению многие современные возможности, которые Khronos Group обещала внести еще в OpenGL 3, так и остались лишь обещанием. В частности разработчики игр так и не получили объектно-ориентированные API, которые были разработаны для отражения использующихся в Direct3D.
В настоящее время видеокарт с поддержкой OpenGL 4 на рынке не много. Однако Nvidia заложила поддержку новых спецификаций в свои предстоящие карты Fermi, чего, впрочем, пока не скажешь об ATI (правда, поддержка, вероятнее всего, рано или поздно придет).
И, наконец, стоит отметить, что Khronos Group также выпустила спецификации OpenGL 3.3. Последние призваны принести на старое оборудование максимум возможностей OpenGL 4.
Комментарии (0)