SDL과 OpenGL이 관련된 이유
SDL을 만지작거리다가 SDL에서는 이미지를 회전할 수 없다는 것을 알게 되었습니다.질문하는 곳마다 OpenGL을 사용하여 회전하라고 합니다.SDL은 OpenGL과는 완전히 다른 것으로 생각하고 있었습니다만, 잘못 생각하고 있는 것입니까?SDL에서 OpenGL을 사용하기 위한 튜토리얼도 발견되어 더욱 혼란스러웠습니다.SDL과 OpenGL의 관계는 정확히 무엇입니까?OpenGL이 더 강력하고 더 많은 작업을 수행할 수 있다면 OpenGL을 사용하면 어떨까요? (제가 읽은 내용을 참고).
SDL은 OpenGL 위의 레이어입니다.실제로 Windows 상에서 GDI를 디폴트로 사용하고 DirectX 백엔드도 갖추고 있습니다.OpenGL(ahem, Linux)을 기본적으로 사용하는 플랫폼에서는 OpenGL을 사용하여 SDL의 제한을 회피할 수 있다고 하는 사람도 있을 것입니다.이는 높은 수준의 추상화에서는 SDL의 기능이 공개되지 않기 때문입니다.단, 코드가 Windows(또는 적어도 GDI 백엔드를 사용하는 Windows)로 "적게" 이식됩니다.
또한 SDL은 그래픽 외에도 오디오, 입력 등 OpenGL에는 없는 많은 작업을 수행합니다.
SDL은 일부 플랫폼에서 하드웨어 렌더링을 필요로 하는 콘텐츠의 하드웨어 렌더러로서 OpenGL을 사용합니다.이러한 플랫폼을 사용하는 경우 OpenGL은 SDL을 추상화한 기본 API입니다.
그래픽스 회전 예에 대해서: SDL 자체(CPU)보다 OpenGL(하드웨어 고속화)을 사용하는 것이 좋습니다.이는 일반적으로 구성 부하가 높기 때문입니다(특히 모든 프레임을 회전하는 비트맵이 많고 효과를 부드럽게 하고 싶은 경우).
단, 비트맵의 회전과 스케일링을 담당하는 모듈 SDL_rotozoom을 탑재한 SDL_gfx 패키지를 사용할 수 있는 것은 (이유를 제외하고) 없습니다.
츠미야SDL sd sd ★오디오, 입력 및 기타 모든 기능을 처리할 수 있을 뿐만 아니라, 사용자가 직접 구현해야 하는 많은 기능에 액세스할 수 있기 때문에 그래픽을 보다 쉽게 사용할 수 있습니다.
SDL OpenGL sd sd sd sd 。어플리케이션 내에서도 OpenGL에 액세스 할 수 있기 때문에 풀파워를 사용할 수 있습니다.
간단하게 덧붙이자면, 이런 종류의 API는 처음인 것 같기 때문에 SDL과 비슷한 API(2D 그래픽용)를 원하신다면 SFML을 보시라고 권해드릴 수 있습니다.C가 아닌 C++를 기반으로 하고 있습니다.또한 OpenGL을 기반으로 합니다. : )
SDL은 입력, 창 생성, 이미지 로딩 및 OpenGL에서 처리할 수 없는 기타 여러 기능을 처리합니다.
SDL은 오디오, 키보드, 마우스, 조이스틱 등에 대한 낮은 수준의 액세스를 제공하도록 설계된 크로스 플랫폼 멀티미디어 라이브러리입니다.OpenGL을 통해 3D 하드웨어도 지원합니다.
OpenGL은 2D 및 3D 컴퓨터 그래픽스를 생성하는 애플리케이션을 쓰기 위한 크로스 언어 크로스 플랫폼 API를 정의하는 표준 사양입니다.인터페이스는 250개 이상의 다른 함수 호출로 구성되며, 단순 원시에서 복잡한 3차원 장면을 그리는 데 사용할 수 있습니다.OpenGL은 1992년 SGI(Silicon Graphics Inc.)에 의해 개발되었으며 CAD, 가상 현실, 과학 시각화, 정보 시각화 및 비행 시뮬레이션에서 널리 사용됩니다.Microsoft Windows 플랫폼에서 Direct3D와 경쟁하는 비디오 게임에도 사용됩니다(OpenGL vs. Direct3D 참조).
언급URL : https://stackoverflow.com/questions/5769031/why-are-sdl-and-opengl-related
'programing' 카테고리의 다른 글
List.of와 Arrays.asList의 차이점은 무엇입니까? (0) | 2022.08.14 |
---|---|
NSLog C 구조(CGRect나 CGPoint 등)가 가능합니까? (0) | 2022.08.14 |
vue-module, nginx 및 직접 링크 (0) | 2022.08.14 |
Win32에서 서명되지 않은 int에 대한 더블캐스트가 2,147,483,648로 잘립니다. (0) | 2022.08.13 |
Vuejs 각 루프에 계산된 속성을 사용하는 방법 (0) | 2022.08.13 |