exponenta event banner

opengl

Управление рендерингом OpenGL

Описание

пример

opengl info печатает информацию о реализации OpenGL ®, используемой в настоящее время MATLAB ®, такую как версия, поставщик и графические функции, которые она поддерживает. С помощью этой команды загружается OpenGL. Начиная с R2019a, этот синтаксис больше не рекомендуется. Дополнительные сведения см. в разделе Вопросы совместимости.

d = opengl('data') возвращает те же данные, что и opengl info, но хранит его в структуре. Начиная с R2019a, этот синтаксис больше не рекомендуется.

пример

opengl software использует программную версию OpenGL для визуализации последующих графических объектов для текущей сессии MATLAB. Эта команда работает только в системах Windows ®.

opengl hardware использует аппаратно ускоренную версию OpenGL для визуализации последующих графических объектов. Если графическое оборудование не поддерживает OpenGL с аппаратным ускорением, MATLAB использует версию программного обеспечения.

opengl hardwarebasic использует аппаратно ускоренную версию OpenGL, но отключает некоторые расширенные графические возможности, нестабильные с определенными драйверами графики. Если графическое оборудование не поддерживает OpenGL с аппаратным ускорением, MATLAB использует версию программного обеспечения.

пример

opengl('save',pref) устанавливает настройки таким образом, чтобы в будущих сессиях MATLAB на этом компьютере использовалась предпочтительная версия OpenGL. Определить pref как 'software', 'hardware', 'hardwarebasic', или 'none'. Эта команда не влияет на текущий сеанс.

Примеры

свернуть все

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

opengl info
                          Version: '2.1 Mesa 17.1.3'
                           Vendor: 'Brian Paul'
                         Renderer: 'Mesa X11'
                   MaxTextureSize: 16384
                           Visual: 'Visual 0x23, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)'
                         Software: 'true'
             HardwareSupportLevel: 'none'
        SupportsGraphicsSmoothing: 0
    SupportsDepthPeelTransparency: 1
       SupportsAlignVertexCenters: 0
                       Extensions: {152x1 cell}
               MaxFrameBufferSize: 16384

Использование opengl info определите графическое оборудование, проверив Vendor и Renderer поля.

opengl info
                          Version: '3.3.0'
                           Vendor: 'NVIDIA Corporation'
                         Renderer: 'Quadro 400/PCIe/SSE2'
            RendererDriverVersion: '9.18.13.3182'
        RendererDriverReleaseDate: '11-Nov-2013'
                   MaxTextureSize: 8192
                           Visual: 'Visual 0x07, (RGBA 32 bits...'
                         Software: 'false'
             HardwareSupportLevel: 'full'
        SupportsGraphicsSmoothing: 1
    SupportsDepthPeelTransparency: 1
       SupportsAlignVertexCenters: 1
                       Extensions: {248x1 cell}
               MaxFrameBufferSize: 8192

Примечание

Если возвращенные поля содержат строку Software: 'true', то вы используете программное обеспечение OpenGL и имя, указанное в Vendor не является поставщиком графического оборудования. Вместо этого, Vendor в поле указывается производитель программного обеспечения для реализации OpenGL.

Закройте все рисунки, переключитесь на аппаратный OpenGL и выполните команду opengl info команда. Затем вернитесь к программному обеспечению OpenGL.

close all 
opengl hardware
opengl info
opengl software

Запустите MATLAB с помощью -nosoftwareopengl флаг. Затем выдайте opengl info команда.

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

opengl software

Эта команда работает только в системах Windows.

Настройте настройки так, чтобы MATLAB использовал программное обеспечение OpenGL для визуализации графики во всех будущих сессиях. Эта команда не влияет на текущий сеанс.

opengl('save','software')

Входные аргументы

свернуть все

Информация о реализации OpenGL, используемой MATLAB, указанная как info. opengl info возвращает поля, перечисленные в этой таблице.

