Main Content

opengl

(제거될 예정임) OpenGL 렌더링 제어

opengl은 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 버전 내역 항목을 참조하십시오.

설명

예제

opengl info는 MATLAB®에서 현재 사용 중인 OpenGL® 구현에 대한 정보(OpenGL의 버전, 공급업체, 지원되는 그래픽스 기능 등)를 출력합니다. 이 명령을 사용하면 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 명령을 사용하여, 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 구현의 제조업체를 나타냅니다.

모든 Figure를 닫고, 하드웨어 OpenGL로 전환하고, opengl info 명령을 실행합니다. 그런 다음, 다시 소프트웨어 OpenGL로 전환합니다.

close all 
opengl hardware
opengl info
opengl software

-nosoftwareopengl 플래그를 사용하여 MATLAB을 시작합니다. 그런 다음, opengl info 명령을 실행합니다.

현재 세션에서 그래픽스를 렌더링하려면 소프트웨어 OpenGL 사용으로 전환하십시오.

opengl software

이 명령은 Windows 시스템에서만 작동합니다.

MATLAB이 이후 모든 세션에서 소프트웨어 OpenGL을 사용하여 그래픽스를 렌더링하도록 하려면 기본 설정을 지정하십시오. 이 명령은 현재 세션에는 영향을 주지 않습니다.

opengl('save','software')

입력 인수

모두 축소

현재 MATLAB에서 사용 중인 OpenGL 구현에 대한 정보로, info로 지정됩니다. opengl info 명령은 이 표에 나열된 필드를 반환합니다.

FieldDescription
VersionOpenGL 구현의 버전.
VendorOpenGL 구현의 제조업체.
RendererDriverVersionOpenGL 드라이버의 버전(하드웨어 가속 OpenGL이 설치된 Windows 시스템만). 가상 머신에서는 이 필드가 표시되지 않습니다.
RendererDriverReleaseDateOpenGL 드라이버의 릴리스 날짜(하드웨어 가속 OpenGL이 설치된 Windows 시스템만). 가상 머신에서는 이 필드가 표시되지 않습니다.
Renderer

OpenGL 렌더러에 대한 설명. 하드웨어 가속 OpenGL을 사용하는 경우, 이 필드는 그래픽 카드 모델 이름입니다.

MaxTextureSize

OpenGL 구현에서 지원하는 최대 텍스처 크기.

VisualOpenGL 구현의 표시 속성.
Software활성화된 소프트웨어 OpenGL로, 'true' 또는 'false'로 반환됩니다.
HardwareSupportLevel

하드웨어 지원 수준으로, 다음 값 중 하나로 반환됩니다.

  • 'full' — 하드웨어 가속 OpenGL(모든 그래픽스 기능 사용 가능)

  • 'basic' — 기본 하드웨어 가속 OpenGL(일부 그래픽스 기능 사용 불가능)

  • 'none' — 소프트웨어 OpenGL

MATLAB이 지원되지 않는 드라이버를 감지할 경우 이 필드는 'known graphics driver issues'도 포함합니다.

SupportsGraphicsSmoothing그래픽스 평활화 기능 지원으로, 지원되는 경우 1로, 그렇지 않으면 0으로 반환됩니다.
SupportsDepthPeelTransparency심도 투시 기법 기능에 대한 지원으로, 지원되는 경우 1로, 그렇지 않으면 0으로 반환됩니다.
SupportsAlignVertexCenters꼭짓점 중앙 맞춤(Align vertex centers) 기능에 대한 지원으로, 지원되는 경우 1로, 그렇지 않으면 0으로 반환됩니다.
Extensions

OpenGL 구현에서 지원하는 확장 기능.

MaxFrameBufferSize

OpenGL 구현에서 지원하는 최대 프레임 버퍼 크기.

그래픽스 평활화, 심도 투시 기법, 꼭짓점 중앙 정렬에 대한 자세한 내용은 고급 그래픽스 기능 항목을 참조하십시오.

소프트웨어 OpenGL로, software로 지정됩니다.

소프트웨어 OpenGL로 전환하려면 다음을 수행하십시오.

  • Windows 시스템에서는 opengl software를 실행합니다.

  • Linux® 시스템에서는 -softwareopengl 플래그를 사용하여 MATLAB을 시작합니다.

  • Macintosh 시스템은 소프트웨어 OpenGL을 지원하지 않습니다.

