GLX

GLX
GLX
원저작자SGI
초기 릴리즈1992
안정된 릴리스
1.4 / 2005년 12월 16일
기입처C
면허증.SGI FreeB 라이선스[1]
웹 사이트dri.freedesktop.org/wiki/GLX/

GLX(X Window System에 대한 OpenGL 확장의 이니셜리즘)는 OpenGL과 X Window 시스템 간의 인터페이스제공하는 X Window 시스템 핵심 프로토콜의 확장입니다.X Window 시스템에서 제공하는 창에서 OpenGL을 사용하려는 프로그램이 이를 수행할 수 있습니다.GLX는 간접 상태와 직접 상태의 두 가지 "상태"를 구분합니다.

역사

Silicon Graphics는 X Window System에서 OpenGL을 지원하기 위한 노력의 일환으로 GLX를 개발했습니다.1999년 SGI는 오픈 소스 [2]라이선스로 GLX를 출시하여 2000년 XFree86 소스 코드 버전 4.0에 통합하였다.거기서부터, 코드는 포크 X에 의해서 계승되었습니다.X Window System X11R6.7.0의 Org Foundation 버전.2008년 9월 19일, SGI는 새로운 SGI FreeB 라이센스 버전 2.0을 만들었습니다.이 버전에는 X가 사용하는 무료 X11 라이선스가 반영되어 있습니다.'Org' 및 '무료'[3]에 대한 자유 및 오픈 소스 소프트웨어 커뮤니티의 널리 받아들여지고 있는 정의를 나타냅니다.2009년에 자유 소프트웨어 재단은 SGI Free License B를 자유 소프트웨어 라이선스로, GLX를 중요한 자유 소프트웨어 그래픽 [4][5]프로젝트로 승인했습니다.2011년 현재 GLX는 버전 1.4에 도달했습니다.

GLX API의 첫 번째 내부 구현(GLcore)[6]에서는 X 서버 내에 Mesa의 소프트웨어 렌더러 버전이 로드되어 창 또는 pixmap에 OpenGL 명령어가 렌더링되었습니다.DRI의 개발로 하드웨어 가속 OpenGL을 직접 컨텍스트를 통해 사용할 수 있는 기능이 추가되었습니다(주로 비디오 게임에 의해 사용됨2006년에는 네스트된 Xgl X 서버와 컴포넌트매니저의 보급에 의해 가속 간접 GLX(AIGLX)가 개발되었습니다.AIGLX는 X 서버 내에 Mesa DRI 드라이버를 로드함으로써 GLX(간접 컨텍스트) 애플리케이션에 하드웨어 액셀러레이션을 가져옵니다.이 메서드를 사용하면 간접 컨텍스트(모두 X 서버 내의 동일한 주소 공간에 있음)를 사용하여 X 클라이언트 간에 GL 개체를 공유할 수 있으며 X 클라이언트와 컴포지팅창 매니저 간에 GL 개체를 공유할 수 있으므로 구성이 고속화됩니다.2008년에 GLcore에서 Mesa 소프트웨어 렌더러에 대한 바인딩은 DRI 인터페이스 모듈로 다시 작성되었습니다.swrast_dri.soMesa와 X 서버의 결합을 개선합니다.또한 2008년에는 DRI를 대체하기 위해 새로운 DRI2가 도입되었으며, 커널 모드 설정을 기반으로 한 새로운 모델이 출시되었습니다.2011년 Glamor 프로젝트는 OpenGL 기반의 범용 하드웨어 가속 2D X 드라이버를 추가하는 것을 목표로 시작되었습니다.2013년 Adam Jackson은 Glamor, 간접 렌더링에서 OpenGL의 라이브러리 libGL에 [7]이르는 다양한 경로를 통합하기 위해 GLX 코드를 대대적으로 수정했습니다.

특징들

X11에는 GLX 데모(glxgears)가 포함되어 있습니다.

GLX는 다음 세 부분으로 구성됩니다.

  1. X Window System 응용 프로그램에 OpenGL 함수를 제공하는 API입니다.
  2. 클라이언트(OpenGL 응용 프로그램)가 X 서버(디스플레이를 담당하는 소프트웨어)에 3D 렌더링 명령을 보낼 수 있도록 하는 X 프로토콜의 확장입니다.클라이언트와 서버 소프트웨어는 다른 컴퓨터에서 실행될 수 있습니다.
  3. 클라이언트로부터 렌더링 명령을 수신하여 설치된 OpenGL 라이브러리에 전달하는 X 서버의 확장입니다.

클라이언트와 서버가 같은 컴퓨터상에서 동작하고 있고, 적절한 드라이버를 사용한 액셀러레이션 3D 그래픽 카드를 사용할 수 있는 경우는, 앞의 2개의 컴포넌트를 DRI로 바이패스 할 수 있습니다.이 경우 클라이언트애플리케이션은 여러 API 레이어를 통해 비디오하드웨어에 직접 액세스 할 수 있습니다.

실장

「 」를 참조해 주세요.

  • WGL – Open에 동등한 Microsoft Windows 인터페이스GL
  • CGL – Open에 동등한 MacOS 인터페이스GL
  • EGL – OpenGL ES 또는 VG와 기본 네이티브 플랫폼 윈도 시스템 간의 유사한 크로스 플랫폼 인터페이스
  • GLUT – OpenGL 프로그램용 유틸리티 라이브러리

레퍼런스

  1. ^ oss-project-owners (2012). "History and Most Recent Version of the SGI Free Software License B". Silicon Graphics International. Archived from the original on 2017-04-20. Retrieved 2017-04-11.
  2. ^ Jon Leech (2012). "OpenGL Sample Implementation". Silicon Graphics International. Retrieved 2017-04-11.
  3. ^ "SGI Further Opens Its OpenGL Contributions". 2008-09-19. Archived from the original on 2012-02-11.
  4. ^ Lee, Matt (2008-09-19). "Thank you SGI, for freeing the GNU/Linux 3D desktop!". Free Software Foundation. Retrieved 2017-04-11.
  5. ^ brett (2009-01-13). "3D graphics are 100% free software". Free Software Foundation. Retrieved 2017-04-11.
  6. ^ "DRI – GLcore". freedesktop.org. 2016-07-20. Retrieved 2017-04-11.
  7. ^ Jackson, Adam (2014-02-04). "Rewriting GLX To Rewrite X". Linux.conf.au. Archived from the original on 2021-12-21. Retrieved 2017-04-11.

외부 링크