FieldDescription
VersionВерсия реализации OpenGL.
VendorПроизводитель реализации OpenGL.
RendererDriverVersionВерсия драйвера OpenGL (системы Windows только с аппаратным ускорением OpenGL). Это поле не отображается на виртуальных машинах.
RendererDriverReleaseDateДата выпуска драйвера OpenGL (системы Windows только с аппаратным ускорением OpenGL). Это поле не отображается на виртуальных машинах.
Renderer

Описание средства визуализации OpenGL. При использовании аппаратного ускорения OpenGL в этом поле указывается имя модели графической карты.

MaxTextureSize

Максимальный размер текстуры, поддерживаемый реализацией OpenGL.

VisualОтображение свойств реализации OpenGL.
SoftwareПрограммное обеспечение OpenGL включено, возвращено как 'true' или 'false'.
HardwareSupportLevel

Уровень поддержки оборудования, возвращаемый как одно из следующих значений:

  • 'full' - OpenGL с аппаратным ускорением (все графические возможности включены)

  • 'basic' - Базовая технология OpenGL с аппаратным ускорением (некоторые графические возможности отключены)

  • 'none' - Программное обеспечение OpenGL

Если MATLAB обнаруживает неподдерживаемый драйвер, это поле также содержит 'known graphics driver issues'.

SupportsGraphicsSmoothingПоддержка функции сглаживания графики, возвращенная как 1 если поддерживается или 0 в противном случае.
SupportsDepthPeelTransparencyПоддержка прозрачности глубины, возвращаемая как 1 если поддерживается или 0 в противном случае.
SupportsAlignVertexCentersВыравнивание центров вершин по опоре элемента, возвращаемой как 1 если поддерживается или 0 в противном случае.
Extensions

Расширенные возможности, поддерживаемые реализацией OpenGL.

MaxFrameBufferSize

Максимальный размер буфера кадров, поддерживаемый реализацией OpenGL.

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

Программное обеспечение OpenGL, указанное как software.

Чтобы переключиться на программное обеспечение OpenGL:

  • В системах Windows выполните opengl software.

  • В системах Linux ® запустите MATLAB с помощью -softwareopengl флаг.

  • Системы Macintosh не поддерживают программное обеспечение OpenGL.

Программное обеспечение OpenGL может быть медленнее аппаратного ускорения OpenGL и не поддерживает все графические возможности. Таблицу поддерживаемых функций см. в разделе Дополнительные графические возможности.

OpenGL с аппаратным ускорением, указанный как hardware. Поддержка всех систем с помощью opengl hardware для переключения с базового оборудования на аппаратное OpenGL. Однако только системы Windows поддерживают использование opengl hardware для переключения с программного обеспечения на аппаратное OpenGL. Для перехода от программного обеспечения к аппаратному обеспечению в системах Linux запустите MATLAB с помощью -nosoftwareopengl флаг.

Если система автоматически переключилась на использование программного обеспечения OpenGL, то принудительное использование аппаратного обеспечения OpenGL может привести к нестабильности.

Базовая версия OpenGL с аппаратным ускорением, указанная как hardwarebasic. Эта версия OpenGL с аппаратным ускорением использует графическое оборудование, но отключает графические функции, нестабильные с некоторыми драйверами графики. Отключенные функции могут меняться в будущих выпусках по мере изменения графических функций и развития графического оборудования. Таблицу отключенных функций см. в разделе Дополнительные графические возможности.

Настройка версии OpenGL для будущих сессий, указанная как один из следующих параметров:

  • 'software' - Программное обеспечение OpenGL. Этот параметр недоступен в системах Macintosh.

  • 'hardware' - OpenGL с аппаратным ускорением.

  • 'hardwarebasic' - Аппаратное ускорение OpenGL с некоторыми расширенными графическими функциями отключено. Дополнительные сведения см. в разделе Дополнительные графические возможности.

  • 'none' - Значение по умолчанию для системы.

Подробнее

свернуть все

Расширенные графические возможности