소프트웨어 OpenGL은 하드웨어 가속 OpenGL보다 속도가 느릴 수 있고 일부 그래픽스 기능을 지원하지 않습니다. 지원되는 기능에 대한 표는 고급 그래픽스 기능 항목을 참조하십시오.

하드웨어 가속 OpenGL로, hardware로 지정됩니다. 모든 시스템에서 opengl hardware 명령을 사용하여 기본 하드웨어에서 하드웨어 OpenGL로 전환하는 것이 지원됩니다. 하지만, opengl hardware 명령을 사용하여 소프트웨어에서 하드웨어 OpenGL로 전환하는 것은 Windows 시스템에서만 지원됩니다. Linux 시스템에서 소프트웨어에서 하드웨어로 전환하려면 -nosoftwareopengl 플래그를 사용하여 MATLAB을 시작하십시오.

시스템이 소프트웨어 OpenGL 사용으로 자동 전환되었다면, 하드웨어 OpenGL을 사용하도록 시스템을 강제로 전환할 경우 불안정해질 수 있습니다.

하드웨어 가속 OpenGL의 기본 버전으로, hardwarebasic으로 지정됩니다. 하드웨어 가속 OpenGL의 이 버전은 그래픽스 하드웨어를 사용하되 일부 그래픽스 드라이버에서 불안정한 그래픽스 기능을 비활성화합니다. 비활성화된 기능은 그래픽스 기능의 변경과 그래픽스 하드웨어의 발전에 따라 향후 릴리스에서 변경할 수 있습니다. 비활성화된 기능에 대한 표는 고급 그래픽스 기능 항목을 참조하십시오.

이후 세션에 대한 OpenGL 버전의 기본 설정으로, 다음 옵션 중 하나로 지정됩니다.

  • 'software' — 소프트웨어 OpenGL. Macintosh 시스템에서는 이 옵션을 사용할 수 없습니다.

  • 'hardware' — 하드웨어 가속 OpenGL.

  • 'hardwarebasic' — 하드웨어 가속 OpenGL로, 일부 고급 그래픽스 기능은 비활성화됨. 자세한 내용은 고급 그래픽스 기능 항목을 참조하십시오.

  • 'none' — 해당 시스템에 대한 디폴트 값.

세부 정보

모두 축소

고급 그래픽스 기능

고급 그래픽스 기능은 OpenGL의 특정 구현을 필요로 하는 기능입니다. 이에 해당하는 기능은 그래픽스 평활화, 심도 투시 기법, 꼭짓점 중앙 맞춤, 하드웨어 가속 마커입니다. 이러한 기능에 대한 지원은 다음 조건에 따라 달라집니다.

  • 하드웨어, 기본 하드웨어, 소프트웨어 OpenGL 중 어느 것을 사용하는지 여부. 사용 중인 구현이 무엇인지 확인하려면 opengl info에서 반환한 HardwareSupportLevel 필드를 확인하십시오.

  • OpenGL 구현 버전. 사용 중인 버전을 확인하려면 opengl info에서 반환한 Version 필드를 확인하십시오. 사용자 시스템의 그래픽스 하드웨어에 사용할 수 있는 최신 버전을 가져오려면 컴퓨터 제조업체 웹사이트에서 해당 그래픽스 드라이버를 업그레이드하십시오. 그래픽스 드라이버 업그레이드에 대한 자세한 내용은 그래픽스에 대한 시스템 요구 사항 항목을 참조하십시오.

이 표는 고급 그래픽스 기능과 이러한 기능이 지원되는 상황을 나열합니다.

그래픽스 기능 하드웨어 OpenGL 기본 하드웨어 OpenGL Windows에서 소프트웨어 OpenGLLinux에서 소프트웨어 OpenGL
그래픽스 평활화OpenGL 2.1 이상에서 지원됨OpenGL 2.1 이상에서 지원됨지원 안 됨지원 안 됨
심도 투시 기법(Depth Peel Transparency)OpenGL 2.1 이상에서 지원됨비활성화됨지원 안 됨지원됨
꼭짓점 중앙 맞춤OpenGL 2.1 이상에서 지원됨비활성화됨지원 안 됨지원 안 됨
하드웨어 가속 마커OpenGL 4.0 이상에서 지원됨비활성화됨지원 안 됨지원 안 됨

