opengl
(将删除)控制 OpenGL 渲染
在以后的版本中将会删除 opengl
。有关详细信息,请参阅版本历史记录。
语法
说明
返回使用 d
= opengl('data')opengl info
提供的相同数据,但将数据存储于一个结构体中。从 R2019a 开始,不再推荐使用此语法。
opengl
使用 OpenGL 的硬件加速版本以呈现后续图形。如果您的图形硬件不支持硬件加速 OpenGL,则 MATLAB 将改用软件版本。hardware
opengl
使用 OpenGL 的硬件加速版本,但会禁用与特定图形驱动程序配合使用时不稳定的一些高级图形功能。如果您的图形硬件不支持硬件加速 OpenGL,则 MATLAB 将改用软件版本。hardwarebasic
示例
显示有关 OpenGL 的信息
使用 opengl info
命令,显示有关 MATLAB 当前使用的 OpenGL 实现的信息。例如,显示供应商、版本和受支持的图形功能。此外,还显示 MATLAB 是使用 OpenGL 硬件加速实现还是软件实现。
opengl info
Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x41, (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 时确定图形硬件 (Windows)
关闭所有图窗,切换到硬件 OpenGL,并发出 opengl info
命令。然后,切换回软件 OpenGL。
close all opengl hardware opengl info opengl software
当使用软件 OpenGL 时确定图形硬件 (Linux)
使用 -nosoftwareopengl
标志启动 MATLAB。然后,发出 opengl info
命令。
在当前会话中使用软件 OpenGL
在当前会话中切换为使用软件 OpenGL 来渲染图形。
opengl software
此命令仅在 Windows 系统上有效。
在以后的会话中使用软件 OpenGL
设置相应预设,以便 MATLAB 在所有以后的会话中使用 OpenGL 渲染图形。此命令不影响当前会话。
opengl('save','software')
输入参数
info
— 有关 OpenGL 实现的信息
info
有关 MATLAB 当前正在使用的 OpenGL 实现的信息,指定为 info
。opengl info
命令返回下表中列出的字段。
Field | Description |
---|---|
Version | OpenGL 实现的版本。 |
Vendor | OpenGL 实现的制造商。 |
RendererDriverVersion | OpenGL 驱动程序的版本(仅限带有硬件加速 OpenGL 的 Windows 系统)。虚拟机上不显示此字段。 |
RendererDriverReleaseDate | OpenGL 驱动程序的发行日期(仅限带有硬件加速 OpenGL 的 Windows 系统)。虚拟机上不显示此字段。 |
Renderer | OpenGL 渲染器说明。如果您在使用硬件加速 OpenGL,则此字段是显卡型号名称。 |
MaxTextureSize | OpenGL 实现支持的最大纹理大小。 |
Visual | OpenGL 实现的显示属性。 |
Software | 启用软件 OpenGL,以 'true' 或 'false' 形式返回。 |
HardwareSupportLevel | 硬件支持级别,以下列值之一形式返回:
如果 MATLAB 检测到不受支持的驱动程序,此字段还将包含 |
SupportsGraphicsSmoothing | 图形平滑处理功能支持,如果支持,则返回 1 ,否则返回 0 。 |
SupportsDepthPeelTransparency | 深度剥离透明度功能支持,如果支持,则返回 1 ,否则返回 0 。 |
SupportsAlignVertexCenters | 对齐顶点中心功能支持,如果支持,则返回 1 ,否则 0 。 |
Extensions | OpenGL 实现支持的扩展功能。 |
MaxFrameBufferSize | OpenGL 实现支持的最大帧缓冲区大小。 |
有关图形平滑处理、深度剥离透明度和对齐顶点中心功能的详细信息,请参阅高级图形功能。
software
— 软件 OpenGL
software
软件 OpenGL,指定为 software
。
要切换到软件 OpenGL,请执行以下操作:
在 Windows 系统上,执行
opengl software
。在 Linux® 系统上,使用
-softwareopengl
标志启动 MATLAB。Macintosh 系统不支持 OpenGL 软件。
软件 OpenGL 比硬件加速 OpenGL 速度慢,而且不支持所有图形功能。如需包含受支持功能的说明表,请参阅高级图形功能。
hardware
— 硬件加速 OpenGL
hardware
硬件加速 OpenGL,指定为 hardware
。所有系统支持使用 opengl hardware
命令从基础硬件切换到硬件 OpenGL。但是,仅 Windows 系统支持使用 opengl hardware
命令从软件切换到硬件 OpenGL。要在 Linux 系统上从软件切换到硬件,请使用 -nosoftwareopengl
标志启动 MATLAB。
如果您的系统已自动切换为使用 OpenGL 软件,那么强制您的系统使用硬件 OpenGL 可能会导致不稳定现象的出现。
hardwarebasic
— 基础版本的硬件加速 OpenGL
hardwarebasic
基础版本的硬件加速 OpenGL,指定为 hardwarebasic
。此版本的硬件加速 OpenGL 使用您的图形硬件,但会禁用与某些图形驱动程序配合使用时不稳定的图形功能。随着图形功能的变化和图形硬件的发展,已禁用的功能可能会在以后的版本中更改。要查看禁用的功能表,请参阅高级图形功能。
pref
— 用于以后会话的 OpenGL 版本预设项
'software'
| 'hardware'
| 'hardwarebasic'
| 'none'
用于以后会话的 OpenGL 版本预设项,指定为下列选项之一:
'software'
- 软件 OpenGL。此选项不适用于 Macintosh 系统。'hardware'
- 硬件加速 OpenGL。'hardwarebasic'
- 禁用了一些高级图形功能的硬件加速 OpenGL。有关详细信息,请参阅高级图形功能。'none'
- 您系统的默认值。
详细信息
高级图形功能
高级图形功能是需要特定 OpenGL 实现的功能。这些功能有图形平滑处理、深度剥离透明度和对齐顶点中心以及硬件加速标记。对这些功能的支持取决于:
您使用的是硬件、基础硬件还是软件 OpenGL。要确定您正在使用哪种实现,请检查
opengl info
返回的HardwareSupportLevel
字段。OpenGL 实现的版本。要确定正在使用的版本,请检查
opengl info
返回的Version
字段。要获取对您的图形硬件可用的最新版本,请从您的计算机制造商网站升级图形驱动程序。如需有关升级图形驱动程序的详细信息,请参阅图形的系统要求。
下表列出了高级图形功能,以及支持这些功能的环境。
图形功能 | 硬件 OpenGL | 基础硬件 OpenGL | Windows 上的软件 OpenGL | Linux 上的软件 OpenGL |
---|---|---|---|---|
图形平滑处理 | 支持 OpenGL 2.1 或更高版本 | 支持 OpenGL 2.1 或更高版本 | 不支持 | 不支持 |
深度剥离透明度 | 支持 OpenGL 2.1 或更高版本 | 禁用 | 不支持 | 支持 |
对齐顶点中心 | 支持 OpenGL 2.1 或更高版本 | 禁用 | 不支持 | 不支持 |
硬件加速标记 | 支持 OpenGL 4.0 或更高版本 | 禁用 | 不支持 | 不支持 |
图形平滑处理
图形平滑处理是通过改善不规则线条的外观来改进绘图外观的技术。默认情况下,此功能处于启用状态(如果您的系统支持它)。
下表显示该功能在启用与禁用时的差异。要针对特定的图窗关闭此功能,请将该图窗的 GraphicsSmoothing
属性设置为 'off'
。
当受支持并启用时 | 当不受支持或禁用时 |
---|---|
|
|
(放大的视图)
| (放大的视图)
|
深度剥离透明度
深度剥离透明度功能用于正确绘制透明的三维对象或包含相交透明对象的复杂绘图。下表中,左侧图像显示支持深度剥离透明度功能时在球面上使用透明度的结果。右侧图像显示不支持该功能时在相同球面上产生的意外着色区域。
当受支持时 | 当不受支持时 |
---|---|
|
|
对齐顶点中心
对齐顶点中心功能用于锐化垂直线和水平线。如果已启用图形平滑处理,则会导致水平线和垂直线出现不均匀的厚度或颜色。对齐顶点中心功能可消除外观不均匀的现象。默认情况下,对齐顶点中心功能未启用。但是,如果您的系统支持此功能,则可以通过将对象的 AlignVertexCenters
属性设置为 'on'
,为该对象打开此功能。
下表显示该功能在启用与禁用时的差异。
当受支持并启用时 | 当不受支持或禁用时 |
---|---|
|
|
硬件加速标记
硬件加速标记可以充分利用您的图形硬件来提高性能和质量。下表显示该功能在受支持与不受支持时的差异。
当受支持时 | 当不受支持时 |
---|---|
|
|
提示
Painters 是屏幕显示和打印的备用渲染方法。有关详细信息,请参阅图窗的
Renderer
属性。默认情况下,MATLAB 使用硬件加速 OpenGL 进行渲染,前提是您的图形硬件支持它。但是,在某些情况下,MATLAB 会自动切换到软件 OpenGL,例如,如果检测到以下情形:
您使用的图形驱动程序存在已知问题或在使用图形虚拟化。
以前的 MATLAB 会话曾因图形问题而崩溃。如果先前的会话使用软件 OpenGL 并且崩溃,则后续会话将使用具有较少功能但更稳定的软件 OpenGL 版本。
您未安装图形硬件或您的图形硬件不支持硬件 OpenGL。
版本历史记录
在 R2006a 之前推出R2022a: 将在以后的版本中删除
R2019a: 不推荐查询图形渲染器
不推荐使用 opengl
函数获取有关图形渲染器的信息。具体而言,不推荐使用以下语法:
opengl info
d = opengl('data')
当前没有停止支持这些语法的计划。调用 rendererinfo
函数而不是 opengl
来获取渲染器信息:
info = rendererinfo(ax)
ax
指定为某一类型的坐标区,或者是一个可作为图窗子级的图(如热图)。输出是一个结构体,其中包含的信息大部分与 opengl
函数提供的信息相同。
opengl 结构体中的字段 | rendererinfo 结构体中的对应字段 |
---|---|
d.Version | info.Version |
d.Vendor | info.Vendor |
d.Renderer | info.RendererDevice |
d.RendererDriverVersion | info.Details.RendererDriverVersion |
d.RendererDriverReleaseDate | info.Details.RendererDriverReleaseDate |
d.MaxTextureSize | info.Details.MaxTextureSize |
d.Visual | 不再需要 |
d.Software | 此信息存储在 info.GraphicsRenderer 中,但要获得等效的逻辑值,请使用 strcmp(info.GraphicsRenderer,'OpenGL Software') |
d.HardwareSupportLevel | info.Details.HardwareSupportLevel |
d.SupportsGraphicsSmoothing | info.Details.SupportsGraphicsSmoothing |
d.SupportsDepthPeelTransparency | info.Details.SupportsDepthPeelTransparency |
d.SupportsAlignVertexCenters | info.Details.SupportsAlignVertexCenters |
d.Extensions | 不再需要 |
d.MaxFrameBufferSize | info.Details.MaxFrameBufferSize |
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)