Расширенные графические возможности - это функции, требующие определенных реализаций OpenGL. Эти функции включают сглаживание графики, прозрачность отслаивания по глубине, выравнивание центров вершин и аппаратно ускоренные маркеры. Поддержка этих функций зависит от:

  • Используется ли оборудование, базовое оборудование или программное обеспечение OpenGL. Для определения используемой реализации проверьте HardwareSupportLevel поле, возвращенное opengl info.

  • Версия реализации OpenGL. Чтобы определить используемую версию, проверьте Version поле, возвращенное opengl info. Чтобы получить последнюю версию графического устройства, обновите драйверы с веб-сайта производителя компьютера. Дополнительные сведения об обновлении графических драйверов см. в разделе Системные требования к графической системе.

В этой таблице перечислены расширенные графические возможности и условия их поддержки.

Графический элемент Аппаратный OpenGL Базовое аппаратное обеспечение OpenGL Программное обеспечение OpenGL в WindowsПрограммное обеспечение OpenGL в Linux
Сглаживание графикиПоддерживается для OpenGL 2.1 или более поздней версииПоддерживается для OpenGL 2.1 или более поздней версииНе поддерживаетсяНе поддерживается
Прозрачность отслаивания по глубинеПоддерживается для OpenGL 2.1 или более поздней версииОтключенныйНе поддерживаетсяПоддержанный
Выравнивание центров вершинПоддерживается для OpenGL 2.1 или более поздней версииОтключенныйНе поддерживаетсяНе поддерживается
Аппаратно-ускоренные маркерыПоддерживается для OpenGL 4.0 или более поздней версииОтключенныйНе поддерживаетсяНе поддерживается

Сглаживание графики

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

В этой таблице показана разница между включением или отключением функции. Чтобы отключить эту функцию для определенной фигуры, установите GraphicsSmoothing свойство фигуры для 'off'.

При поддержке и включенииЕсли не поддерживается или отключен

(Увеличенный вид)


(Увеличенный вид)


Прозрачность отслаивания по глубине

Прозрачность разделения по глубине - это функция правильного рисования прозрачных 3-D объектов или сложных графиков, содержащих пересекающиеся прозрачные объекты. В таблице левое изображение показывает результат использования прозрачности в сфере, когда поддерживается функция прозрачности отслаивания по глубине. На правом рисунке показана та же сфера с неожиданными затененными областями, которые возникают, когда элемент не поддерживается.

При поддержкеКогда не поддерживается

Выравнивание центров вершин

Выравнивание центров вершин является элементом для острых вертикальных и горизонтальных линий. Если графическое сглаживание включено, горизонтальные и вертикальные линии могут выглядеть неравномерными по толщине или цвету. Функция выравнивания центров вершин устраняет неравномерность внешнего вида. По умолчанию функция выравнивания центров вершин не включена. Однако если система поддерживает эту функцию, ее можно включить для объектов с AlignVertexCenters путем установки для свойства значения 'on'.

В этой таблице показана разница между включением или отключением функции.

При поддержке и включенииЕсли не поддерживается или отключен

Аппаратно-ускоренные маркеры

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

При поддержкеКогда не поддерживается

Совет

  • Живописцы - альтернативный метод визуализации для отображения на экране и печати. Для получения дополнительной информации см. рисунок Renderer собственность.

  • По умолчанию MATLAB использует OpenGL с аппаратным ускорением, если его поддерживает графическое оборудование. Однако в некоторых случаях MATLAB автоматически переключается на программное обеспечение OpenGL, например, если обнаруживает:

    • Вы используете графический драйвер с известными проблемами или виртуализацией графики.

    • Предыдущая сессия MATLAB завершилась сбоем из-за проблемы с графикой. Если предыдущая сессия использовала программное обеспечение OpenGL и потерпела сбой, то последующие сессии используют более стабильную версию программного обеспечения OpenGL, которая имеет меньше возможностей.

    • Отсутствует графическое оборудование или графическое оборудование не поддерживает OpenGL.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019a

Представлен до R2006a