GLFW
GLFW| 개발자 | GLFW 개발 팀 |
|---|---|
| 안정적 해제 | 3.3.4 / 2021년 4월 8일; 전[1] |
| 리포지토리 | |
| 기록 위치 | C |
| 운영 체제 | Linux, macOS, Microsoft Windows, FreeBSD, NetBSD, OpenBSD |
| 플랫폼 | 크로스 플랫폼 |
| 유형 | API |
| 면허증 | zlib/libpng 라이센스[2] |
| 웹사이트 | www |
GLFW는 OpenGL과 함께 사용할 수 있는 경량 유틸리티 라이브러리다.GLFW는 Graphics Library Framework를 의미한다.프로그래머에게 창과 OpenGL 컨텍스트를 만들고 관리하는 기능은 물론 조이스틱, 키보드, 마우스 입력 처리 기능을 제공한다.
소프트웨어 아키텍처
GLFW는 OpenGL 컨텍스트를 가진 창을 만들고 관리할 수 있는 작은 C 라이브러리로 다중 모니터와 비디오 모드 사용도 가능하다.키보드, 마우스, 조이스틱 등의 입력에 접근할 수 있다.[3]API는 주로 OpenGL API를 통한 유일한 그래픽 출력이 있는 애플리케이션을 위해 얇은 멀티플랫폼 추상화 레이어를 제공한다.GLFW는 멀티플랫폼 OpenGL 애플리케이션을 개발할 때 매우 유용하지만, 단일 플랫폼 개발자는 서로 다른 플랫폼별 API를 취급하지 않아도 되는 장점도 얻을 수 있다.
GLFW와 같은 라이브러리가 필요한 가능한 이유는 OpenGL 자체만으로는 필요한 컨텍스트 생성, 창 관리, 사용자 입력, 타이밍 등을 위한 메커니즘을 제공하지 않기 때문이다.OpenGL 개발을 지원하기 위해 사용할 수 있는 몇 개의 다른 라이브러리가 있다.가장 흔한 것은 FreeGLut(GLUT의 오픈소스 구현)과 SDL이다. 그러나 FreeGLut은 대부분 안정적인 GLUT 복제품 제공에 관심이 많은 반면 SDL은 일부 사람들에게는 너무 크고 OpenGL을 주안점으로 한 적이 없다.GLFW는 OpenGL 컨텍스트, 창 및 입력을 관리할 수 있는 가볍고 현대적인 라이브러리를 위한 공간이 있다는 가정 하에 예측된다.
GLFW는 설계가 아니라...[4]
- 사용자 인터페이스 라이브러리프로그래머가 OpenGL 컨텍스트를 가진 최상위 수준의 창을 만들 수 있게 해준다.메뉴도 없고 버튼도 없어
- Windows 전용 라이브러리윈도우즈 포트에서 창 생성 시 GLFW_ICON 리소스를 찾는 것처럼 눈에 띄지 않는 한, 포트별로 구현할 수 없는 기능에 대한 요청은 거부된다.
- 나사산이 있는 도서관이미 좋은 교차 플랫폼 스레딩 라이브러리가 있고 스레딩이 C11 및 C++11 표준 라이브러리에 모두 추가되었다.
- 이미지 로딩 라이브러리이미 좋은 교차 플랫폼 이미지 로딩 라이브러리가 있다.[5]
- 텍스트 렌더링 가능.OpenGL로 텍스트를 렌더링하는 라이브러리는 이미 여러 개 있으며, 일관된 교차 플랫폼 텍스트 렌더링은 어쨌든 플랫폼의 텍스트 렌더링 설비에 의존할 수 없다.
- 어떤 것이든 렌더링할 수 있는.렌더링은 프로그래머 및/또는 다른 라이브러리에 달려 있다.
- 모든 플랫폼의 사용자 인터페이스 툴킷과 통합.
- 사운드를 재생할 수 있음.
- 글루트 또는 SDL.
프로그래밍 언어 바인딩
GLFW가 C로 작성되어 있지만, Binding은 Ada, C#, Common Lisp, D, D, Delphi, Go, Harbour, Haskell, Java, Julia, Python, Revol, Red, Ruby, Rust 등의 프로그래밍 언어와 함께 API를 사용하기 위해 존재한다.[6]
백엔드
GLFW 버전 3.2는 컴파일 시간 플래그를 통해 웨이랜드를 실험적으로 지원한다.[7]
참고 항목
- 글루트 – OpenGL의 레거시 윈도우 설정 툴킷
- OpenGL Extension 랭글러 라이브러리
- 레이리브
- 심플 다이렉트미디어 레이어
참조
- ^ "Releases · glfw/glfw". github.com. Retrieved 2021-04-10.
- ^ "License GLFW". glfw.org. Retrieved 2021-04-10.
- ^ "GLFW: Input guide". www.glfw.org. Retrieved 2021-02-07.
- ^ "GLFW – FAQ". Retrieved 11 July 2015.
- ^ "PNGs in OpenGL?". www.xspdf.com. Retrieved 2021-02-07.
- ^ "GLFW Programming language bindings". Retrieved 4 September 2019.
- ^ "GLFW: New features in 3.2".