그래픽스 평활화

그래픽스 평활화는 울퉁불퉁하게 나타나는 선을 부드럽게 하여 플롯 모양을 향상시키는 기법입니다. 사용자의 시스템이 이 기능을 지원할 경우 이 기능은 기본적으로 활성화됩니다.

이 표는 기능이 활성화된 경우와 비활성화된 경우의 차이를 보여줍니다. 특정 Figure에 대해 이 기능을 끄려면 Figure의 GraphicsSmoothing 속성을 'off'로 설정하십시오.

지원되고 활성화된 경우지원되지 않거나 비활성화된 경우

Axes graphic with smoothing. The plotted line appears smooth.

Axes graphic with no smoothing. The plotted line appears jagged.

(확대된 보기)

Zoomed-in view of axes graphic with smoothing. The pixels near the edge of the graphic gradually transition from the blue graphic color to the white background color.


(확대된 보기)

Zoomed-in view of axes graphic with no smoothing. The color of each pixel is either the blue graphic color or the white background color, with no gradual transition between the two.


심도 투시 기법(Depth Peel Transparency)

심도 투시 기법은 투명 3차원 객체나 교차하는 투명 객체가 포함되는 복합 플롯을 정확하게 그리기 위한 기능입니다. 표에서 왼쪽 이미지는 심도 투시 기법 기능이 지원될 때 구에서 투명도를 사용한 결과를 보여줍니다. 오른쪽 이미지는 기능이 지원되지 않을 때 같은 구에서 예기치 않게 음영 영역이 발생하는 경우를 보여줍니다.

지원되는 경우지원되지 않는 경우

Semitransparent surface plot of a sphere

Semitransparent surface plot of a sphere that has randomly shaded sections inside the sphere (visual artifacts)

꼭짓점 중앙 맞춤

꼭짓점 중앙 맞춤은 선명한 수직선과 수평선을 그리기 위한 기능입니다. 그래픽 평활화가 활성화된 경우, 이로 인해 수평선과 수직선의 두께와 색이 고르지 않게 나타날 수 있습니다. 꼭짓점 중앙 맞춤 기능은 고르지 않은 모양을 없애줍니다. 기본적으로, 꼭짓점 중앙 맞춤 기능은 활성화되지 않습니다. 하지만, 사용자의 시스템에서 이 기능을 지원하면 AlignVertexCenters 속성을 'on'으로 설정하여 이 속성을 가지는 객체에 대해 이 기능을 켤 수 있습니다.

이 표는 기능이 활성화된 경우와 비활성화된 경우의 차이를 보여줍니다.

지원되고 활성화된 경우지원되지 않거나 비활성화된 경우

Four vertical lines that are sharp

Four vertical lines that are uneven in thickness. Some of the lines are blurry.

하드웨어 가속 마커

하드웨어 가속 마커는 성능과 품질 향상을 위해 그래픽스 하드웨어를 이용합니다. 이 표는 기능이 지원될 때와 지원되지 않을 때의 차이를 보여줍니다.

지원되는 경우지원되지 않는 경우

Five-pointed star with mitered (pointed) vertices

Five-pointed star with notched vertices

  • Painters는 화면 표시 및 인쇄를 위한 다른 렌더링 방법입니다. 자세한 내용은 Figure의 Renderer 속성을 참조하십시오.

  • 기본적으로 MATLAB은 하드웨어 가속 OpenGL을 사용합니다(사용자 시스템의 그래픽스 하드웨어가 이를 지원하는 경우). 하지만, 일부 경우에 다음 조건이 감지되면 MATLAB은 자동으로 소프트웨어 OpenGL로 전환합니다.

    • 알려진 문제가 있는 그래픽스 드라이버를 사용하거나 그래픽스 가상화를 사용하고 있습니다.

    • 그래픽스 문제로 인해 이전 MATLAB 세션이 예기치 않게 종료되었습니다. 이전 세션이 소프트웨어 OpenGL을 사용했는데 예기치 않게 종료된 경우 후속 세션에서는 기능이 더 적고 보다 안정적인 소프트웨어 OpenGL 버전을 사용합니다.

    • 그래픽스 하드웨어가 없거나, 시스템의 그래픽스 하드웨어가 하드웨어 OpenGL을 지원하지 않습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장