SDL

Simple DirectMedia Layer

홈페이지

1 개요

Sam Lantinga[1]가 만든 크로스플랫폼 UI 및 미디어 라이브러리.

2 특징

크로스-플랫폼이라서 이식이 쉽다. 윈도우, 리눅스, OSX, 안드로이드, ios 외에도 이것저것 지원한다. 그러다 보니 밸브 코퍼레이션에서도 게임을 리눅스로 이식할 때 사용했다.

라이브러리는 SDL과 이미지에 관한 SDL_image, 폰트 렌더링에 사용되는 SDL_TTF, 음악, 동영상 등을 재생할 때 사용하는 SDL_Mixer, 네트워킹시 사용하는 SDL_net 등이 기본적으로 제공되며, 그 외의 사용자가 만든 라이브러리도 있다.

다른 언어로도 많이 이식이 되었는데 C/C++은 당연하고 Java, C\#, Ruby, Python, Perl, Lua, Rust 등등에서 사용 가능하다.

3 버전

버전은 크게 나누면 1.2와 2.0 두가지가 있다.

3.1 1.2

안정된 버전은 1.2.15

SDL1 에서 가장 안정된 버전이자 마지막으로 업데이트 되었던 버전. 1.3이 개발중이었지만 바로 2.0으로 넘어갔기 때문에 1.2가 마지막이 되었다.

특징이라면 Simple DirectMedia Layer 라는 이름에 걸맞게 굉장히 간단한 기능들을 위주로 지원했다. 대신 그만큼 기능도 적었기 때문에 활용하기가 상당히 힘든 편. 본격적으로 게임을 개발하려고 하면 OpenGL을 사용해야한다. (SDL_Surface라고 픽셀 데이터를 저장할 수 있는데, 이미지 회전, 스케일 등의 간단한 기능도 지원하지 않는다.)

그래도 비디오, 오디오, 조이스틱 등 지원할 것은 다 지원했기 때문에 크게 문제는 없었고 2.0보다는 훨씬 가볍기때문에 아직도 사용하기도 한다.

3.2 2.0

안정된 버전은 2.0.3

본격적으로 무거워지기 시작한 라이브러리로 원래 1.3으로 개발중이었지만 기능이 너무 많이 추가되고 뜯어고쳐져서 호환성이 없어지자 2.0으로 바꾼 듯 하다.

장점이라면 지원하는 기능이 더욱 많아졌다는 것이다. 1.2에서는 지원하지 않던 회전, 스케일링도 지원하고 기본적으로 하드웨어 가속을 받을 수 있게 되었다.

대신 라이브러리 자체가 무거워졌고, SDL 1.2와 호환이 잘 안되며 복잡해졌다. 그리고 지원되는 플랫폼의 개수가 적어졌다
  1. 블리자드 엔터테인먼트에서 월드 오브 워크래프트를 개발하였으며 현재는 밸브 코퍼레이션 소속